منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
تحويل تاريخ الجهاز لفورمات محدد - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : تحويل تاريخ الجهاز لفورمات محدد (/showthread.php?tid=33673)



تحويل تاريخ الجهاز لفورمات محدد - hannileo - 05-03-20

السلام عليكم ورحمة الله وبركاته ,,,
اخوني عندي مشكلة بالنسبة للتواريخ في برنامجي حيث انني استخدم اداة DTpiker 
وهي لاتقبل الا فورمات MM/dd/yyyy

المشكلة انني قم بتغير نظام الويندوز  الى الفورمات شهر /يوم /سنة 
لكن عند بداية كل شهر يقوم بتحويل التاريخ تلقائي عندما يجد ان الشهر اكبر من اليوم 
يقوم بتحويله الى الفورمات القديم

واصبح البرنامج عندي لايعمل بشكل جيد لانه يعتمد على التواريخ 


هل يوجد طريقة عند فتح البرنامج يقوم البرنامج بتحويل  بتحويل فورمات الويندوز الى MM/dd/yyyy
وعند اغلاقه يقوم بارجاع الفورمات القديم 

وشكراً جزيلاً لكم


RE: تحويل تاريخ الجهاز لفورمات محدد - AL_BRNS - 16-04-20

وعليكم السلام ورحمة الله وبركاته

ممكن تغيير فورمات الاداة DTPicker

جرب التالي

PHP كود :
Private Sub Form_Load()
DTPicker1.Format dtpCustom
DTPicker1
.CustomFormat "dd" "/" "MM" "/" "yyyy"
End Sub 


اما تغيير فورمات الويندوز عند تشغيل البرنامج وارجاعه الي ماكان عليه عند اغلاق البرنامج

جرب التالي

PHP كود :
Option Explicit
Private Const LOCALE_SSHORTDATE = &H1F
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As LongByVal LCType As LongByVal lpLCData As String) As Boolean
Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As LongByVal LCType As LongByVal lpLCData As StringByVal cchData As Long) As Long
Dim lLocal 
As Long
Dim length 
As Long
Dim buf 
As String 1024
Dim a
Private Sub Form_Load()
 
   lLocal GetSystemDefaultLCID()
 
   length GetLocaleInfo(lLocalLOCALE_SSHORTDATEbufLen(buf))
 
   a Left$(buflength 1)
 
   If SetLocaleInfo(lLocalLOCALE_SSHORTDATE"MM/dd/yyyy") = False Then
    End 
If
End Sub

Private Sub Form_Unload(Cancel As Integer)
 If 
SetLocaleInfo(lLocalLOCALE_SSHORTDATEa) = False Then
 End 
If
End Sub 

بالتوفيق .