الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال: تغير توقيت الجهاز بالكود من هجري الى ميلادي

مغلق
بدأه Romantic_touch في 21 مارس 2006 · 17 رد · 3,133 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

في بعض الأجهزة يكون التاريخ اللي عند الساعة هجري او ميلادي على حسب اختيار المستخدم من لوحة التحكم والخيار اللغات والاقليميات

الان لو كان محطوط ميلادي وعملنا الجملة التالي

date.today

راح يجيب لي التاريخ الميلادي

ولوكانت محطوطة هجري راح يحط الهجري

بس انا ما ابغى ارتبط بهذا الاشكال.. ابغى كود يخلي البرنامج تبعي يعطيني دائما في اي مكان من البرنامج بس التاريخ الميلادي سواء كان المستخدم حاط التاريخ بالهجري او الميلادي على اعدادات الويندوز

فكيف؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#2

السلام عليكم

شوف هذا الكود

 Dim Gregorian As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-US")

        MsgBox(Now.ToString(Gregorian.DateTimeFormat))

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

اخوي سولو

انا اعرف كيف اجيب التاريخ الميلادي والهجري

بس كيف اخلي برنامجي يكون ميلادي حتى لو النظام محطوط هجري

لأن المشكلة في دالة

date.todaye

راح تجيب تاريخ النظام وانا ما ابغى الهجري

فلو كان محطوط هجري راح يسوي مشكلة في الحسابات

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#4

اخى Romantic_touch مش فاهم عليك ياريت توضح لانه الكود السابق يجيب التاريخ الحالى بالنظام بالتنسيق الميلادى حتى لو كانت الاعدادات الاقليمية للجهاز بالهجرى :blink:

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#5

انا ابغى اخلي التوقيت حق البرنامج ميلادي حتى لو كان تاريخ البرنامج هجري

لأن توقين النظام هجري وانا كتبت الجملة date.today راح يجيب لي تاريخ اليوم بالهجري وانا ابغاه بالميلادي

فكيف اخلي تاريخ البرنامج ميلادي حتى لو كان تاريخ النظام هجري؟؟

فهمتني؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#6

:s :blink: :s :blink:

أخي Romantic_touch جواب الأخ SOLO.NET واضح وصريح بأنه يرجع لك التاريخ الميلادي مهما كان التاريخ الذي تستخدمه في نظام الويندوز أكان ميلادي أو هجري

اقتباس
How to get experience without a job, and how to get a job without experience
#7

ياسيدي انا عارف بس هل عندك كل جملة اروح اسوي هذا؟

صار شغلانة

انا اعرف الطريقة هذي

ولكن لو تقارنها بفكرة الculture انك تغيرها في مكان ويتغير معاك كل البرنامج

فهل هناك طريقة لتغير نوع التقويم في برنامجي من كام واحد؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8

هههههههههههههه

بعزي نفسي

