![]() |
Mit einer kurzen Prozdur einen Schlüssel erzeugen
Hallo!
Es geht drum einen Schlüssel aus allen 26 Buchstaben des Alphabets zu erstellen, der aber keinen Buchstaben doppelt beinhaltet. Gibt es da eine Funktion, oder eine kurze Prozedur? Dies ist meine Lösung:
Code:
strSchluessel[1]:=chr(random(26)+65);
for i:=2 to 26 do Begin j:=1; strBuchstabe:=chr(random(26)+65); repeat if strSchluessel[j]=strBuchstabe[1] then Begin strBuchstabe:=chr(random(26)+65); j:=0; end; j:=j+1; until j>i; strSchluessel[i]:=strBuchstabe[1]; end; |
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Delphi-Quellcode:
function createstr(count:integer); string;
var c: char; begin result:=''; if count > 26 then exit; while length(result) < count do begin c:=chr(random(26)+65); if pos(c,result) = 0 then result:=result + c; end; end; |
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
danke, ist leider auch nicht viel kürzer. eine funktion scheint es ja nicht zu geben...
|
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Näääädddd. Merke: Frage richtig lesen, dann posten. :mrgreen:
|
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Delphi-Quellcode:
Es dauert vielleciht ei wenig, bis ALLE 26 Buchstaben benutzt sind, aber dafür is sie schön kurz ;)
function Code: string;
var c: char; begin randomize: while length(result) <= 26 do begin c := chr(random(26)+65); if pos(c, result) = 0 then result := result + c; end; end; |
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Delphi-Quellcode:
Ist vielleicht ein µ schneller...
function Code: string;
const s: string = 'abcdefghijklmnopqrstuvwxyz'; var i,j: Integer; begin randomize; result:=''; for i:=1 to 25 do begin j:=random(length(s)+1); result:=result+s[j]; delete(s,j,1); end; result:=result+s; end; |
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Hat aber einen Fehler:
Gibt nur 25 Buchstaben aus. Ansonsten eigentlich auch ein interessanter Ansatz. |
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Zitat:
Zitat:
|
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Zitat:
Zitat:
|
Re: Mit einer kurzen Prozdur einen Schlüssel erzeugen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz