![]() |
Zufallsstrings (random strings)
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:
[edit=Matze]Code formatiert. Mfg, Matze[/edit]
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. |
Re: Zufallsstrings (random strings)
shmia hat den Code nochmal ein wenig überarbeitet:
Zitat:
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; function RandomBytes(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 *************************************************************************} function RandomString(const len: Integer; const CharSet: string): string; var i: Integer; pResult : PChar; begin SetLength(Result,len); // Speicher im Result-String reservieren pResult := PChar(Result); for i := 1 to len do begin pResult^ := CharSet[1+Random(Length(CharSet))]; Inc(pResult); end; end; {************************************************************************** * NAME: RandomString * DESC: Es wird ein String aus dem offenen String-Array x zufällig * ausgewählt und zurückgegeben *************************************************************************} 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 *************************************************************************} function RandomString(s: TStrings): string; begin Assert(Assigned(s)); if s.Count = 0 then Result := '' else Result := Trim(s.Strings[Random(s.Count)]); end; function RandomDigitString(const len:Integer):string; begin Result := RandomString(len, '0123456789'); end; {************************************************************************** * NAME: RandomBytes * DESC: Es wird ein String geliefert, der zufällige Zeichen von #0 bis #255 * enthält *************************************************************************} function RandomBytes(const len: Integer):string; const MAX_BYTE = 256; var i: Integer; pResult : PChar; begin SetLength(Result,len); // Speicher im Result-String reservieren pResult := PChar(Result); for i := 1 to len do begin pResult^ := Chr(Random(MAX_BYTE)); Inc(pResult); end; end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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