كيف ادخال عدد طوله اكثر من 12 رقم
#1
Question 
السلام عليكم و رحمة الله و بركاته
كيف ادخال عدد طوله اكثر من 12 رقم
جربت اعلان
var
x,y : int64
ولكن دون جدوى
[صورة: do.php?img=614617]
رابط محاولتي
كود :
up.harajgulf.com/do.php?id=614618
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك

الرد
#2
مع int64 استخدم strtoint64.
الرد
#3
لايوجد أي عدد صحيح يبدأ بالصفر
01200 لايساوي 1200
دلفي يقول لك ان الرقم المدخل ليس عددا صحيحا بل هو سلسلة حروف
يجب تعريف الرقم المراد التعامل معه على اساس انه سلسلة حروف لانه يبدا بالصفر
الصقر يحلق وحيدا .. الغربان تحلق جماعات
الرد
#4
و عليكم السلام و رحمة الله

كما أشار لك الأخ : أنت تحاول اجراء العملية الحسابية مباشرة على محتوى الـ Edit  و الذي هو من نوع نص و ليس رقم.
عليك بتحويله إلى رقم أولا بهذا الشكل :


PHP كود :
x:=strtoint64(edit1.text); 
من قال حاد عن أصله أو قال مات فقد كذب
الرد
#5
كود :
var X, Y,  i : integer ; begin X := StrToIntDef(MaskEdit1.Text,12); Y := StrToIntDef(MaskEdit2.Text,12); if X <= Y Then For i:= X To Y Do Memo1.Lines.Add(IntToStr(i)) Else For i:= X DownTo Y Do Memo1.Lines.Add(IntToStr(i)); end;
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
الرد
#6
كود :
var i :Integer; X, Y : int64 ; begin X := StrToInt64(MaskEdit1.Text); Y := StrToInt64(MaskEdit2.Text); i:= X- Y; Memo1.Clear; if i < 0 Then For i:= 0 To Abs(i) Do Memo1.Lines.Add(IntToStr(X+i)) Else For i:= i DownTo 0 Do Memo1.Lines.Add(IntToStr(X-i)); end;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#7
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله و بركاته
بارك الله فيكم جميعا على الردور وجعله الله في ميزان حسناتكم و ادخلكم جنات النعيم
شكرا للجميع
بارك الله فيك اخي عبد العزيز ولكن العدد صفر لا يظهر في الميمو
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك

الرد
#8
كود :
var i :Integer; X, Y : int64 ; begin X := StrToInt64(MaskEdit1.Text); Y := StrToInt64(MaskEdit2.Text); i:= X- Y; Memo1.Clear; if i < 0 Then For i:= 0 To Abs(i) Do Memo1.Lines.Add(Format('%.*d', [12,X+i])) Else For i:= i DownTo 0 Do Memo1.Lines.Add(Format('%.*d', [12,X-i])); end;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
[-] كل من 1 user says قال شكرا ل محمد عبد العزيز على المشاركة المفيدة
  • wadoud
الرد
#9
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله و بركاته
بارك الله فيك يأخي الكريم عبد العزيز جعله الله في ميزان حسناتك
فعلا انت متميز ومعاك سوف نتعلم الدالفي فأنا مبتدى في البرمجة 
فألف شكر على تعاونك القيم وفقاك الله فيما يحبه و يرضاه
وبارك الله فيك
بكاء العين يفضح وبكاء القلب يذبح والبكاء من خشيه الله يربح اللهم اجعلنا ممن يبكى من خشيتك

الرد
#10
العفو اخي لم اقم سوى بالتعديل على محاولتك لاظهار احد الطرق الصحيحة
بالمناسبة لا يزال هناك خطا بالكود فوق حاول ايجاده
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم