![]() |
|
كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط (/showthread.php?tid=11146) |
كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - محمودد - 19-11-2020 السلام عليكم ممكن كود للتحقق من string على ان يكون فقط ارقام ومن 1 اللا 10 RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - Delphi4Us - 20-11-2020 كود : procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
// #8 is Backspace
if not (Key in [#8, '0'..'9']) then begin
ShowMessage('Invalid key');
// Discard the key
Key := #0;
end;
end;RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - larbiparadox - 20-11-2020 وعليك السلام في خصائص الاحداث لـ edit في KeyPress كود : Case Key of
'0'..'9',#8,#13 :
else
key:=#0;
end;RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - محمودد - 20-11-2020 اشكركم لكن النص موجود ضمن string وليس ضمن Edit RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - larbiparadox - 20-11-2020 (20-11-2020, 06:24 PM)محمودد كتب : اشكركم لكن النص موجود ضمن string وليس ضمن Edit سنكتب function نسميها IsValidNumber ترجع لنا قيمة منطقية صح أو خطأ ، بها يمكن التحقق إذا كانت القيمة تحتوي على نص أو أرقام و بعده تحقق أخر إذا كان محصور بين 0 و 15 كود : function IsValidNumber(s:String):Boolean;
var
iValue, iCode: Integer;
begin
val(s, iValue, iCode);
if iCode = 0 then begin
if (strTOint(s) <= 15) and (strTOint(s) >= 0) then
result := true
else
result := false
end else
result := false;
end;مثال إستدعاء الدالة بوضع قيمة في edit ، يمكن تغيير edit بمتغير أخر كود : if IsValidNumber(edit1.Text) = false then
ShowMessage('contains String! or values not between 0 and 15 ')
else
ShowMessage('ok');
IsValidNumber.rar (الحجم : 170.07 ك ب / التحميلات : 3)
RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - sofiane201 - 21-11-2020 إذا كنت تستخدم نسخة XE أو أحدث, يمكنك إستعمال الانماط التعبيرية أو Regular Expressions للتحقق من نمط معين تريده أن يكون في string. في uses أضف: PHP كود : System.RegularExpressions بعدها: PHP كود : // str هو السترينغ الذي تريد التحقق منهفي النمط, ^ تعني بداية النص, ما داخل القوسين للاختيار بين شرطين وهما [1-9] وهو يتحقق من أي رقم بين 1 و 9, ثم 10 إذا لم يتحقق الشرط الأول, ثم $ وتعني نهاية السترينغ أي يجب أن تكون بدايته ونهايته أرقاما بين 1 و 10. الانماط التعبيرية جيدة جدا أنصحك بتعلمها. RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - larbiparadox - 21-11-2020 (21-11-2020, 03:35 PM)sofiane201 كتب : إذا كنت تستخدم نسخة XE أو أحدث, يمكنك إستعمال الانماط التعبيرية أو Regular Expressions للتحقق من نمط معين تريده أن يكون في string. بالنسبة لي الحل الانسب ، يبقى شيء واحد تصيغها حسب برنامجك RE: كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط - محمودد - 21-11-2020 بارك الله بكم |