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

MSHFlexGrid

مغلق
بدأه POWER _GIRL في 21 مارس 2005 · 15 رد · 2,845 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يارب .. :rolleyes: ياكريم انت اعلم بحالي..

أخواني سؤالي الاول

1كيف امسح سجل من الفلكس جريد

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

MSHFlexGrid1.RemoveItem (MSHFlexGrid1.Row)
---------------------------------------------------------------------
I = 1
Do Until I = MSHFlexGrid1.Rows
MSHFlexGrid1.TextMatrix(I, 0) = I
I = I + 1
----------------------------------------------------------------------

فلو حذفت 2 يكون الترقيم

1

3

4

2:كيف امكن المستخدم من الكتابه مباشره (تعديل)على لحقول معين فالفلكس جريد

3:كيف اخزن الي فالفلكس جرد لجدول فالقاعده :lol: برجاء دي المره اجابات اسرع من الوجبه السريعه..

ملاحظه :التخزين فالفليكس جريد بالكود وغير مرتبط نهائيا بأي جدول

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 21 مارس 2005 في 17:54

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#2

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

أختنا الفاضلة

يا رب كل أخواتنا العرب يكونوا فى نشاطك ورغبتك القوية فى التعلم

لأنهم يتعدوا على أصابع اليدين للأسف

أحب الأول ألفت إنتباهك لأن هناك فرق بين الداتا جريد والفليكس جريد

كل واحدة ليها خصائص

أنت معتاده على الداتا جريد وهى ذات علاقة تبادلية مع البيانات لأنها مربوطة Binded بها

يعنى التغير فى البيانات يظهر على الداتا جريد والتغير فى الداتا جريد يكتب فى البيانات

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

فهى تقرأ فقط من البيانات ولا تكتب فيها

لذا فكتابتك فى البيانات من خلالها سيكون من خلال العديد من الحيل (جمع حيلة)

الإجابات:

1- بخصوص حذف صف فكودك صحيح ولكن لم يسجل فى قاعدة البيانات فيمكن أن يعود ثانية إذا أعادت الجريد قراءة البيانات

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

2- الكتابة فى الفليكس جريد ليس من خصائصها لأنها كما قلنا للقراءة فقط

فإذا أردتى كتابة شئ عليك وعلى العديد من الحيل، أنا عندى طريقتين لذلك - ولكل شيخ طريقة - كما نقول فى مصر

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

وقد أساعدك فى هذا إذا فضلتى هذه الطريقة

والثانية بأن تضيفى الحرف الذى يضغط عليه إلى محتويات الخلية من خلال الكود وهى غير مرغوبة من ناحية المستخدم لأنها تعطيه تحكم فى آخر حرف فقط فلو أحب تغيير الحرف الأول يسمسح الخلية كلها ليصل إليه - وهذه أيضا متوفرة عند الطلب

3- تعديل البيانات بعد تغيير الجريد : هذا يحتاج لحاوى وليس مجرد حيلة

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

هذا والله أعلى وأعلم

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#3

اولا اشكرك اخي على كلامك واشكرك على معلوماتك المفيده

U PUSH ME UP :lol:

انا عجبتني الطريقه التانيه لأني ابغاه يغير فالارقام ..فماراح يضايق المستخدم.. وهيا طريقه جديده وشكلها ذكيه B)

انتظرك مع الطريقه التانيه قريبا ..بإّذن الله

سؤال اخر هل ممكن اني احدد عدد السجلات فالداتا جريد كما فالفليكس جريد ..وشكرا جزيلا

MSHFlexGrid1.Rows =7

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 21 مارس 2005 في 19:48

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#4

إخواني ..هذا الملف فيلوا نموذج الحذف

العد يرجع يعد من اخر سجل ادرج حتى لو حذف

بيكمل عد على اساس انوا موجود :blink:

البرنامج مالوا علاقة بالقاعده هنا

2005PG.rar

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 22 مارس 2005 في 02:49

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#5

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

ردا على المشاركة #3

كان كلامى

اقتباس
والثانية بأن تضيفى الحرف الذى يضغط عليه إلى محتويات الخلية من خلال الكود

والكود الذى ينفذ هذه الطريقة هو

