Wyprodukowalem sobie ostatnio kodzik do losowania stringów o zadanych znakach i zadanej dlugosci:
Function TForm1.Generate(LLength: Byte; AreBig, AreSmall, AreDigits,
AreSpecial: Boolean; AreOwn: Boolean; Own: String) : String;
Var
Chars: String;
password: String;
I: integer;
CChar: Char;
Begin;
Chars:='';
Password:= '';
If AreBig then
Chars:= Chars+ 'QWERTYUIOPASDFGHJKLZXCVBNM';
If AreSmall then
Chars:= Chars+ 'qwertyuioplkjhgfdsazxcvbnm';
If AreDigits Then
Chars:=Chars+ '123456789';
If AreSpecial then
Chars:=Chars+ '[email protected]#$%^&*()_-+=[]{};\:"|,./<>?''';
If AreOwn Then
Chars:= Chars+ Own;
For I:=1 to LLength do
Begin
Randomize;
CChar:= Chars[Random(Length(Chars))];
Password:= Password+ CChar;
End;
Result:= password;
end;
Ale jak zwykle jakis problem :/
W innej procedurze robie sobie w ladnej petelce for losowanie stringa kilka razy, potem to do ListView. I co kilka losowan string ma:
Albo za malo znakow
Albo sklada sie z samych spacji
Probowalem juz w petli While sprawdzac, czy znak nie ma dlugosci 0, czy string nie jest za krotki, ale wyglada na to, ze Delphi liczy w tych stringach gdzie jest za malo znakow te brakujace.
Kiedys juz mialem cos podobnego, a kodu nie moge znalezc...
Jak zwykle nie wiem jak skonczyc...
A wiec jak zwykle pytam:
Moze ktos wie????