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

مشكلة في فورمات التاريخ

مغلق
بدأه seahmad في 7 أغسطس 2006 · 16 رد · 1,551 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إخواني صارلي يومين متعطل عن البرمجة بسبب مشكلة بسيطة ولكنها كبيرة ، وهي عملية تبديل الشهر مكان اليوم في التاريخ

أنظر الكود التالي:

		Dim strDate As String
		Dim dtDate As Date
		strDate = "30/01/2005"
		dtDate = CDate(D_S) ' النتيجة هنا 01/30/2005 ونلاحظ أن الشهر في الوسط
		dtDate = CDate(Format(D_D_M1, "dd/MM/yyyy")) ' هذا السطر لم يحل المشكلة في تبديل الشهر مكان اليوم وكأنه غير موجود

نتيجة تحويل التاريخ من نص إلى تاريخ هي : 01/30/2005 واستخدمت الFormat لتعديل التاريخ ولكن دون جدوى وكذلك من إلإعدادت الإقليمية وضعت طريقة إظهار التاريخ هكذا dd/MM/yyyy ولكن مازاك البرنامج مصر على إظهار اليوم مكان الشهر

أرجو من الله أن أجد عندكم حلا وجزاكم الله خيرا

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#2

السلام عليكم

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

ولأخد قيمة كل معامل على حدا جرب

حيث D and M and Y متغيرات من نوع Int

D=Now.Day

M=Now.Month

Y=Now.Year

تم تعديل هذه المشاركة بواسطة أبو عبد الله الجديعي في 7 أغسطس 2006 في 23:45

11_03_06_10_48_25_1142146105إلا-رسول-الله.jpgلاتحقرن من المعروف شيئا ولو أن تلقي أخاك بوجه طلق
#3

تأكد من ضبط Regional Setting في الـ Control Panel بطريقة صحيحة واضح أن الاعدادات لديك English USA

أو عليك بتغيير الـ Culture الخاص بالتطبيق قبل بدئه

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

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

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

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

#4

طيب جرب هذا المثال على اعتبار ان عنصر التحكم الذي فيه التاريخ اسمه text0

Me.Text0 = Format(Me.Text0, "yyyy/mm/dd")
#5

هذا هو الكود الذي سوف يغير لك فورمات التاريخ بإذن الله

انا هكذا استخدمه كالتالي

(" txtdate.text = Format(CDate(date), "dd/MM/yyyy

استخدمه وان شاء الله يشتغل معك

:) :)

تم تعديل هذه المشاركة بواسطة عرعود في 8 أغسطس 2006 في 12:11

#6

أخي الكريم الموضوع بسيط ماتشيل هم :)

اذا كنت تستخدم 2005

ادخل على my project الي بتيجي تحت اسم المشروع

وبعدين اختار البوابة Application

وحتلاقي تحت زر اسمه View Application Events

اضغط عليه بعدين حتلاقي فوق قائمتين منسدلة ع اليمين واليسار

من اللي ع اليسار اختار (MyApplication Events)

ومن اليمين (StartUp)

راح يفتح لك دالة

Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
' اضيف فيها السطر هذا عشان يزبط لك تنسيق التاريخ يوم بعدين شهر بعدين سنة ويوفر عليك تروح للكنترول بانل لكل عميل :)
			My.Application.ChangeCulture("en-GB")
		End Sub

لو في 2003 نفس الكود تقدر تسويه في اول فورم او في Sub Main

بالتوفيق حبيبي

تم تعديل هذه المشاركة بواسطة Romantic_touch في 8 أغسطس 2006 في 12:35

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

#7

جزاكم الله خيرا إخواني على ردودكم القيمة

أخي أبو عبدالله ، فكرة فصل التاريخ إلى متغيرات ثلاثة ممتازة ولكن لم تسعفني لأن الجداول مصممة على أن يكون التاريخ حقل واحد وأنا أستخدم في البرنامج عشرات الاستعلامات التي تأخذ التاريخ جملة واحدة (طبعا لايمكنني التعديل على الجداول لأنها مرتبطة ببرنامج كبير ...).. :D

أخي samerselo فعلا الاعدادات عندي هي English USA وهكذا يريدها العميل ولكن أنا عدلت فورمات التاريخ هناك أيضا إلى dd/MM/yyyy ولم يحدث تغيير.. :blink:

أخي ياسر اليوسف شكرا على الحل ولكن أنا أريد تخزين التاريخ في متغير من نوع Date وعند عمل ذلك تحصل مشكلة قلب اليوم مكان الشهر.. :s

أخي عرعود أيضا شكرا لك وإجابتك مشابه للأخ يوسف .. :P

أخي رومانتك شكرا جزيلا لك وسأجرب الإجابة الآن ويبدو لي أنها ستحل المشكلة.. B)

I'll upadeyou, Thanks

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#8

إذا كنت تريد استخدام التسيق في الإظهار فقط يمكنك استخدام الدلة ToString

انظر المصال المبسط التالي

		Dim Dt As New Date(2006, 8, 16)

		TextBox1.Text = Dt.ToString("dd/MM/yyyy")
		TextBox2.Text = Dt.ToString("MM/dd/yyyy")
		TextBox3.Text = Dt.ToString("dddd dd, MMMM, yyyy")

والنتيجة كما في الصورة بالترتيب

Date_Tostring.JPG

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

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

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

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

#9

السلام عليكم مجددا

مشكور أخي samerselo مرة أخرى ولكن أنظر ::

http://www.arabteam2000.com/Files/UserPicture/3(2).JPG

المشكلة.. حفظك الله.. أنني مضطر لتخزين التاريخ في متغير من نوع تاريخ DATE لأني سأستخدمه في الإستعلامات والتي لا تقبل سوى تاريخ بحيث يكون جملة واحدة وغير مجزأ ليوم وشهر وسنة ... يعني

