Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Random Text Ausgabe (https://www.delphipraxis.net/73716-random-text-ausgabe.html)

mOzZzI 22. Jul 2006 19:44


Random Text Ausgabe
 
Hi Freunde,
ich hab eine Frage an euch,
es ist so ich habe eine Textdatei, und in dieser Textdatei sind ungefähr 30 Zeilen mit Text.
Jetzt möchte ich jedes mal am Programmstart einen Zufallssatz in einem Label anzeigen...
Wie funktioniert sowas?

Dax 22. Jul 2006 19:47

Re: Random Text Ausgabe
 
Du lädst deine Datei in eine Delphi-Referenz durchsuchenStringList, erzeugst dir ne Zahl zwischen von 0 bis ausschließlich der Anzahl der Strings in der Liste und schreibst den String mit dem Index in den Label. Danach gibst du die Liste wieder frei, und du hast nen zufälligen Text.

mOzZzI 22. Jul 2006 19:50

Re: Random Text Ausgabe
 
Zitat:

Zitat von Dax
Du lädst deine Datei in eine Delphi-Referenz durchsuchenStringList, erzeugst dir ne Zahl zwischen von 0 bis ausschließlich der Anzahl der Strings in der Liste und schreibst den String mit dem Index in den Label. Danach gibst du die Liste wieder frei, und du hast nen zufälligen Text.

hättest du vill ein kleines code-beispiel (hab noch nicht so viel mit Stringlist gearbeitet)

Dax 22. Jul 2006 19:52

Re: Random Text Ausgabe
 
Delphi-Quellcode:
var list: TStrings

list := TStringList.Create;
list.LoadFromFile(deineDatei);

Randomize;
Label1.Caption := list[Random(list.Count)];

list.Free;

mOzZzI 22. Jul 2006 19:53

Re: Random Text Ausgabe
 
Zitat:

Zitat von Dax
Delphi-Quellcode:
var list: TStrings

list := TStringList.Create;
list.LoadFromFile(deineDatei);

Randomize;
Label1.Caption := list[Random(list.Count)];

list.Free;

öhm, müsste das nicht

Delphi-Quellcode:
var list: TStringlist;
heisen?

mkinzler 22. Jul 2006 19:54

Re: Random Text Ausgabe
 
Mit stringList.LoadFromFile kannst du den Inhalt einer datei in die Stringliste laden. Mit StringList.Items[x-1] bekommst du den x. Eintrag.

Edit: zu langsam}
öhm, müsste das nicht

var list: TStringlist;

heisen?

Nein, da TStringList ein Nachfahre von TStrings ist.

Dax 22. Jul 2006 19:55

Re: Random Text Ausgabe
 
Oh.. Nun ja, eigentlich ists egal, da TStrings ne abstrakte Basisklasse ist und TStringList lediglich die abstrakten Methoden implementiert.. Lang: Nein, kurz: Ja ;)

@mkinzler: .Items ist aber ne Array-Property, und nicht die Stringliste ;) [edit]Und x-1 ist der x-2te Eintrag *glaub*[/edit]

mkinzler 22. Jul 2006 19:58

Re: Random Text Ausgabe
 
Zitat:

@mkinzler: .Items ist aber ne Array-Property, und nicht die Stringliste Wink
Stimmt, einfach wieder mal schneller getippt als gedacht.
Zitat:

[edit]Und x-1 ist der x-2te Eintrag *glaub*[/edit]
Der Index beginnt mit 0.

Dax 22. Jul 2006 19:59

Re: Random Text Ausgabe
 
Zitat:

Zitat von mkinzler
Stimmt, einfach wieder mal schneller getippt als gedacht.

Dito ;)

bäh, böse schreibfehler


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:41 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