delphi4arab منتديات دلفي للعرب

نسخة كاملة : a ثم يتغير بواسطة timer حتى يصل الى zzzzz
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله تعالى

كيف اعمل برنامج يقوم بالبدأ بالحرف الاول a ثم يتغير بواسطة timer حتى يصل الى zzzzz مثلا
اي مثلما هو في البرامج التي تعمل على البحث عن كلمة سر مثلا
الحرف الاول
a
ثم
b
.
.
.
z
aa
ab
ac
.
.
az
.
.
zzzzzzzz
وشكرا
هدا مثال بسيط أخي الكريم
PHP كود :
var
  
i:integer;

procedure TForm1.FormCreate(Sender: TObject);
begin
i
:=97;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i >121 then timer1.Enabled:=false;
memo1.Lines.Add(chr(i));
i:=i+1;
end; 
أخي الكريم شكرا جزيلا على هدا الرد
لقد وفقت إلى حد كبير في هدا العمل والفكرة
و أود أن أوضح لك بأني أعمل برنامج يبحث عن كلمة سر word excel access
فمحاولتك هده فيها ملاحظتين
الاولى : تظهر النتيجة في سطر واحد مثلا label او edit
الثانية : من a to zzzzzzzzzzzzzz ولا ينتهي عند z
ولقد ارفقت لك في المرفقات بمثال
PHP كود :
const
  
conso: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
  
DBNAME = 'Phonebook.MDB';
  
DBPASSWORD = 'nn'; // Access DB Password Protected

procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit4
.Text:= inttostr( strtoint(edit4.Text)+1);
 if 
strtoint(edit2.Text)<>52 then
 begin
edit3
.Text  := '';
edit2.Text:= inttostr( strtoint(edit2.Text)+1);
edit3.Text :=edit3.Text + conso[(strtoint(edit1.Text))];
edit3.Text :=edit3.Text + conso[(strtoint(edit2.Text))];
end;
//////////
 
if strtoint(edit2.Text)=52 then
 begin
edit3
.Text  := '';
edit1.Text:= inttostr( strtoint(edit1.Text)+1);
edit2.Text:='-1';
edit2.Text:= inttostr( strtoint(edit2.Text)+1);
edit3.Text :=edit3.Text + conso[(strtoint(edit1.Text))];
edit3.Text :=edit3.Text + conso[(strtoint(edit2.Text))];
end;

end; 

الارقام طريقتها سهلة
اما الاحرف فلا اجد لها الحل
وشكرا لك والسلام عليكم
على حسب علمي هده الطريقة تنفع مع التشفير البسيط والغير معقد

اما في عصرنا هدا فأنت تعلم مدى صعوبة الكسر جربت برنامجا يعتمد على نفس الفكرة وتركته يعمل أكثر من 8 ساعات ليكتشف كلمة ملف دو الامتداد rar ولم يفلح..هده الطريقة يلزمها ربما شهور لتكتشف الكلمة هدا ان تم دلك

حاول ان تفكر
مثال لحرف واحد
(دون استخدام Timer لوضيح الفكرة)
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

حرفين
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

ثلاث حروف
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
k,j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
k:= 0 to L Do
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[k]+ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

اربعة حروف
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
m,k,j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
m:= 0 to L Do
  for 
k:= 0 to L Do
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[m]+ciph[k]+ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

خمسة حروف
PHP كود :
const
ciph: array [0..51] of Char = ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
var
  
n,m,k,j,i,L:integer;
begin
  L
:=length(ciph)-1;
  for 
n:= 0 to L Do
  for 
m:= 0 to L Do
  for 
k:= 0 to L Do
  for 
j:= 0 to L Do
  for 
i:= 0 to L Do Begin
    Label1
.Caption := ciph[n]+ciph[m]+ciph[k]+ciph[j]+ciph[i];
    
Application.ProcessMessages;
    
sleep(10);
  
end;
end; 

هل اتضحت الفكرة ؟ حاول تنظيمها بشكل يتوافق مع نون حرف
والسلام عليكم