AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zufallsnamen erzeugen...

Ein Thema von NeoDeluxe · begonnen am 18. Feb 2003 · letzter Beitrag vom 19. Feb 2003
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#1

Zufallsnamen erzeugen...

  Alt 18. Feb 2003, 18:30
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...
Alex
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#2
  Alt 18. Feb 2003, 18: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;
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 18. Feb 2003, 18: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.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#4
  Alt 18. Feb 2003, 18:43
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.
kannst du vielleicht etwas ausführlicher schreiben?
Alex
  Mit Zitat antworten Zitat
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#5
  Alt 18. Feb 2003, 18:51
Zitat von Mirilin:
meinst Du sowas?
Ja, aber wie soll ich die funktion aufrufen, wenn man eine Button klickt?
Alex
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#6
  Alt 18. Feb 2003, 18:55
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   Label1.Caption := RandName(8);
end;
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von NeoDeluxe
NeoDeluxe

Registriert seit: 4. Dez 2002
Ort: Behind the Firewall
240 Beiträge
 
Delphi 7 Personal
 
#7
  Alt 18. Feb 2003, 19: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!
Alex
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 18. Feb 2003, 19: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;
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#9
  Alt 18. Feb 2003, 19: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... ?
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#10
  Alt 18. Feb 2003, 19:03
Phlux war schneller...
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr.
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