Public Sub EditKeys(Flex As MSFlexGrid, KeyAscii As Integer)
'''**** This Procedure is used to display the pressed key
'''**** into FlexGrid Control
On Error GoTo ErrHandler
Dim I As Integer
With Flex
 Select Case KeyAscii
   Case 13          ''*** Enter Key
    If .Col < .Cols - 2 Then
        .Col = .Col + 1
    Else
        If .Row = .Rows - 1 Then
            .Row = .FixedRows - 1
        End If
        .Row = .Row + 1
        .Col = .FixedCols
    End If
   Case 8          ''*** Backspace Key
    If Len(Trim(.Text)) <> 0 Then 'If current cell is not empty then...
     .Text = Left(.Text, (Len(.Text) - 1)) 'Removing a character from the right side of the FlexGrid cell's text
    End If
   Case Else
    .Text = .Text + Chr(KeyAscii) 'Append the pressed character to the right.
 End Select
End With
ErrHandler:
 If Err.Number <> 0 Then
  MsgBox Err.Description, vbInformation, Err.Source & " (" & Err.Number & ")"
  Resume Next
 End If
End Sub

والحدث الذى ينادى على هذا السب هو حدث ضغط أحد أزرار لوحة المفاتيح على الجريد

كالتالى:

Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
 If KeyAscii <> 27 Then
  Call EditKeys(MSFlexGrid1, KeyAscii)
End If
End Sub

هذا بخصوص الموضوع الأول

الموضوع الثانى وهو جعل عدد سجلات قاعدة البيانات هو عدد سطور الجريد

إذا كان قصدك أن تكون محتويات قاعدة البيانات هى فقط الجريد بعد التحديث

فالرأى عندى أن تلغى كل صفوفها ثم تعيدى إدراج صفوف الجريد واحد تلو الآخر فى قاعدة البيانات

هل هناك ما يمنع هذا؟

والله من وراء القصد وهو سبحانه يهدى السبيل

تم تعديل هذه المشاركة بواسطة abulyaman في 22 مارس 2005 في 08:59

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#6
 Call EditKeys(MSHFlexGrid1, KeyAscii)

ERROR :(

وبخصوص الحذف ليس له علاقه بالقاعده

ياريت تنظر للمثال المرفق فمشاركه

#4

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#7

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

بخصوص الخطأ كنت أفضل أن تذكرى لى نص رسالة الخطأ

ولكنى متوقع أنها بسب اختلاف الأداه - ودى غلطة منى لأنى وأنا بكتب الثانى نسيت أنى كنت بتكلم فى السب على الـ MsFlexGrid وليس MSHFlexGrid فيمكن ده سبب الخطأ

وحقكم على

أما بخصوص المثال فأنا لا أستطيع تنزيل برامج فى ظروفى الحالية - فممكن أعرف ما تريدينه بالضبط؟

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#8

يعطيك ربي الف عافيةكود ذكي حاسه اني فكوكب غير الارض :lol:

لو ممكن شرح لهذه الاسطره اكون ممتنه لك B)

 Case 13          ''*** Enter Key
If .Col < .Cols - 2 Then
.Col = .Col + 1
Else
If .Row = .Rows - 1 Then
.Row = .FixedRows - 1
End If
.Row = .Row + 1
.Col = .FixedCols
End If

-------------------------------------------- thanks too much B) MsgBox Err...Is Fantastic

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 23 مارس 2005 في 13:46

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#9

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

الأخت الفاضلة

قصاصة الكود هذه الغرض منها ببساطة الاستجابة لضغط المستخدم على زر Enter الذى يحمل الآسكى 13 كما تعلمين

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

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

هل هذه الكلمة فى التوقيع أم لها معنى آخر لم أفهمه؟

اقتباس
MsgBox Err...Is Fantastic

والله من وراء القصد وهو سبحانه على كل شئ قدير

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#10

أخي هذا كوديك قصدت به

الكود الخاص برسائل الاخطاء المدرجه فالكود ..فهذان السطران كما يبدو لي يتحكمان فالخطأ الصادر ..وهذه معلومه جديده لي فالفيجول لكنها ذكرتني بصائد الاخطاء فالأوراكل ..

هذا الكود بعد تطويرو البسيط لمطلبي ما رأيك؟ وارغب في رؤية كودك المطور

Private Sub MSHFlexGrid1_KeyPress(KeyAscii As Integer)
If KeyAscii > Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = 8 Then 'لتمكين الارقام فقط وزر الباك سبيس
Call EditKeys(MSHFlexGrid1, KeyAscii)
End If
End Sub

Public Sub EditKeys(Flex As MSHFlexGrid, KeyAscii As Integer)
On Error GoTo ErrHandler
Dim I As Integer
With Flex

If .Col <> 4 Then Exit Sub 'لتمكين تحرير حقل الكمية

