برامج

عندى مجموعة استفسارات ... ممكن تساعدونى ؟ [الأرشيف] - برامج نت

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : عندى مجموعة استفسارات ... ممكن تساعدونى ؟


محمود المصرى188
04-26-2007, 08:47 PM
السلام عليكم ورحمة الله وبركاته

فى الفيجوال بيسك
اولاً : عايز اعرف ازاى اظهر رسالة عند الكتابة فى مربع نص خاص بكتابة الارقام فقط
او العكس اظهار رسالة عند الكتابة فى مربع نص خاص بكتابة النصوص فقط .

ثانياً :هل يمكن ان احدد عدد نسخ طباعة النموذج ؟ لو الجواب بنعم فكيف .

ولكم خالص الشكر

يــس
04-26-2007, 09:38 PM
وعليكم السلام ورحمة الله وبركاته
بالنسبة لتساؤلك الأول :
الكود الخاص باظهار رسالة عند الكتابة فى مربع نص خاص بكتابة الارقام فقط :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("0") Or KeyAscii > Asc("9")) And (KeyAscii <> 8) Then
KeyAscii = 0
MsgBox "..."
End If
End Sub
الكود الخاص باظهار رسالة عند الكتابة فى مربع نص خاص بكتابة النصوص فقط :
Private Sub Text2_KeyPress(KeyAscii As Integer)
If (KeyAscii < 97 Or KeyAscii > 122) And (KeyAscii < Asc("A") Or KeyAscii > Asc("Z")) And (KeyAscii <> 8) And (KeyAscii <> 32) Then
KeyAscii = 0
MsgBox "..."
End If
End Sub
بالنسبة للتساؤل التاني ما فهمت المقصود ,تكرم بالشرح أخي

محمود المصرى188
04-27-2007, 10:21 AM
اشكرك جدددا يا أخى تسلملى
انا اقصد ان الكود الخاص بطباعة الفورم هو

Private Sub Command1_Click()
Form1.PrintForm
End Sub

ولما انفذ الامر يتم طباعة الفورم على الفور بدون ما احدد عدد نسخ الطباعة .
هل يمكن ان احدد عدد نسخ الطبع ؟ ولو كان الجواب بنعم فكيف ؟

يــس
04-27-2007, 03:10 PM
والله ما عرفت لها حل
بس يمكن تحل المشكلة بطريقة أخرى
المستعمل يحدد عدد مرات طباعة الفورم وأنت في البرنامج تعمل Form1.PrintForm حسب عدد المرات المحددة عن طريق For كما يمكنك استعمال الTimer لترك فاصل زمني بين طباعتين متتاليتن

بالتوفيق

محمود المصرى188
04-27-2007, 03:28 PM
انا اسف طلباتى كترت
ياريت تتأكد من الكود ااثانى اللى هو خاص بكتابة نصوص فقط
انا جربته وبتظهرلى الرسالة سواء ادخلت حروف أو أرقام يعنى مش عارف ادخل فيه اى شىء

يــس
04-27-2007, 03:42 PM
الكود تمام أخي الكريم
ممكن تكون عملت الكود الأول والتاني على نفس مربع نص
تأكد من ذلك
لاحظ أني عملت الكود الأول لText1_KeyPress والتاني لText2_KeyPress

محمود المصرى188
04-27-2007, 05:59 PM
انت عامل لكتابة الاحرف الانجليزية فقط
انا عايزه يكتب عربى انا لما ادخل حروف عربية بيظهر رسالة

يــس
04-27-2007, 06:43 PM
أه حقك علي
سأبحث لك عن حل

يــس
04-27-2007, 07:11 PM
جرب أخي هذا الكود:
If (KeyAscii < Asc("ء") Or KeyAscii > Asc("ي")) And (KeyAscii <> 8) And (KeyAscii <> 32) Then
KeyAscii = 0
MsgBox "..."
End If
لم أستطع تجريبه حيث تظهر لي الحروف العربية على شكل ؟؟ كون الفيجول عندي لايدعم اللغة العربية

محمود المصرى188
04-27-2007, 11:41 PM
برده مافيش فايدة مش عايز يكتب عربى
:smailes111:

