konto usunięte
Temat: Zagęszaczanie Jeżeli... Problem z programem do...
Witam,Chciałem sobie zrobić prosty generator haseł. Korzystam z CheckBox.
Jeden dla małych liter,
drugi dla dużych liter
trzeci dla liczb
czwarty dla znaków specjalnych.
Struktura programu wygląda następująco
const
a = 'abcdefghijklmnopqrstuvwxyz';
b = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
c = '0123456789';
d = '-+=!@#$%&()/.,?><[]{}\';
begin
len := SpinEdit1.Value;
edit1.Text := '';
Randomize;
begin
if checkbox1.checked then s:= a;
if checkbox2.checked then s:= b;
if checkbox3.checked then s:= c;
if checkbox4.checked then s:= d;
if checkbox1.checked and checkbox2.checked then s:= a+b;
if checkbox1.checked and checkbox3.checked then s:= a+c;
if checkbox1.checked and checkbox4.checked then s:= a+d;
if checkbox2.checked and checkbox3.checked then s:= b+c;
if checkbox2.checked and checkbox4.checked then s:= b+d;
if checkbox3.checked and checkbox4.checked then s:= c+d;
if checkbox1.checked and checkbox2.checked and checkbox3.checked then s:= a+b+c;
if checkbox1.checked and checkbox2.checked and checkbox4.checked then s:= a+b+d;
if checkbox2.checked and checkbox3.checked and checkbox4.checked then s:= b+c+d;
if checkbox1.checked and checkbox3.checked and checkbox4.checked then s:= a+c+d;
if checkbox1.checked and checkbox2.checked and checkbox3.checked and checkbox4.checked then s:= a+b+c+d;
else
begin
showMessage('błąd nie nic nie zaznaczono:)');
exit;
end;
edn;
end;
Randomize;
for i := 1 to len do
edit1.Text := edit1.Text + s[Random(Length(s))];
Wydawało mnie się że program działa, bo jako tako działa. Napisałem to najprościej jak to możliwe jest. Problem polega na tym że jak nic nie jest zaznaczone to się wykrzacza...
Czy idę dobrym torem czy muszę zacząć od nowa i zagęszczać funkcję jeżeli.
Z góry Wielkie Dzięki :)Ten post został edytowany przez Autora dnia 18.11.13 o godzinie 10:39