Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zufallsnamen erzeugen... (https://www.delphipraxis.net/3021-zufallsnamen-erzeugen.html)

NeoDeluxe 18. Feb 2003 17:30


Zufallsnamen erzeugen...
 
moin.
Ja, ich wollte wiessen wie das geht? Wenn man z.B. auf einen Butteon klickt und dann werden in den Editfeldern Zufällige Namen erzeug! Hilfe... :?:

Mirilin 18. Feb 2003 17:39

meinst Du sowas?

Delphi-Quellcode:
function RandName(Length : Integer):String;
var
  i : Byte;
begin
  randomize();
  result := '';
  SetLength(Result,Length);
  for i := 0 to Length do
  begin
    Result[i] := Char(Random(25)+65);
  end;
end;

phlux 18. Feb 2003 17:42

Hi!
Eine weitere überlegegung wäre einfach 3 Arrays zu definieren in denen du dann 3-Silbige Namen speicherst (also 1 Array für 1te Silbe, usw.). Dann rufst du einfach dreimal hintereinander Random auf liest mit der zahl dann die Silbe aus dem Array raus und hast so deinen zusammengefummelten Namen. :mrgreen:

NeoDeluxe 18. Feb 2003 17:43

Zitat:

Zitat von phlux
Hi!
Eine weitere überlegegung wäre einfach 3 Arrays zu definieren in denen du dann 3-Silbige Namen speicherst (also 1 Array für 1te Silbe, usw.). Dann rufst du einfach dreimal hintereinander Random auf liest mit der zahl dann die Silbe aus dem Array raus und hast so deinen zusammengefummelten Namen. :mrgreen:

kannst du vielleicht etwas ausführlicher schreiben? :wink:

NeoDeluxe 18. Feb 2003 17:51

Zitat:

Zitat von Mirilin
meinst Du sowas?

Ja, aber wie soll ich die funktion aufrufen, wenn man eine Button klickt?

Mirilin 18. Feb 2003 17:55

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   Label1.Caption := RandName(8);
end;

NeoDeluxe 18. Feb 2003 18:00

Jain. Also das ist schon in der Richtung, aber ich will Richtigen Namen haben. Also die Vorschlag von phlux ist schon in die Richtung, ich weiss bloss nicht wie ich es machen soll! :oops:

phlux 18. Feb 2003 18:01

Hi!
Also mal ein grobes Code Beispiel:
Delphi-Quellcode:
//Global definierst du dir 3 Arrays, diese müssen global deklariert sein weil man sie sonst vorher nicht initialisieren kann
var
  Silbe_Anfang: Array[0..2] of String = ('am','zum','ent');
  Silbe_Mitte: Array[0..2] of String = ('put','bei','fern');
  Silbe_Ende: Array[0..2] of String = ('ieren','spiel','en');

//Dann irgendwo im Form.OnCreate event einmal Randomize ausführen
procedure TForm1.FormCreate(Sender: TObject);
begin
  Randomize;
end;

//Schließlich auf Knopfdruck Zufallswörter generieren

procedure TForm1.Button1Click(Sender: TObject);
var i, j, k: Integer;

begin
  //Label leeren
  Label1.Caption := '';
  //Zufallszahl erzeugen
  i := Random(2);
  //Mit Zflszahl Silbe aus dem Array auslesen und Label.Caption hinzufügen
  Label1.Caption := Label1.Caption + Silbe_Anfang[i];
  j := Random(2);
  Label1.Caption := Label1.Caption + Silbe_Mitte[j];
  k := Random(2);
  Label1.Caption := Label1.Caption + Silbe_Ende[k];
end;

Mirilin 18. Feb 2003 18:02

Delphi-Quellcode:
function RandName2:String;
var
  S1  : array [0..4] of String;
  S2  : array [0..4] of String;
  S3  : array [0..4] of String;
begin
  S1[0] := 'gen';S1[1] := 'sen';S1[2] := 'fen';S1[3] := 'ten';S1[4] := 'pen';
  S2[0] := 'gan';S2[1] := 'san';S2[2] := 'fan';S2[3] := 'tan';S2[4] := 'pan';
  S3[0] := 'gon';S3[1] := 'son';S3[2] := 'fon';S3[3] := 'ton';S3[4] := 'pon';
  randomize();
  result := S1[Random(4)]+S2[Random(4)]+S3[Random(4)];
end;
hier so etwa der Vorschlag von Phlux, müsstes halt die Silben entsprechen ändern... ?

Mirilin 18. Feb 2003 18:03

Phlux war schneller...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 Uhr.
Seite 1 von 5  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz