![]() |
|
[سؤال] إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [سؤال] إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز (/showthread.php?tid=29487) |
إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - السندبااد - 25-04-19 السلام عليكم ورحمة الله وبركاته
عندي تاريخ بهذا التنسيق:
20/04/2019
قد يدون تنسيق الجهاز بهذا الشكل:
20-04-2019
أو بهذا الشكل:
2019/04/20
أريد تعديل الكود التالي بحيث تتم العملية بنجاح مهما كان تنسيق التاريخ بالجهاز علماً أنني أريد تنسيق التاريخ عند الإدخال هكذا: dd/MM/yyyy
جربت الكثير من الطرق ولكن لم تنفع، ووالملف بالمرفقات، وهذا هو الكود:
كود : If IsDate(TxtBDate.Text) ThenRE: إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - elgokr - 25-04-19 وعليكم السلام ورحمة الله وبركاته
مرحباً اخى السندبااد
القي نظرة على الكود بهذا الشكل كود : If IsDate(TxtBDate.Text) Thenبمجرد استخدام CDate
فهنا يعنى التاريخ مدخل يوم شهر سنة أو شهر يوم سنة
سيكون بالنهاية تاريخ مهما اختلف وضع التنسيق بالجهاز والمدخل
وياتى دور كود : .ToString("dd/MM/yyyy")وهنا لتحديد طبقاً لما تريده
تعال انت كده واكتب التاريخ بهذا الشكل كود : يوم شهرفقط مسافة بين الرقمين وبدون تحديد السنة
الان تعال وجرب بهذا الشكلكود : 24 4 2019طيب تعال وجرب بهذا الشكل كود : 24-4-2019والشكل العام كود : 24/4بالنهاية راجع هذا الرد وكذلك الموضوع
اتمنى انها تفيدك فى طريقة استخدام لادخال التاريخ
تحياتى لك
وتمنياتى لك التوفيق
وصحيحة نقطة اخيرة ونسيت تعديلها والتحدث بخصوصها
على هذا السطر لكود شرط التحققكود : If IsDate(TxtBDate.Text) Thenيفضل ان تجعله بهذا الشكل كود : If Date.TryParseExact(TxtBDate.Text, "dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture, Globalization.DateTimeStyles.None, DatePc) Thenوضع اعلى هذا السطر لشرط التحقق هذا الكود كود : Dim DatePc As Dateبكده اى كان تنسيق الجهاز حتى ولو كان مثل كود : الخميس 25 ابريل 2019فقط سيسلز بان يكون التاريخ المدخل فى TextBox
عبارة عن هذا الشكلكود : 25/04/2019ويلزم وضع 0 فى الشهر اذا كان الرقم من 1 : 9
ولتجنب وضع السفر ويكفي اذا كان التاريخ مدخل مثل هذا كود : 25/4/2019بانه يكفي الغرض فقط استبدل كود : dd/MM/yyyyالى كود : dd/M/yyyyبكده سيقبل التاريخ بهذا الشكل كود : 25/4/2019وايضاً كود : 25/04/2019تحياتى لك
وتمنياتى لك التوفيق
RE: إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - السندبااد - 25-04-19 جزاك الله ووالديك الفردوس الأعلى أخي العزيز elgokr
لكن للأسف لم يتم الحل عندما يكون تنسيق التاريخ في الجهاز بهذا الشكل:
[attachment=21414]
يمكنك التأكد بنفسك علماً أنني أستخدم ويندوز 10
RE: إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - elgokr - 25-04-19 فى البداية اسف على التاخير اخى السندبااد
بمجرد ما اطلعت على ردك فخطر فى بالى اكثر من طريقة
ولكن حتى اضع الطريقة التى لا تسبب مشكلة مهما اختلف تنسيق التاريخ
فاحببت اختبر كل ما خطر فى بالى
وسامحنى لكوني لم اختبر كل ما فى بالى ايضاً
لان من ضمنها اذا كان التنسيق كما مشار اليه او غيره ولكن مع التاريخ الهجري ايضاً
لكن بمجرد ما وصلت لك الفكرة من المؤكد انت ستتمكن من فعل الامر
ما خطر فى بالى هو التلاعب فى قيمة TxtBDate
حيث سيتم اجبار المستخدم ادخال التنسيق بهذا الشكل كود : 25/4/2019فيتم التلاعب بعكس القيمة لتصبح كود : 2019/4/25بكده لا يعترض مع اى تنسيق مهما كان واى ما يتم اختياره
ويتم من خلال هذا الكود كود : Dim GetDate As Dateالكود كاملاً للحدث كود : Dim GetDate As Dateاتمنى هذه الفكرة تناسبك
او تاتى لديك من اسلوب وافكار من خلالها
تم اختبار هذا الكود على اكثر من تنسيق
ويعمل البرنامج بدون اى مشكلة
تحياتى لك
وتمنياتى لك التوفيق
RE: إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - السندبااد - 26-04-19 جزاك الله خيراً أخي العزيز elgokr
بالفعل فكرت بهذا الحل، فألف شكر لك على هذه الفكرة الطيبة
وكنت أتمنى لو أن مايكروسوفت أوجدت لنا حلاً يتعامل من خلاله البرنامج مع تنسيق محدد من التاريخ بغض النظر عن تنسيق تاريخ الجهاز، فقد أوجدوا حلاً لمشكلة التاريخ الهجري أو الميلادي؛ حيث يمكنك اعتماد تاريخ معين ضمن برنامجك؛ كالتاريخ الهجري مثلاً، بغض النظر عن نوع التاريخ في الجهاز، فكنت أتمنى لو وُجِدَ مثل هذا الحل لمشكلة تنسيق التاريخ.
أكرر شكري لك أخي العزيز
RE: إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز - elgokr - 26-04-19 (26-04-19, 12:11 PM)السندبااد كتب : لى ولك وللجميع بامر الله
بخصوص ما يخص مايكروسوفت فالامر بحاجة لمن يرسالهم
كا نتبيه بوجود مشكلة حتى تتم تحديثها مع التحديثاً والاضافات
كذلك لا يوجد اى شئ يبني من البشر الا وبه عيب
لان الانسان ليس على علم ولا دراية بكل ما قد يحدث مستقبلياً
بل على علم لما دار وحدث مسبقاً فقط فحتى نحن خلال مايكروسوفت يمكننا عمل Function
او مكتبة يتم استخدامها تعالك مثل هذا الامر فقط كل ما يحتاج بعض الوقت
واختبار الامر على اكثر من نظام و تنسيق حتى يتمكن من اعتماده للجميع وليس لشخص واحد فقط
تحياتى لك
وتمنياتى لك التوفيق
|