إلى الآن لم تحل مشكلتي ، أنظروا إلى الصور التالية لتوضح المشكلة::

http://www.arabteam2000.com/Files/UserPicture/2(2).jpg

لاحظ التاريخ لا يقبله الcompiler إلا إذا كانت الصيغة شهر ثم يوم ثم سنة مع أن

http://www.arabteam2000.com/Files/UserPicture/1_1.jpg

مع أن الاعدادات تقول أن اليوم يسبق الشهر..

وخير دليل على ذلك الصورة التالية التي لقطتها لشريط المهام عندي:

http://www.arabteam2000.com/Files/UserPicture/4(2).jpg

إخواني المباركون فكروا معي في الحل ، (أستاذنا الغملاسي ياريت تشاركنا!)

لأني والله العظيم في ورطة والعميل منتظر مني الحل ..

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#10

السلام عليكم

يمكنك كتابة الكود التالى و سيعمل بنجاح

اولا عرف متغير من نوع date و اعطه قيمه

Dim X As Date
X = "13/8/1988"

لتتأكد انه يعمل بتنسيق يوم/ شهر/ سنه جرب الكود التالى

MessageBox.Show(X.AddDays(3))

و ستكون النتيجة

16/8/1988

ارجو لك التوفيق <_<

AlexCard.gif

Business Card

Ahmad Fathy Ahmad

Computer and Systems Department

Faculty of Engineering, Alexandria University

Cellular: +2 010 1461154

E-mail: midoalx@hotmail.com

ICQ: 148481391

#11

استعمل الدالة DateValue عند تحويل الجملة الى تاريخ

		Dim MyStr As String = "30/01/2005"
		Dim MyDate As Date = DateValue(MyStr)
		MsgBox(MyDate)
#12

يا إخوان لو قرأتم الرد رقم 9 جيدا وشاهدتم الصور لكان جوابكم مختلفا

كل الذين ردوا كان ردهم واحد

أنا أعلم أني عندما أعرض النتيجة في متغير نصي أو MsgBox ستحل المشكلة

لكن أنا أريد تخزين التاريخ في متغير من نوع تاريخ لأنه سيستخدم في الاستعلام كتارييييييييييييييييييخ

أنا أريد حل لرسالة الخطأ التالية التي تظهر جليتا في السطر الأول في الصورة التالية:

http://www.arabteam2000.com/Files/UserPicture/2(2).jpg

وإذا أراد أحد أن يستفسر أكثر فعليه بالمشاركة رقم 9

وشكرا لكم جميعا

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#13

لا اله الا الله

قلت لك بدل ما تحط علامات ## ضع علامات "" لمتغير التاريخ و سيعمل فى الاستعلامااااااااااااااااااااااااات و سيعمل فى كل شئ

AlexCard.gif

Business Card

Ahmad Fathy Ahmad

Computer and Systems Department

Faculty of Engineering, Alexandria University

Cellular: +2 010 1461154

E-mail: midoalx@hotmail.com

ICQ: 148481391

#14

وماذا تقول في الصورة التالية:

5(1).JPG

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

سأعيد التوضيح

2(2).jpg

لاحظ التاريخ لا يقبله الcompiler إلا إذا كانت الصيغة شهر ثم يوم ثم سنة مع أن

1_1.jpg

مع أن الاعدادات للتاريخ الموجودة في الويندوز وضعتها هكذا dd/MM/yyyy

هو بس لو الغملاسي هنا كان المشكلة زمات اتحلت

على العموم .. أكتر من كدة عبث .. مانابني إلا وجع الراس .. بس ألاقي الحل إن شاء الله بخبركم.. سلام

تم تعديل هذه المشاركة بواسطة seahmad في 14 أغسطس 2006 في 21:47

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

#15

أرد بالصور و الكود

   Dim D As Date = "31/8/2006"
MessageBox.Show(D.AddDays(1))

عادى يا سيدى لا تهتم حتى عندى بص الصورة

post-39097-1155581212_thumb.gif

و لكن المهم النتيجة

post-39097-1155581233_thumb.gif

AlexCard.gif

Business Card

Ahmad Fathy Ahmad

Computer and Systems Department

Faculty of Engineering, Alexandria University

Cellular: +2 010 1461154

E-mail: midoalx@hotmail.com

ICQ: 148481391

#16

حدثت لي من قبل مثل هذه المشكلة، وهي ناتجة من عدم التوافق بين ثلاث عوامل، الاول تنسيق التاريخ في قاعدة البيانات، الثاني الاعدادات المحلية للمنطقة، اخرها الاعدادات المحلية لل Visual Studio

على اي حال مرفق مثال يوضح الادخال في قاعدة البيانات وهي من نوع Access وعمل فلترة بالتاريخ

ارجو ان يكون مفيدا.

School.rar

#17

عزيزي أحمد فتحي لا أعرف كيف أشكرك فعلا كلامك صحيح طلعت المشكلة ليست بالتاريخ والنتيجة كما قلت

والأهم من ذلك إن المشكلة إكتشفت أنها ليست بالتاريخ وهي شيئ بسيط في الكود لم أنتيه له لكثرة الكود

آسف على الضجة التي أحدثتها ياإخوان .. أه أه أه أه :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

أخي abd_albaset شكرا لك وسأرى المثال الآن :huh:

فلسطين الزاهية بألوان الحب والسلام

ذلك الطعم الزيتوني الذي يتدفق عسلاً من أفواه بساتينها وحدائقها

تشتاق إليها نفوس المتقين وترنوا للسجود فيها جباه المسلمين

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

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