Select Case KeyAscii
   Case 32                   ''*** مسافه
    .Text = ""               'لتفريغ الخليه
Case 0                        ''*** 0
    .Text = .Text + 0   ''*** 0  اضافة  
 Case Else
   If Len(Trim(.Text)) <> 0 Then 'If current cell is not empty then... 
    .Text = Left(.Text, (Len(.Text) - 1)) 'Removing a character from the right side of the FlexGrid cell's text 
   End If
  Case Else
   .Text = .Text + Chr(KeyAscii) 'Append the pressed character to the right. 
End Select
End With
ErrHandler:
If Err.Number <> 0 Then
 MsgBox Err.Description, vbInformation, Err.Source & " (" & Err.Number & ")"
Resume Next 'Description 
End If 
End Sub

لكن كود المسافه لايعمل لماذا :(

--------------------------------------------تحياتي :(

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 23 مارس 2005 في 17:12

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#11

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

بالنسبة للتحكم فى المدخلات فعندى طريقة أفضل من الشروط و If .... Then والعذابات دى

مصدر الكود كتاب الفيجوال بيزك لعزيز إسبر - مش من اختراعى يعنى - لكى لا نحمد بما لم نفعل

يعنى مثلا لو أحببت أن أمنع المستخدم من إدخال الحروف غير المقبولة فى حقل تاريخ أكتب التالى

Private Sub txtDate_KeyPress(KeyAscii As Integer)
 Dim St As String
 St = "0123456789/-"
 If KeyAscii = 13 Then SendKeys Chr(9)
  If KeyAscii > 27 Then
   If InStr(St, Chr(KeyAscii)) = 0 Then KeyAscii = 0
  End If
End Sub

تلاحظين أنى سمحت له فقط بهذه الحروف "0123456789/-" لأنها مقبولة للتاريخ

بهذا حتى مسطرة المسافات لا يمكنه إدخالها

وعلى هذا النحو حسب تصميم الجريد قد تحكمت فى كل عمود ماذا أسمح له بإدخاله - حسب مثالى أنا - بالكود التالى

Private Sub MSFlexGrid1_KeyPress(KeyAscii As Integer)
 On Error GoTo ErrFound
 If EditMode = False Then Exit Sub
 Dim St As String
 Select Case MSFlexGrid1.Col
   Case 0   ''''**** First Column for Integers Serial Numbering
    St = "1234567890"
   Case 1   '''**** Second Column for Digits with Fraction, English Letters and Symboles
    St = ".0123456789"
    St = St & "abcdefghijklmnopqrstuvwxyz "
    St = St & "ABCDEFGHIJKLMNOPQRSTUVWXYZ-+/\<>*=&%$#@!`_()^|':;,"
   Case 2   ''''**** No Digits or Symboles
    St = "abcdefghijklmnopqrstuvwxyz "
    St = St & "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   Case 5   ''''**** No Entry Here
    Exit Sub
   Case Else    ''''**** Digits with - + signals
    St = ".0123456789-+"
 End Select
 St = St & Chr(8) & Chr(13) ''''**** Always add the Backspace and Enter to the string
If KeyAscii <> 27 Then
 If InStr(1, St, Chr(KeyAscii)) <> 0 Then
  Call EditKeys(MSFlexGrid1, KeyAscii)
 End If
End If
ErrFound:
  If Err.Number <> 0 Then
    MsgBox Err.Description, vbInformation, Err.Source
    Resume Next
  End If
End Sub

وطبعا أصبح بذلك التحكم فى المدخلات أفضل من استخدام Validation لأنها تمنع قبل وليس بعد الإدخال

وأصبح تعديل المثال سهل جدا لأن الحروف المسموح بها ظاهرة عيانا بيانا أمام ترتيب العمود

أما استخدام أزرار مثل Del - أو الأسهم فلن يصلح الحدث KeyPress لابد من التعامل مع KeyUp - KeyDown

Private Sub MSFlexGrid1_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = vbKeyDelete And EditMode = True Then MSFlexGrid1.Text = ""
End Sub

لألغاء محتوى خلية عند ضغط زر Del

هذا والله سبحانه أعلى وأعلم

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#12

وعليكم السلام على الساده الكرام

الشكر الجزيل لك أستاذي abulyaman

If KeyCode = vbKeyDelete And EditMode = True Then

استاذي هذا الكود بعد مسح

And EditMode = True

اتنفذت العمليه ..ماهذا الكود..

وماذا تقصد بي Validation !

Dim St As String 'عرفنا متغير
St = "0123456789/-"   'مررنا له قيم
If KeyAscii = 13 Then SendKeys Chr(9) 'إذا كان الضغط على زر الادخل فماذا!!!!! يفعل
 If KeyAscii > 27 Then   'إذا كان الضغط على زر!!!! لم اعرف ما هوا زر هذا الرقم
  If InStr(St, Chr(KeyAscii)) = 0 'وهنا إذا !!!!لم افهم 
Then KeyAscii = 0 'فلاتقم بعمل شيء
 End If

يحياتي لك-----------------------------------------------------------------------

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#13

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

بخصوص EditMode - معلش لأنى نسخت الكود من برنامج عندى ونسيت حذفها - لكن هى متغير Boolean منطقى عرفته فى الـ General Declaration يعرف حالة البرنامج هل هو فى وضع يسمح للمستخدم بالكتابة أم لا، يعنى صورة من صور التحكم فى صلاحيات المستخدم، أرجو أن تكون واضحة.

أما Validation فهى حدث التحقق من الصحة لو ذهبت لأحداث الأدوات لوجدتيها وستجديها تتأثر بمتغير يسمى Cancel إذا كان صحيحا True فلن يسمح بمغادرة الأداة والشرط غير مطبق - حاولى الاطلاع على موضوعها فى التعليمات ثم إن غمت عليكى سأوضحها بمثال.

أما الآسكى 27 فهو خاص بزر Esc الهروب لعدم تأثر الحدث به استثنيته

اقتباس
If InStr(St, Chr(KeyAscii)) = 0 'وهنا إذا !!!!لم افهم

لدالة InStr دالة بحث تبحث عن سلسلة حرفية داخل سلسلة حرفية أخرى وإن لم تجدها تعود بصفر وأن وجدتها تعود بموقعها - يعنى رقم أكبر من الصفر - لهذا قلت إن كانت = صفر يعنى غير موجود فاجعل الحرف المدخل كأن لم يدخل يعنى لا تستقبل الأداة Text الحرف

وقصدى أفضل من الفاليداشن أنها لن تسمح بدخول الحرف أما الـ Validation فسيترك الحرف يدخل ثم عند مغادرة الأداة سيتحقق من صحته

اللهم لا سهل إلا ما جعلته سهلا وأنت سبحانك تجعل الحزن إن شئت سهلا

تم تعديل هذه المشاركة بواسطة abulyaman في 25 مارس 2005 في 18:51

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#14

أستاذي abulyaman بالنسبه لي EditMode فالصورة واضحه ..أما :( لم أجد شيء كهذا ..

ولم أفهمك.. ياريت توضحها لي

أما عن الكود

SendKeys Chr(9)

لم تخبرني عمل هذا الكود أستاذي :unsure:

وشرحك واضح والكود رائع الصنع تحياتي لك.

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#15

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

أعتقد أنك تعرفين معنى Ascii ؟

ولكن للمعرفة العامة :

هى أرقام مقابلة لأزرار الحروف فى لوحة المفاتيح تبدأ من 0 وحتى 255 - ومقابل كل حرف رقم من الأسكى يعرفه الكمبيوتر

فمثلا إذا أردت معرفة الآسكى المقابل لحرف A نستخدم دالة Asc("A") سيكون الناتج 65

والعكس إذا أردت معرفة الكرف المقابل لرقم 97 نستخدم CHR(97) وسيكون الناتج a أى أن حتى الحروف الكبيرة والصغيرة تختلف فى الأسكى

كل هذا مقدمة، أما الإجابة فهى الآسكى كود 9 يقابله مفتاح الجدولة Tab فى لوحة المفاتيح

وبذلك أخبر البرنامج بأن يتخدم زر الإدخال الذى كوده 13 Enter ليرسل زر الجدولة Tab 9

والسبب أن أغلب المستخدمين معتادين على لوحة الأرقام اليمنى فى التعامل مع اإدخال - ومعهم حق - فبدلا من الذهاب لزر الجدولة أقصى اليسار يستخدم زر الإدخال عند أصغر أصابعه وأقربها للرقم ، أليس مهمتنا تيسير عمل المستخدم؟

أرجو أن يكون كلامى واضح لأنى كتبته على عجالة

الله وسّع لنا أبواب العلم وزدنا من علمك الواسع وزدنا تقى

عن عبدالله بن عمر رضي الله عنهما أن رسول الله صلى الله عليه وسلم قال :

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

رواه الطبراني في الكبير

#16

مفهوم جدا جدا جدا أشكرك

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

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

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