Eigentlich sollte der Code nicht zu lange brauchen. Ich hab ihn trotzdem mal etwas angepasst:
Delphi-Quellcode:
var
SourceChars: String;
resultString: String;
count: Integer;
// select: Integer; // wird die variable irgendwo genutzt?
lenSourceChars: integer;
i: Integer;
begin
if not TryStrToInt(count, repeat1.text) then // wenn es die funktion in lazarus nicht gibt, nimm nen try-except-block
exit;
SourceChars := '';
if big.Checked then
SourceChars := SourceChars + gross;
if small.Checked then
SourceChars := SourceChars + klein;
If extra.Checked then
SourceChars := SourceChars + sonder;
If number.Checked then
SourceChars := SourceChars + zahlen;
if SourceChars = '' then
begin
ShowMessage('Please select the wanted properties!');
exit;
end;
lenSourceChars := length(SourceChars);
// randomize; // Bitte nur einmal beim Programmstart aufrufen
SetLength(resultString,count);
for i := 1 to anzahl do
resultString[i] := SourceChars[random(lenSourceChars) + 1];
edit1.Text := resultString;