PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Programmierung eines Namengenerators - need help



Niji-chan
13.07.2005, 16:34
Hi,
ich habe mich jetzt an einen einfachen Namensgenerator gesetzt.
Ich arbeite mit Delphi 6.
Das Formular besteht aus dem "MainMenu", 2 Labels und 2 Button.
Das MainMenu bietet die Wahl zwischen "Weiblich" und "Maennlich".
Im ersten Label soll der Vorname und im zweiten der Nachname angezeigt werden.
Der erste Button soll aus Textdateien neue Namen herausholen und in die Labels schreiben.
Der zweite Button beendet das Programm.

Mein Problem ist im Moment:
Wie hole ich die Namen aus der Textdatei?

Es gibt 3 Textdateien:
w.txt = weibliche Vornamen
m.txt = maennliche Vornamen
n.txt = Nachnamen

Beim Starten des Programms soll die Wahl des Geschlechts auf "Weiblich" stehen.

Wäre für Hilfe dankbar ;)

EDIT:
Nun, inzwischen habe ich etwas in meinen schlauen Bücher gesucht und das meiste geschafft. Im Moment hänge ich daran fest, dass eine Abfrage nicht so ganz funktionieren möchte:

procedure TForm1.Button1Click(Sender: TObject);
begin
if Geschlecht = 'w' then
begin
Nr := random(Weiblich.Count);
Label1.Caption := Weiblich.Strings[Nr];
end;
if Geschlecht = 'm' then
begin
Nr := random(Maennlich.Count);
Label2.Caption := Maennlich.Strings[Nr];
end;
Nr := random(Nachname.Count);
Label2.Caption := Nachname.Strings[Nr];
end;
Es soll also zunächst abgefragt werden, welches Geschlecht gewählt wurde und dann die Namen generiert werden. :confused:

Crash-Override
13.07.2005, 18:04
var:
Name: TStringList;
Name2: TStringList;
Begin
Name := TStringList.Create();
Name2 := TStringList.Create();
if #check_ob_männlich then
Name.LoadFromFile('m.txt')
else
Name.LoadFromFile('w.txt');
Name2.LoadFromFile('n.txt');
randomize;
Output.Text := Name[random(Name.Count)];
randomize;
Output.Text := Output.Text + ' ' + Name2[random(Name2.Count)];
End;


Ungetestet, da ich Delphi nicht installiert habe (wie auch unter Linux;))

Niji-chan
13.07.2005, 18:31
Oh mann,... bin ich mal wieder blind...
Maennlich wurde erst in Label2 ausgegeben und dann durch den Nachnamen überschrieben :rolleyes:
Jetzt funktioniert alles einwandfrei.
Danke trotzdem für die Antwort.

Jesus_666
14.07.2005, 07:43
Ungetestet, da ich Delphi nicht installiert habe (wie auch unter Linux;))
Ich sehe da kein Problem. (http://www.borland.de/kylix/)

Crash-Override
14.07.2005, 12:17
Ich sehe da kein Problem. (http://www.borland.de/kylix/)

Ja, allerdinsg sind die verwendeten Graphischen Bibliotheken dennoch verschieden. CLX ist die Linux-Version, kann man zwar auch unter Windows verwenden, ist allerdings nicht standard. Unter Ubuntu hab ich Kylix noch nicht installiert, doch weiß ich noch von Fedora das es sich immer beim Ausführen des Programms aus der IDE herruas aufgehängt hat. Hat jemand da genauerer Infos?

Edit: Ach ja, achte darauf das du vor random ein randomize aufruft. Das mischt den Zufallspointer noch mal ordenlich durch, andernfalls sit es nämich kein wirklicher Zufall.