PDA

View Full Version : ايجاد عدد تو محدوده 73 و 48



Tarrah
پنج شنبه 30 تیر 1384, 18:29 عصر
سلام
با کمک دوستمون آقای حسینی تونستم پسورد تولید کنم.
حالا اگه بخوام این پسورد تو محدوده ارقام و حروف باشه به جای 73 و 48 از چه رنجی تو دستور زیر باید استفاده کنم ؟
pass := pass + chr(Random(73)+48);1

javad_hosseiny
پنج شنبه 30 تیر 1384, 19:34 عصر
ابتدا عبارتی که شامل تمامی حروف و اعداد می شود درست می کنید مثلا :
WORD='0123456789abcd....zABC...Z'
سپس دستور زیر را در داخل حلقه قرار می دهید:


pass := pass + word[random(length(word))];

Tarrah
پنج شنبه 30 تیر 1384, 19:52 عصر
آقای حسینی بازم ممنونم.

Tarrah
پنج شنبه 30 تیر 1384, 20:05 عصر
آقای حسینی .کد زیر چیزی هست که تو برنامه نوشتم.هر بار که می زنم یه password تولید می کنه . ولی این pass همیشه 8 حرفی تولید نمی شه .بعضی وقتا 2 و 4 و 6 کاراکتری تولید می شه . چرا ؟

procedure TForm1.Button1Click(Sender: TObject)
const
Word='123456789acdfgkpqsxyz'
var i,j: integer
pass: string
begin
Randomize
pass:= ''
for j:=1 to 8 do
pass:=pass+word[random(length(word))]
label1.caption:=pass
end

لطفا کدهایتان را داخل تگ کد قرار دهید. سپیدار.

javad_hosseiny
شنبه 01 مرداد 1384, 00:49 صبح
دلیلش این است که در رنج اعداد تصادفی ایجاد شده عدد صفر نیز وجود دارد که خوب رشته ما دارای خانه شماره صفر نیست لذا شما باید به خروجی عدد تصادفی اتان عدد یک اضافه کنید تا همیشه خروجی آن عددی باشد که در رشته شما برای آن خانه ای تعریف شده باشد.
به کد زیر توجه کنید (خروجی را در یک لیست باکس نمایش می دهد)


var word,pass: string;
i: integer;
begin
randomize;
word := '0123456789abcdefghjklmnopqrstuvwxyz';
pass := '';
for i:=1 to 8 do
pass := pass + word[random(length(word))+1];
ListBox1.Items.Add(pass);
end;

Tarrah
شنبه 01 مرداد 1384, 04:31 صبح
خیلی ازتون ممنونم آقای حسینی .