تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال في تغيير فورمة التاريخ
#1

ولله الحمد إنتهيت من عمل برنامج خاص بشؤن العاملين في الشركة التى اعمل بها ولكن عند مشكلة مع التاريخ وهي عند تثبيت البرنامج على الجهاز يجب تغيير فورمة التاريخ من اي شكل الى الشكل التالي
yyyy/MM/dd
وذلك من control panel فهل من طريقة أجعل بها البرنامج بقوم بفحص فورمة التاريخ وضبطها من تلقاء نفسه عندما يجد انها مختلفة عن الفورمة المطلوبة
جزاك الله خيرا
الرد }}}}
تم الشكر بواسطة:
#2
عن طريق محرر الرجستري تستطيع تغير التنسيق الى yyyy/MM/dd

استخدم اكواد vb.net لتغير القيمة بداخل محرر الرجستري بالتنسيق المناسب لك

مسار القيمة في محرر الرجستري كما تظهر في الصورة

[ATTACH=CONFIG]993[/ATTACH]


بالتوفيق


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#3
كمال المجيدي كتب :عن طريق محرر الرجستري تستطيع تغير التنسيق الى yyyy/MM/dd

استخدم اكواد vb.net لتغير القيمة بداخل محرر الرجستري بالتنسيق المناسب لك

مسار القيمة في محرر الرجستري كما تظهر في الصورة

[ATTACH=CONFIG]993[/ATTACH]


بالتوفيق


شكرا يا اخ كمال على المشاركة
ولكن الطريقة هذة تعتدم على ان المشتخدم هو الذى يقوم بها وليس البرنامج
انا اريد البرنامج ان بقوم بها من تلقاء نفسه
الرد }}}}
تم الشكر بواسطة:
#4
اقصد ان تقوم بكتابة كود يقوم بتنفيذ كل هذا من داخل البرنامج :

تابع معي :

قم بتعريف مكتبة
PHP كود :
Imports Microsoft.Win32 

ارسل التنسيق المناسب لك الى الرجستري عن طريق الكود التالي :
PHP كود :
Dim regKey As RegistryKey
        regKey 
Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sShortDate""yyyy/MM/dd")
        
regKey.Close()

        
regKey Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sLongDate""yyyy/MM/dd")
        
regKey.Close() 


بعد ذالك تحتاج الى عملية إنعاش الويندوز لإظهار التغيرات على الجهاز عن طريق الكود التالي :
PHP كود :
For Each ObjProcess As Process In Process.GetProcessesByName("explorer")
            
ObjProcess.Kill()
        
Next
        Process
.Start("explorer"



بهذا يصبح الكود كاملاً بهذا الشكل :
PHP كود :
Imports Microsoft.Win32

Public Class Form1

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
     
        Dim regKey 
As RegistryKey
        regKey 
Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sShortDate""yyyy/MM/dd")
        
regKey.Close()

        
regKey Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sLongDate""yyyy/MM/dd")
        
regKey.Close()
  

     For 
Each ObjProcess As Process In Process.GetProcessesByName("explorer")
            
ObjProcess.Kill()
        
Next
        Process
.Start("explorer")
    
End Sub
End 
Class 


قد تحصل على طرق اخرى ولكن هذه احدى الطرق

اتمنى لك التوفيق
الرد }}}}
تم الشكر بواسطة:
#5
كمال المجيدي كتب :اقصد ان تقوم بكتابة كود يقوم بتنفيذ كل هذا من داخل البرنامج :

تابع معي :

قم بتعريف مكتبة
PHP كود :
Imports Microsoft.Win32 

ارسل التنسيق المناسب لك الى الرجستري عن طريق الكود التالي :
PHP كود :
Dim regKey As RegistryKey
        regKey 
Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sShortDate""yyyy/MM/dd")
        
regKey.Close()

        
regKey Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sLongDate""yyyy/MM/dd")
        
regKey.Close() 


بعد ذالك تحتاج الى عملية إنعاش الويندوز لإظهار التغيرات على الجهاز عن طريق الكود التالي :
PHP كود :
For Each ObjProcess As Process In Process.GetProcessesByName("explorer")
            
ObjProcess.Kill()
        
Next
        Process
.Start("explorer"



بهذا يصبح الكود كاملاً بهذا الشكل :
PHP كود :
Imports Microsoft.Win32

Public Class Form1

    
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
     
        Dim regKey 
As RegistryKey
        regKey 
Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sShortDate""yyyy/MM/dd")
        
regKey.Close()

        
regKey Registry.CurrentUser.CreateSubKey("Control Panel\International")
        
regKey.SetValue("sLongDate""yyyy/MM/dd")
        
regKey.Close()
  

     For 
Each ObjProcess As Process In Process.GetProcessesByName("explorer")
            
ObjProcess.Kill()
        
Next
        Process
.Start("explorer")
    
End Sub
End 
Class 


قد تحصل على طرق اخرى ولكن هذه احدى الطرق

اتمنى لك التوفيق

شكرا يا اخ كمال على الإهتمام
ولكن هذا الحل لم يجدي نفعاً حتى اني جرت حل اخر وهو
Format(Now, "yyyy/MM/dd")
ولكن هو الأخر لم يجدي نفعاً
المشكلة تمكن انه عندي تخزين تاريخ ميلاد شخص ما (مثلا تاريخ ميلاد 10/9/1982) بفومة التاريخ المطلوبة تظهر المشكلة عند الأستعلام حيث عند الأستعلام عن مواليد يوم 10/9/1982 تظهر مواليد يوم 9/10/1982 وهذا خطأ فادح
أرجوا الأفادة الموضوع مهم للغاية
جزاكم الله خيرا
الرد }}}}
تم الشكر بواسطة:
#6
اخي MatrixShahin
بالنسبة لتغير التنسيق في النظام الحل كما ذكرت في المشاركة السابقة


