logo

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
Hatem Eissa hassona229-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة اكسيل مشاريع جاهزه



أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





18-09-2017 06:24 مساءً
السلام عليكم ورحمة الله
أقدم لكم اليوم طريقة لكتابة التاريخ على TextBox بطريقة إحترافية وذلك بإستعمال الدالة (Len):
من المعروف أن كتابة التاريخ يكتب عادة في TextBox بهذه الطريقة : اليوم ثم نكتب/ ثم الشهر ثم / ثم السنة
لكن أنا أريد كود بمجرد الإنتهاء من كتابة اليوم يضع لـ :" / "(سلاش) و كذلك عند الإنتهاء من كتابة الشهر . وهذا كله لإختصار الوقت و التقليل من الأخطاء عند إدخال التواريخ
كيف يتم ذلك ؟.
بعد إدراج يوزر فورم و TextBox كما ههو موضح في الصورة
MjQ1MTA0MQ42422017-09-18_171316

ثم نذهب للخصائص ومن خلال الخاصية MAXLength نضع الرقم 10 يعني طول النص هو 10 حروف
MjMzNzA0MQ1001002017-09-18_172119
ثم نقوم بإدراج الكود التالي
CODE
Private Sub TextBox1_Change()
Dim x As Integer
x = Str(Len(TextBox1.Text))
If x = 2 Then
TextBox1.Text = TextBox1.Text & "/"
End If
If x = 5 Then
TextBox1.Text = TextBox1.Text & "/"
End If
End Sub

وشكــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــرا
 
 




توقيع :Kamel meraghni

<big> الحمد لله وكفى والصلاة والسلام على الحبيب المصطفى </big>


142

look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  18-09-2017 06:47 مساءً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36759
الاعجاب : 186
بارك الله فيك أخي العزيز كامل ومشكور على الفكرة الجميلة
جزاك الله خيراً

يمكن اختصار الكود بهذا الشكل
CODE
Private Sub TextBox1_Change()
    Dim x As Integer
    x = Len(TextBox1.Text)
    If x = 2 Or x = 5 Then
        TextBox1.Text = TextBox1.Text & "/"
    End If
End Sub




look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  18-09-2017 07:33 مساءً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 182
المشاركات : 107
الجنس :
تاريخ الميلاد : 23-10-1984
قوة السمعة : 754
الاعجاب : 2
شكرا اخي العزيز ياسر
لكن عندي سؤال مالعمل عندما تريد المسح من لوحة المفتيح اكيد سوف تجد مشكلة عند الوصول الى السلاش/



توقيع :Kamel meraghni

<big> الحمد لله وكفى والصلاة والسلام على الحبيب المصطفى </big>


142

look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  18-09-2017 07:46 مساءً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36759
الاعجاب : 186
جرب الكود بهذا الشكل
CODE
Private Sub TextBox1_Change()
    Dim x       As Integer
    
    x = Len(TextBox1.Text)
    If x = 2 Or x = 5 Then
        TextBox1.Text = TextBox1.Text & "/"
    End If
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 8 Then TextBox1.Text = ""
End Sub




look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  18-09-2017 08:59 مساءً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 15-09-2017
رقم العضوية : 484
المشاركات : 16
الجنس :
تاريخ الميلاد : 10-5-1991
قوة السمعة : 26
الاعجاب : 0
رائعة جدا.

لكن في حالة أن الشهر أقل من 10 يجب كتابة صفر قبل كتابة الشهر مثلا لو اريد اكتب شهر 9 لازم اكتب 09 حتى يكون التاريخ بالشكل الصحيح.


هل هناك حل لهذة المشكلة ؟




look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  18-09-2017 10:45 مساءً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36759
الاعجاب : 186
أخي الكريم عبد الله
المنطق في الحالة التي تذكرها سيكون غير صحيح
نفترض أنك أدخلت رقم 1112017
كيف سترجمه؟
يمكن أن يقرأ على أنه 01 / 11 / 2017 ويمكن أن يقرأ على أنه 11 / 01 / 2017 ...




look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  19-09-2017 12:30 مساءً   [6]
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 182
المشاركات : 107
الجنس :
تاريخ الميلاد : 23-10-1984
قوة السمعة : 754
الاعجاب : 2
وهو كذلك أستاذ ياسر
و كتعقب على الكود الماضي هذه الكود الذي قصدته في السؤال يعني يمسح التاريخ رقم برقم وليس دفعة واحدة
CODE
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
x = Len(TextBox1.Text)
 If x = 6 And KeyCode = 8 Then
TextBox1.Text = Left(TextBox1, 4)
End If
If x = 3 And KeyCode = 8 Then
TextBox1.Text = Left(TextBox1, 1)
End If
End Sub

شكرا



توقيع :Kamel meraghni

<big> الحمد لله وكفى والصلاة والسلام على الحبيب المصطفى </big>


142

look/images/icons/i1.gif كتابة التاريخ بشكل إحترافي
  19-09-2017 02:21 مساءً   [7]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36759
الاعجاب : 186
أخي العزيز كامل يمكن تطويع الأكواد لتتناسب مع أي شيء تريده .. المهم في الأمر هو كيفية تطويع الكود وفهم الكود لتتمكن من استخدامه بالشكل الذي تريده
تقبل تحياتي




اضافة رد جديد اضافة موضوع جديد




الكلمات الدلالية
كتابة ، التاريخ ، بشكل ، إحترافي ،









اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 01:02 AM