بس وين الناس الخبيرة :(

تم حذف اول سطر

الرجاء الانتباه فى اختيار الملافظ

تم تعديل هذه المشاركة بواسطة SOLO.NET في 25 مارس 2006 في 20:11

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#9

يا أخ أنا حولت التاريخ عندي لهجري وحاولت أخذه عن طريق الفيجوال

لكن دائما يظهر بالهجري لكن مليت من هل الشغلة قمت جربت هالكود واندهشت لما طلع التاريخ 2006

وأنا تاريخي هجري قلت أعطيك يا ممكن يمشي حالوا :

MsgBox(System.DateTime.Now.Year)

جربه ما حتخسر شي

:unsure: :unsure: :unsure: :unsure:

#10

السلام عليكم

قم بكتابة هذا الكود داخل الإجرائية Sub New الموجودة في أول فورم يبدأ به البرنامج

 System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-us")
            System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("en-us")

بعد السطر التالي :

 MyBase.New()

وهذه أسهل طريقة في نظري لتجنب مشاكل التاريخ الكثيرة

معلومة صغيرة :

فورمات التاريخ للولايات المتحدة الأمريكية "en-us" هو MM/DD/YYYY , أما إذا كنت تريد إستخدام الفورمات الإنجليزية "en-GB" وهي DD/MM/YYYY

والله الموفق

#11

اخ Ammar Gaffar استخدام Sub New خاص للنسخ قبل 2005 وإذا بدك تستعملوا بالـ 2005 رح تخسر بعض الميزات المعرفة تلقائيا مثل EnableVisualStyles يللي رح تضطر ترجع تفعلها بالكود بعد ما كانت مفعلة تلقائيا ومايكروسوفت وفرت الك طريقة سهلة حتى ما تستخدم Sub New إلا في بعض الحالات الطارئة

وحل الـ 2005 الصحيح هو

1 - اختر خصائص المشروع

2 - من صفحة Application اضغط زر View Application Events

3 - من محرر الكود اختر MyApplicationEvents ثم Startup

وهنا يظهر لك اجراء يعالج فيه البرنامج عند بدئه كافة الأوامر الموجودة هنا

الآن حتى يجبر الأخ Romantic_touch برنامجه على العمل على English-US Culture مثلا للتعامل مع التواريخ الميلادية يستخدم الأمر

            My.Application.ChangeCulture("En-US")

وبهذا تصبح محتويات الملف ApplicationEvents.vb وفق ما قلناه شيئا شبيها بالتالي

Namespace My

    ' The following events are availble for MyApplication:
    ' 
    ' Startup: Raised when the application starts, before the startup form is created.
    ' Shutdown: Raised after all application forms are closed.  This event is not raised if the application terminates abnormally.
    ' UnhandledException: Raised if the application encounters an unhandled exception.
    ' StartupNextInstance: Raised when launching a single-instance application and the application is already active. 
    ' NetworkAvailabilityChanged: Raised when the network connection is connected or disconnected.
    Partial Friend Class MyApplication

        Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
            My.Application.ChangeCulture("En-US")
        End Sub
    End Class

End Namespace

وإذا كنت تعمل على 2002 أو 2003 يمكنك العمل كما قال الأخ Ammar Gaffar في الإجراء Sub New

ستحتاج للاستيرادات التالية

Imports System.Globalization
Imports System.Threading

وفي Sub New

        Thread.CurrentThread.CurrentCulture = New CultureInfo("En-Us")

وخبرنا شو بيصير معك

تم تعديل هذه المشاركة بواسطة samerselo في 25 مارس 2006 في 18:46

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#12

الأخ السائل عايز يغير الاعدادات الاقليمية بالكود يعني لو الاعدادات مضبوطه علي الهجري هو عايز يحولها الي ميلادي , والله أعلم ,

وقد يكون السبب انه عمل برنامج مثلا يقوم بادخال التاريخ وعايز يضمن ان التاريخ اللي سيتم حفظه ميلادي , فاذا كان ذلك فيمكنك أخي السائل استخدام شرح الأخوه للحصول علي التاريخ في الصوره التي تريدها , وان لم يكن ذلك ما تريد فأعتقد ان جوابك هيكون في الـ API لتغيير الاعدادات الاقليمية ,,,

#13

يا أخ مشكلتك ما لها غير حلين الأول دوال api وهو غير معلوم والثاني عن طريق

الريجستري

أنا بحثتلك عن المسار بالريسجتري ووجده لكن لم أجربه وهو يحوي جميع الاعدادات الأقليمية

المسار :

HKEY_CURRENT_USER\Control Panel\International

ممكن تجربه وكان مرح تخسر شي

:wacko: :wacko: :wacko: :wacko: :wacko: :wacko: :wacko:

#14

في الصميم يا samerselo

انا استخدم 2005 واستخدمت طريقتك وكل شي تمام 100%

نفسي ابوسك ياخي ههههههههههه

تعرف اليوم كان اخر يوم تسليم المشروع والحمدلله انحلت المشكلة

واشكر كل الشباب الباقيين اللي شاركو ويعلم الله اني فرحت بمشاركاتكم الله يعطيكم العافية

كلكم جبتو الحل بس الاخ سامرسلو افادني في 2005

واتمنى واطلب منه طلب بسيط ان ينزل موضوع بامكانية التعامل مع applicationEvents

الف شكر حبايبي :)

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#15

الأخ Romantic_touch

شكرا لك على كلامك الجميل الحقيقة ما بعرف شو بدي رد عليك

تكرم أخ Romantic_touch بالنسبة لموضوع شرح Application Events بالـ VB2005 إن شاء الله قريبا

تم تعديل هذه المشاركة بواسطة samerselo في 26 مارس 2006 في 21:01

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#16

الأخ samerselo هذا ما كنت ابحث عنه وجزاك الله خير

My.Application.ChangeCulture("En-US")

بس كيف لو كان العكس

اي كيف لو كان مخطط الجهاز ميلادي وانا اريد البرنامج يتعامل بالهجري

أظن أن الهجري بحاجة لتغير EN-US

#17

hi

to do thats wirte the same code and use the same way

but set

ar-SA

thats Culture is al sodia

#18

شكرا لك qalaloh

هذا الموضوع مغلق.

مواضيع مشابهة