Ergebnis 1 bis 5 von 5

Thema: Programmierung eines Namengenerators - need help

  1. #1

    Programmierung eines Namengenerators - need help

    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:
    Code:
    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.

    Geändert von Niji-chan (13.07.2005 um 18:02 Uhr)

  2. #2
    Code:
    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)

  3. #3
    Oh mann,... bin ich mal wieder blind...
    Maennlich wurde erst in Label2 ausgegeben und dann durch den Nachnamen überschrieben
    Jetzt funktioniert alles einwandfrei.
    Danke trotzdem für die Antwort.

  4. #4
    Zitat Zitat von Crash-Override
    Ungetestet, da ich Delphi nicht installiert habe (wie auch unter Linux;))
    Ich sehe da kein Problem.

  5. #5
    Zitat Zitat von Jesus_666
    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.

    Geändert von Crash-Override (24.07.2005 um 16:25 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •