السلام عليكم و رحمة الله و بركاته
كيف ادخال عدد طوله اكثر من 12 رقم
جربت اعلان
var
x,y : int64
ولكن دون جدوى
![[صورة: do.php?img=614617]](http://up.harajgulf.com/do.php?img=614617)
رابط محاولتي
كود :
up.harajgulf.com/do.php?id=614618
مع int64 استخدم strtoint64.
لايوجد أي عدد صحيح يبدأ بالصفر
01200 لايساوي 1200
دلفي يقول لك ان الرقم المدخل ليس عددا صحيحا بل هو سلسلة حروف
يجب تعريف الرقم المراد التعامل معه على اساس انه سلسلة حروف لانه يبدا بالصفر
و عليكم السلام و رحمة الله
كما أشار لك الأخ : أنت تحاول اجراء العملية الحسابية مباشرة على محتوى الـ Edit و الذي هو من نوع نص و ليس رقم.
عليك بتحويله إلى رقم أولا بهذا الشكل :
PHP كود :
x:=strtoint64(edit1.text);
كود :
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;
كود :
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;
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله و بركاته
بارك الله فيكم جميعا على الردور وجعله الله في ميزان حسناتكم و ادخلكم جنات النعيم
شكرا للجميع
بارك الله فيك اخي عبد العزيز ولكن العدد صفر لا يظهر في الميمو
كود :
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;
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله و بركاته
بارك الله فيك يأخي الكريم عبد العزيز جعله الله في ميزان حسناتك
فعلا انت متميز ومعاك سوف نتعلم الدالفي فأنا مبتدى في البرمجة
فألف شكر على تعاونك القيم وفقاك الله فيما يحبه و يرضاه
وبارك الله فيك
العفو اخي لم اقم سوى بالتعديل على محاولتك لاظهار احد الطرق الصحيحة
بالمناسبة لا يزال هناك خطا بالكود فوق حاول ايجاده