Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zufallswert generieren?! (mit Zahlen und Buchstaben) (https://www.delphipraxis.net/19905-zufallswert-generieren-mit-zahlen-und-buchstaben.html)

Plague 10. Apr 2004 18:16


Zufallswert generieren?! (mit Zahlen und Buchstaben)
 
Hallo,

wie kann ich einen 20-stelligen Wert generieren, der aus Buchstaben und Zahlen besteht? Ist das möglich?
Ich möchte Datein automatisch so benennen um bei einem Haufen von Datein nicht in Schwierigkeiten zu kommen.

Im Endeffekt soll es eben so aussehen:
GXM72M7MLAS910A01HC7 + *.jpg = GXM72M7MLAS910A01HC7.jpg

Wie kann ich das realisieren?
Gibt es dafür vielleicht sogar eine Komponente?

Gruß
Thomas

toms 10. Apr 2004 18:24

Re: Zufallswert generieren?! (mit Zahlen und Buchstaben)
 
Hi,

Entweder per

1) GetTempFileName

2) GUID:

Delphi-Quellcode:
uses
  ComObj, ActiveX;

procedure TForm1.Button1Click(Sender: TObject);
var
  ID: TGUID;
begin
  CoCreateGuid(ID);
  if CoCreateGuid(ID) = S_OK then
    Label1.Caption := Copy(GUIDToString(ID),2,36);
end;

Keldorn 10. Apr 2004 18:25

Re: Zufallswert generieren?! (mit Zahlen und Buchstaben)
 
Hallo

wenn es dir um Zufallswerte geht, nimm doch einfach einen String z.B. s:='ABCDEFGHI...012...' und ermittels eine Zufallszahl bis maximal Länge des strings. mit diesem Zeichen kannst du dann dir irgendeine Kombination aufbauen.

was für ein Haufen dateien? Irgendwie sollte der Dateiname "sprechen" und nicht irgendwelcher Kauderwelch sein. Vielleicht kommst du mit einem Muster 'Bild0001.jpg' besser. z.B. 'Bild'+fortlaufende-nummer immer solange mit Fileexists und erhöhung der fortlaufenden Nummer testen, bis die Datei noch nicht exisitiert.

Mfg Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 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 by Thomas Breitkreuz