Hi,
manchmal braucht man Strings mit zufälligen Daten (z.B. zum Testen einen
Datenbank auf ihre Performance oder Erzeugen von zufälligen Telefonnummern).
Hier nun eine komplette
Unit:
Delphi-Quellcode:
unit URandomString;
interface
uses Classes;
function RandomString(
const len: Integer = 10;
const CharSet:
string = '
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'):
string;
overload;
function RandomString(
const x:
array of string):
string;
overload;
function RandomString(s:TStrings):
string;
overload;
function RandomDigitString(
const len:Integer):
string;
implementation
uses Sysutils;
{**************************************************************************
* NAME: RandomString
* DESC: Erzeugt einen zufälligen String
* PARAMS: len: länge des erzeugten strings
* CharSet: string der die zu verwendenden Zeichen enthält
* RESULT: [-]
*************************************************************************}
function RandomString(
const len: Integer;
const CharSet:
string):
string;
var
i: Integer;
begin
SetLength(Result,len);
for i := 1
to len
do
begin
Result[i] := CharSet[1+Random(Length(CharSet))];
end;
end;
{**************************************************************************
* NAME: RandomString
* DESC: Es wird ein String aus dem offenen String-Array x zufällig
* ausgewählt und zurückgegeben
* PARAMS: [-]
* RESULT: [-]
*************************************************************************}
function RandomString(
const x:
array of string):
string;
overload;
begin
Result := x[Random(Length(x))];
end;
{**************************************************************************
* NAME: RandomString
* DESC: Es wird ein String aus der StringListe s zufällig
* ausgewählt und zurückgegeben
* PARAMS: [-]
* RESULT: [-]
*************************************************************************}
function RandomString(s: TStrings):
string;
begin
Assert(Assigned(s));
Result := Trim(s.Strings[Random(s.Count)]);
end;
function RandomDigitString(
const len:Integer):
string;
begin
Result := RandomString(len, '
0123456789');
end;
end.
[edit=Matze]Code formatiert. Mfg, Matze[/edit]