06-02-2010, 09:58 PM
[COLOR="RoyalBlue"]- استاذ TF6M, المثال غير مكتمل, و لا استطيع معرفة كيف يعمل, بعض التوضيح.
- قمت ببعض التعديلات منها:
* تحميل القاموس عند بدأ البرنامج و تجنب تكرار فتحة.
* تعديل علي RandomRange, اضافة +1 حتي يصل لاخر حرف فى الكلمة (لا اعرف كيف كنت بهذا الغباء !).[/COLOR]
- لكن مازال البرنامج يعمل علي طريقة الRandom الهمجية ! هل من افكار اخري ؟
- قمت ببعض التعديلات منها:
* تحميل القاموس عند بدأ البرنامج و تجنب تكرار فتحة.
* تعديل علي RandomRange, اضافة +1 حتي يصل لاخر حرف فى الكلمة (لا اعرف كيف كنت بهذا الغباء !).[/COLOR]
PHP كود :
Procedure LoadDictornary(DictornaryPath : String);
var F : TextFile;
i : Integer;
begin
i := 0;
AssignFile(F,DictornaryPath);
Reset(F);
While Not EOF(F) do
begin
Readln(F,DictornaryArray[i]);
Inc(i);
end;
CloseFile(F);
end;
procedure TForm1.Button1Click(Sender: TObject);
var FRand, MRand, RandedWord : String;
RandIndex : Integer;
Counter : Integer;
begin
Counter := 0;
FRand := Edit1.Text;
RandedWord := FRand;
While (AnsiIndexText(RandedWord,DictornaryArray) = -1) do
begin
MRand := FRand;
RandedWord := '';
Repeat
Application.ProcessMessages;
Randomize;
RandIndex := RandomRange(1,Length(MRand) + 1);
RandedWord := RandedWord + MRand[RandIndex];
Delete(MRand,RandIndex,1);
Until MRand = '';
Counter := Counter + 1;
end;
Edit2.Text := RandedWord + ' | ' + IntToStr(Counter);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
LoadDictornary('wordlist.txt');
MessageBox(Form1.Handle,'Dictonary Loaded.','Info',64);
end;
- لكن مازال البرنامج يعمل علي طريقة الRandom الهمجية ! هل من افكار اخري ؟

