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

مشاهدة النسخة كاملة : محتاجة لهالخدمة لوسمحتم



عاشقة فيجول
21-02-2005, 08:21 AM
مرحبا ياأخوان....بدي اطلب هالخدمة انا عندي ببرنامجي عاملة فورم حساب الاوزان بالكيلو وحاطة للمستخدم تيكست بوكس يضع فيه الرقم اللي بدو يحسبه ويضغط على زر حساب وتطلع النتيجة ...انا الحين زابط عندي الكود وكل شي والحمد لله...بس في نقطة اعترضتني انه لمن اضع حرف بدل رقم في التيكست بوكس يطلع خطأفي البرنامج...فابغى منكم مساعدتي كيف اقفل لوحة مفاتيح المستخدم بحيث انه مايدخل في هذا التيكست بوكس غير ارقام بس...بليييييييييييييييييييييز الله يسعدكم ويوفقكم مستعجلة

ibn_alqalam
21-02-2005, 09:51 AM
بدلا من قفل لوحة المفاتيح، لم لا تفحصي البيانات المدخلة لتري اذا ما كانت من النوع الذي يتوقعه برنامجك؟

لست بمبرمج VB ولكن في اللغات، هناك دالات للفحص والمقارنة. لغة BASIC القديمة كان لها isNumber, isReal, and isInteger، اذا صحت ذاكرتي.

TeamFlex
21-02-2005, 02:53 PM
طريقة ابن القلم صحيحية ولكن تعديل بسيطة عليها مع شرح كتابة الكود


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

Private Sub Command1_Click()
If IsNumeric(Text1.Text) Then
Label1.Caption = Val(Text1.Text) + 5
Else
MsgBox "لم تدخل رقماً"
End If
End Sub

اذا كان المدخل رقم فسيقوم باتمام العملية.. و اذا كان المدخل حروف او رموز فستظهر رسالة تنبيهية
عدلي على الكود كما تشائين

عاشقة فيجول
21-02-2005, 07:09 PM
مشكوريين اخواني ماقصرتم ...بس على فكرة انا بشتغل على فيجول بيسك 7 أتمنى الاقي طلبي عندكم...ولكم مني جزبل الشكر

shabb_shabb
25-02-2005, 11:12 AM
اخي عندي الحل على فيجول بيسك6 ولا ادري اذا يشتغل على فيجول بيسك 7
ومع ذالك لك الطريقه
اذهب الى الزر الذي تضغط علي لكي يحسب لك واضف عليه الكود التالي ومن ثم اكتب الكود الخاص بك مع هذا الكود وتفضل الان
Private Sub Command1_Click()
On Error Resume Next
Label1.Caption = Text1.Text * 2
If Err Then
Label1.Caption = Text1.Text * 2
ans = MsgBox("القيمة المدخلة ليسة رقم", vbOKOnly + vbCritical, "خطأ")
If ans = vbOK Then
Err.Clear
End If
End If
End Sub
ملاحة اخي لقد انشئت هذا الكود انا بلمثال على الة حاسبة طلبة منها انت تضرب العدد الموجود باداة النص برقم2 بس لكي اشرح لك
نتمنا ان يساعدك الكود وشكرا

New friend
25-02-2005, 11:01 PM
والله أنا عندي اقتراح أن تجعلي البرنامج يأخذ القيمة الرقمية فقط فإذا هناك حرف يحسب كأنه غير موجود وإذا كان هناك أحرف فقط فيحسب القيمة كأنها صفر

أنك بدل ماتكتبي
text1.tex
تكتبي
val(text1.text)
وهكذا يحس القيمة الرقمية فقط

Argonaut
25-02-2005, 11:35 PM
بسم الله الرحمن الرحيم

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

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

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then
KeyAscii = 0
End If
End Sub


وشكرا مع التقدير