يــس
04-28-2007, 12:11 AM
Ok ,المهم الآن أخي هو أن نجد الكود ASCII للحرف الأول في اللغة العربية :ء والحرف الأخير :ي
حتى نعوضهما بالقيمتين:Asc("ء") وAsc("ي")-الدالة Asc في الفيجوال بيزك تعطيك مباشرة قيمهم لكن في حالتنا لا كون الحرفين يعوضين ب ؟ !!!
حاول أخي أن تبحث من جهتيك عن هاتين القيمتين وأنا سأفعل كذلك

بالتوفيق

@...Khalefa
04-28-2007, 03:26 AM
ممكن تحاول بالكود

Private Sub Text1_Change()
aa = Len(Text1)
For mm = 48 To 57 Step 1
Text1 = Replace(Text1, Chr(mm), "")
Next
Text1.SelStart = Len(Text1)
If aa <> Len(Text1) Then MsgBox "For Alphapatics only"
End Sub

Private Sub Text2_Change()
If Not IsNumeric(Text2) Then
Text2 = ""
MsgBox "For Numeric only"
End If
End Sub

محمود المصرى188
04-28-2007, 01:44 PM
انا جبت الـ Ascii code للحرفين
ء 193
ي 237
Private Sub text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < Asc("193") Or KeyAscii > Asc("237")) And (KeyAscii <> 8) Then
KeyAscii = 0
MsgBox "Error"
End If
End Sub

وبرده مش عايز يكتب عربى والكود صح ولا خطأ

يــس
04-28-2007, 01:53 PM
السلام عليكم
برافو عليك
بس الكود يصبح على الشكل التالي وأنا جربته تمام
Private Sub text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 193 Or KeyAscii > 237) And (KeyAscii <> 8) Then
KeyAscii = 0
MsgBox "Error"
End If
End Sub

Asc("") هذه الدالة كما قلت لك هي تعطي كود ASCII وبالتالي اذا عملت Asc("193") بتعطيك كود ASCII ل193 لكن احنا باغيين كود ASCII بتاع :ء الي هو 193 اذن نعوض Asc("ء") ب 193

بالتوفيق

يــس
04-28-2007, 01:57 PM
ممكن تحاول بالكود

Private Sub Text1_Change()
aa = Len(Text1)
For mm = 48 To 57 Step 1
Text1 = Replace(Text1, Chr(mm), "")
Next
Text1.SelStart = Len(Text1)
If aa <> Len(Text1) Then MsgBox "For Alphapatics only"
End Sub

Private Sub Text2_Change()
If Not IsNumeric(Text2) Then
Text2 = ""
MsgBox "For Numeric only"
End If
End Sub

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

بالتوفيق

محمود المصرى188
04-30-2007, 09:38 PM
اشكركم جدا يا أخوانى على المساعدة وجزاكم الله خبرا

محمود المصرى188
04-30-2007, 09:49 PM
فى الفيجوال بيسك :انا عايز لما ادوس على اى زر من لوحة المفاتيح تظهرلى رسالة
انا كتبت الكود ده

Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii <> 0) Then
KeyAscii = 0
MsgBox "هذا النموذج للقراءة فقط"
End If
End Sub

واشتغل معايا بس فيه مشكلة وهى لما اضغط على زر Del ما بتظهر الرسالة وده اهم حاجة .
ويا ترى الكود ده صحيح للغرض اللى انا عايزه ؟

يــس
04-30-2007, 10:41 PM
السلام عليكم
أخي اذا كنت ترغب في أن المستعمل ليس له حق في الكتابة أو أي شيء في مربع نص
فمن الأفضل وضع هده الخاصية على قيمة False
Text1.Enabled = False

بالتوفيق

محمود المصرى188
04-30-2007, 10:59 PM
يا أخ يا سين انا عارف الخاصية Enabled و Locked بس انا بعمل مشروع التخرج وبعمل فيه اللمسات الاخيرة مثل الرسائل والازرار وغيرها فأنا اريد عند الضغط على اى زر من لوحة المفاتيح يظهر رسالة .
او اعرف كل الـ Ascii code للوحة المفاتيح او ينحصروا بين رقم كام وكام


فى رعاية الله