Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#1

Zufallsstrings (random strings)

  Alt 26. Mär 2004, 09:51
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]
Andreas
  Mit Zitat antworten Zitat