19-11-2020, 07:16 PM
السلام عليكم
ممكن كود للتحقق من string على ان يكون فقط ارقام ومن 1 اللا 10
ممكن كود للتحقق من string على ان يكون فقط ارقام ومن 1 اللا 10
|
كيف اجعل string لايقبل سوا ارقام ومن 1 الى 10 فقط
|
|
19-11-2020, 07:16 PM
السلام عليكم
ممكن كود للتحقق من string على ان يكون فقط ارقام ومن 1 اللا 10
20-11-2020, 05:43 PM
كود : 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;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
20-11-2020, 06:16 PM
وعليك السلام
في خصائص الاحداث لـ edit في KeyPress كود : Case Key of
'0'..'9',#8,#13 :
else
key:=#0;
end;
20-11-2020, 06:24 PM
اشكركم لكن النص موجود ضمن string وليس ضمن Edit
20-11-2020, 07:57 PM
(آخر تعديل لهذه المشاركة: 21-11-2020, 01:38 PM بواسطة larbiparadox.)
(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)
21-11-2020, 03:35 PM
إذا كنت تستخدم نسخة XE أو أحدث, يمكنك إستعمال الانماط التعبيرية أو Regular Expressions للتحقق من نمط معين تريده أن يكون في string.
في uses أضف: PHP كود : System.RegularExpressions بعدها: PHP كود : // str هو السترينغ الذي تريد التحقق منهفي النمط, ^ تعني بداية النص, ما داخل القوسين للاختيار بين شرطين وهما [1-9] وهو يتحقق من أي رقم بين 1 و 9, ثم 10 إذا لم يتحقق الشرط الأول, ثم $ وتعني نهاية السترينغ أي يجب أن تكون بدايته ونهايته أرقاما بين 1 و 10. الانماط التعبيرية جيدة جدا أنصحك بتعلمها.
21-11-2020, 03:54 PM
(21-11-2020, 03:35 PM)sofiane201 كتب : إذا كنت تستخدم نسخة XE أو أحدث, يمكنك إستعمال الانماط التعبيرية أو Regular Expressions للتحقق من نمط معين تريده أن يكون في string. بالنسبة لي الحل الانسب ، يبقى شيء واحد تصيغها حسب برنامجك
21-11-2020, 04:10 PM
بارك الله بكم
|
|
|