delphi4arab منتديات دلفي للعرب
برمجة مولّد أرقام - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : برمجة مولّد أرقام (/showthread.php?tid=1947)



برمجة مولّد أرقام - adrar - 22-04-2010

السلام عليكم إخواني

لدي مشكلة في برمجة مولّد أرقام بسيط
مثال: أنا أحتاج الى توليد 10 أرقام وبهذه الصيغة
0000000000
0000000001
0000000002
......................
......................
9999999999

بأخذ كل الإحتمالات الممكنة

أنا إستخدمت الدالة for
PHP كود :
for a:= 0 to 9 do
for 
b:= 0 to 9 do
for 
c:= 0 to 9 do
for 
d:= 0 to 9 do
for 
e:= 0 to 9 do
for 
f:= 0 to 9 do
for 
g:= 0 to 9 do
for 
h:= 0 to 9 do
for 
i:= 0 to 9 do
for 
j:= 0 to 9 do
begin
Memo1
.Text:= Memo1.Text + IntToStr(a)+ IntToStr(b)+ IntToStr(c)+ IntToStr(d) + IntToStr(e)+  IntToStr(f)+ IntToStr(g)+ IntToStr(h) +IntToStr(i)+ IntToStr(j);
Memo1.Lines.Add(#$D);
end;
Memo1.Lines.SaveToFile('C:\1.txt'); 

المشكلة:
بعد طلب توليد الأرقام الجهاز يحدث له بلوك أظن سبب عدد الأرقام الهائل

إذا كان هناك حل أفضل من هذا فأتمنى منكم طرحه أو ربما تقسيم العمل الأول (الدالة for )إلى أجزاء

وشكرا لكم مسبقاً.


برمجة مولّد أرقام - musvc - 22-04-2010

[COLOR="Purple"]:laugh:
طبعا ً ليس من المرغوب ان تكرر شيئ في البرمجة اكثر من الازم

اليك الحل :

اضف مكونين من Edit
اضف زر

في حدث الزر :

كود :
var Add: Integer; I: Integer; begin Edit2.Clear; Add := 10 - Length(Edit1.Text); for I := 1 to Add do Edit2.Text := Edit2.Text + '0'; Edit2.Text := Edit2.Text + Edit1.Text;

طبعا ً يوجد الكثير من الطرق لفعل ذلك برمجيا ً
يمكنك صنع دالة من الكود :

كود :
function Num10(Number: Integer): String; var Add: Integer; I: Integer; begin Add := 10 - Length(IntToStr(Number)); for I := 1 to Add do Result := Result + '0'; Result := Result + IntToStr(Number); End;

كود الأستدعاء :
كود :
Edit2.Text := Num10(StrToInt(Edit1.Text));

و لا تنسى اضافة Try قبل استدعائه .

سلام[/COLOR]


برمجة مولّد أرقام - kachwahed - 22-04-2010

وعليكم السلام ورحمة الله
فقط بالنسبة لعرض الأرقام بنمط معين، يمكن استخدام شيء مثل:
PHP كود :
Edit2.Text := FormatFloat('0000000000', StrToFloat(Edit1.Text)) 



برمجة مولّد أرقام - adrar - 22-04-2010

شكراً لكم سأحاول تطبيق ما تفضلتم به
وبالتوفيق للجميع