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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Exclamation سؤال حول المعامل Ctype ndjakoub 2 70 17-01-17, 10:54 AM
آخر رد: silverlight
  سؤال محمد بن عطية 3 104 13-01-17, 12:10 AM
آخر رد: مساعدة
  [VB.NET] مشكلة في تغيير لون خلفية الخلية في ال Datagridview Joe kad 10 232 09-01-17, 02:01 AM
آخر رد: مساعدة
  سئوال بخصوص التاريخ السيد الجوهري 2 109 08-01-17, 04:01 PM
آخر رد: السيد الجوهري
  زيادة السنين في أداة التاريخ DateTimePicker أسامة السالمي 2 112 06-01-17, 09:12 PM
آخر رد: أسامة السالمي
  تغيير قاعدة البيانات الى .bak صبري زينوبي 5 135 01-01-17, 02:33 PM
آخر رد: صبري زينوبي
  [VB.NET] سؤال في text box engmedomed@gmail.com 1 79 31-12-16, 07:20 PM
آخر رد: مساعدة
  [VB.NET] سؤال في الرسم البياني engmedomed@gmail.com 0 63 27-12-16, 11:42 PM
آخر رد: engmedomed@gmail.com
  .سؤال محيرني.. محمد 2017 4 157 25-12-16, 10:02 PM
آخر رد: محمد 2017
  اول سؤال لي في منتداكم الرائع ..... من اين ابداء وبما ابداء البرمجة zin1zamanh 16 331 23-12-16, 06:45 PM
آخر رد: zin1zamanh

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


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