![]() |
Zufall
Hallo Leute,
ich hab mal eine Frage: Ich habe in eine Textdatei Wörter gesschrieben. Die sollen jetzt zufällig in einem label erscheinen! Bisher sieht das so aus:
Delphi-Quellcode:
In der letzten Zeile steht ja: label2.caption := vokabeln (random);
procedure TForm1.Button1Click(Sender: TObject);
var wörter: tstringlist; wort1: string; wort2: string; begin randomize; wörter := tstringlist.create; wörter.loadfromfile ('wörter.txt'); wort1 := wörter [0]; wort2 := wörter [1]; label2.caption := vokabeln (random); end; Wie muss ich das schreiben, damit keine Fehlermeldung, wie "Operator oder Semikolon fehlt!" erscheint??? Bitte helft mir! mfg Jan [edit=SirThornberry]Delphi-Tags gesetzt und eingerückt - nächstes mal bitte selbst machen! Mfg, SirThornberry[/edit] |
Re: Zufall
Wie ist "vokabeln" deklariert?
Edit: Hihi, die ös sind mir garnicht aufgefallen :). Das könnte natürlich zu Problemen führen... |
Re: Zufall
[ot]
Du hast nicht ernsthaft ös in deinem Quelltext oder :shock:
Delphi-Quellcode:
Das tut ja schon beim hinschaun weh :cry:
wörter
|
Re: Zufall
Delphi-Quellcode:
Aber ungetestet ... kann Fehler enthalten, sollte dir aber die Richtung zeigen.
procedure TForm1.Button1Click(Sender: TObject);
var woerter: tstringlist; //das ö nimmt der, glaub ich, nicht begin randomize; //muss nur einmal aufgerufen werden, am besten ins Form.Create woerter := tstringlist.create; try woerter.loadfromfile ('wörter.txt'); if woerter.count > 0 then begin label2.caption := woerter[Random(woerter.Count)]; end; finally FreeAndNil(woerter); end; end; |
Re: Zufall
Zitat:
Delphi-Quellcode:
So könnte was draus werden:
procedure TForm1.Button1Click(Sender: TObject);
var wörter: tstringlist; // arbeitest du mit Delphi 2009? Ansonsten dürfen Variablen keine Umlaute haben! wort1: string; wort2: string; begin randomize; wörter := tstringlist.create; wörter.loadfromfile ('wörter.txt'); wort1 := wörter [0]; wort2 := wörter [1]; label2.caption := vokabeln (random); // Vokabeln ist nirgends definiert, also kennt der Compiler es nicht! end;
Delphi-Quellcode:
[edit] Hatte das Free ganz vergessen...
procedure TForm1.Button1Click(Sender: TObject);
var woerter: tstringlist; begin randomize; woerter := tstringlist.create; try woerter.loadfromfile ('wörter.txt'); { Nimm ein zufälliges Wort aus der Liste. Random(N) liefert eine Zahl von 0 bis N-1 } label2.caption := woerter[random(woerter.count)]; finally woerter.Free; end; end; |
Re: Zufall
Und wenn ich nur zwei Zeilen Wörter zufällig haben will!
Wie funktioniert das? |
Re: Zufall
Delphi-Quellcode:
Die Variablen müssen natürlich deklariert sein.
erstesWort := woerter[random(woerter.count)];
zweitesWort := woerter[random(woerter.count)]; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 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