إقتباس :لمشكلة تمكن انه عندي تخزين تاريخ ميلاد شخص ما (مثلا تاريخ ميلاد 10/9/1982) بفومة التاريخ المطلوبة تظهر المشكلة عند الأستعلام حيث عند الأستعلام عن مواليد يوم 10/9/1982 تظهر مواليد يوم 9/10/1982 وهذا خطأ فادح

اخي تاكد من تنسيق التاريخ في اداة التاريخ لبرنامجك
اذا كنت تستخدم الاداة DateTimePicker1 يجب عليك تعديل الخصائص لها حتى يظهر التاريخ بالتنسيق yyyy/MM/dd (مثلا تاريخ ميلاد 10/9/1982) وليس العكس

اذهب الى خصائص الاداة وغير فيها التالي :
1- غير خاصية Format الى القيمة Custom
2- ادخل التنسيق التالي yyyy/MM/dd الى الخاصية CustomFormat

كما في الصورة

[ATTACH=CONFIG]1019[/ATTACH]


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#7
اخي الكريم
إليك هذا الكود وهو سوف يغير لك الصيغة المستعملة للتاريخ حسب ما تريد
في مثالنا هذا سوف يكون التاريخ المستخدم في البرنامج حقك (يوم/شهر/سنة) بغض النظر عن نوع التاريخ المستخدم في ويندوز
يجب وضع الكود Application events class
في الحدث MyApplication_Startup
بالتوفيق إن شاء الله

كود :
Dim newCultureDefinition As CultureInfo
newCultureDefinition.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy"
            Thread.CurrentThread.CurrentCulture = newCultureDefinition
الرد }}}}
تم الشكر بواسطة:
#8
t.alkathiri كتب :اخي الكريم
إليك هذا الكود وهو سوف يغير لك الصيغة المستعملة للتاريخ حسب ما تريد
في مثالنا هذا سوف يكون التاريخ المستخدم في البرنامج حقك (يوم/شهر/سنة) بغض النظر عن نوع التاريخ المستخدم في ويندوز
يجب وضع الكود Application events class
في الحدث MyApplication_Startup
بالتوفيق إن شاء الله

كود :
Dim newCultureDefinition As CultureInfo
newCultureDefinition.DateTimeFormat.ShortDatePattern = "dd-MM-yyyy"
            Thread.CurrentThread.CurrentCulture = newCultureDefinition

شكرا يا اخ t.alkathiri على الإهتمام
هل ممكن مزيد من التوضيح حول هذا الكود واين اضعه
الرد }}}}
تم الشكر بواسطة:
#9
MatrixShahin كتب :شكرا يا اخ t.alkathiri على الإهتمام
هل ممكن مزيد من التوضيح حول هذا الكود واين اضعه

انا في انتظار الرد يا اخ t.alkathiri
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] اضافة التاريخ في الطباعة في الريبورت فيور hglogtd 7 57 منذ 17 دقيقة مضت
آخر رد: فاطمة غ
Wink سؤال في اضافة وسحب اصناف من المخزن khadija_seedi_ali 2 53 منذ 4 ساعة مضت
آخر رد: khadija_seedi_ali
  سؤال حول Combobox noway 2 47 06-12-16, 04:26 AM
آخر رد: amgad525
  تثبيت التاريخ علي الفورم ddemed 3 88 04-12-16, 05:45 PM
آخر رد: ddemed
  تغيير قاعدة البيانات الى .bak زيد زينوبي 3 54 03-12-16, 07:07 PM
آخر رد: ابراهيم النعيمي
  تغيير قاعدة البيانات من اكسس الى sql hglogtd 2 106 26-11-16, 03:03 AM
آخر رد: hglogtd
  [VB.NET] خطأ في التاريخ tifagreet 2 81 16-11-16, 04:02 PM
آخر رد: السرور
  [VB.NET] سؤال كيف يمكن معرفة التغير في قاعدة البيانات وليد الزنتاني 2 114 10-11-16, 01:20 AM
آخر رد: وليد الزنتاني
Lightbulb [VB.NET] سؤال حول التعامل مع الماسح الضوئي salhigc 3 122 02-11-16, 04:15 PM
آخر رد: salhigc
  [VB.NET] تحويل التاريخ لسلسلة نصية tifagreet 1 91 01-11-16, 01:28 PM
آخر رد: ممدوح

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم