![]() |
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... :?: |
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; |
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: |
Zitat:
|
Zitat:
|
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Label1.Caption := RandName(8); end; |
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:
|
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; |
Delphi-Quellcode:
hier so etwa der Vorschlag von Phlux, müsstes halt die Silben entsprechen ändern... ?
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; |
Phlux war schneller...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 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