تقييم الموضوع :
  • 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
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تغيير على كود الحفظ محمد خيري 6 149 منذ 2 ساعة مضت
آخر رد: محمد خيري
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
  تغيير اسم حقل او تغيير نوع البيان atefkhalf2004 5 293 31-01-24, 04:09 PM
آخر رد: atefkhalf2004
Big Grin [سؤال] سؤال على السريع أبو خالد الشكري 0 176 29-01-24, 08:58 AM
آخر رد: أبو خالد الشكري
  [VB.NET] ظهور التاريخ غير مرتب بالأقدم في datagridview مبرمج صغير 1 4 304 26-01-24, 03:41 PM
آخر رد: atefkhalf2004
  [VB.NET] التاريخ في أداة أبو سامر لطباعة DataGridView مبرمج صغير 1 17 629 26-01-24, 01:52 AM
آخر رد: مبرمج صغير 1
  [VB.NET] مشكلة التاريخ في الداتا قريد فيو مبرمج صغير 1 6 399 24-01-24, 10:12 PM
آخر رد: annagui
  سؤال بسيط يا احبتى فى الله خالد كامل1 4 314 07-01-24, 12:55 AM
آخر رد: Mujahef
  سؤال فى برمجة جهاز الباركود خالد كامل1 6 477 05-01-24, 12:25 AM
آخر رد: HALIM ELEULMA
  [VB.NET] تحويل التاريخ بين أداتين تايم بيكر في نفس الفورم محمد العموري 1 267 29-12-23, 10:44 PM
آخر رد: Kamil

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


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