1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73:
| function RandomPassword(Last: String): String; var Laenge, Zahl, Schleife, Minus: Integer; NBuch, LBuch: String; begin Result := ''; Laenge := Length(Last)-1; LBuch := Copy(Last, Laenge+1, 1); Zahl := 0; Minus := 1;
for Schleife := 97 to 121 do begin if BArray[Schleife] = LBuch then begin Zahl := Schleife; Break; end; end;
if (Zahl = 0) AND (Copy(Last, 0, 1) <> 'z') then begin LBuch := Copy(Last, Laenge, 1);
for Schleife := 97 to 121 do begin if BArray[Schleife] = LBuch then begin Zahl := Schleife; Break; end; end;
while Zahl = 0 do begin LBuch := Copy(Last, Laenge-Minus, 1);
for Schleife := 97 to 121 do begin if BArray[Schleife] = LBuch then begin Zahl := Schleife; Break; end; end;
inc(Minus); end;
NBuch := Chr(Zahl+1);
for Schleife := 1 to Minus do NBuch := NBuch + 'a';
Result := Copy(Last, 0, Laenge-Minus) + NBuch; end else begin NBuch := Chr(Zahl+1);
if (Copy(Last, 0, 1) = 'z') AND (Zahl = 0) then begin NBuch := 'a';
for Schleife := 1 to Laenge+1 do NBuch := NBuch + 'a';
Result := NBuch; end else Result := Copy(Last, 0, Laenge) + NBuch; end; end; |