![]() |
AW: Selbstprogrammierung eines Vokabeltrainers
Tut mir leid, ich versuche nur zu verstehen, was genau ich programmiere; da frage ich vielleicht zu viel /:
Zitat:
Ich hab versucht auf den Index der ListBox zuzugreifen:
Delphi-Quellcode:
procedure TForm1.EreignisButtonClick(Sender: TObject);
var zufall:Integer; Ereignis:String; begin ListBox1.Items.LoadFromFile('TextEreignis.txt'); randomize; ListBox1.Items.Strings[2]; Trennung(ListBox1.Items.Strings[Zufall], FJahr, Ereignis); EreignisPanel.Caption:=Ereignis; end;
Delphi-Quellcode:
Allerdings wird mir immer noch angezeigt, dass ich das Maximum überschreite.
ListBox1.Items.Strings[2];
Müsste ich dann ein Array bei den var einfügen, zB
Delphi-Quellcode:
?
Ereignis:Array [1..3] of String
|
AW: Selbstprogrammierung eines Vokabeltrainers
Wieviele Zeilen hat die Textdatei?
Das randomize ist hier falsch. Es sorgt dafür, das die Fragen immer iin der selben Reihenfolge gewählt werden. |
AW: Selbstprogrammierung eines Vokabeltrainers
Momentan hat die Textdatei 3 Zeilen, es soll aber später möglich sein, die Textdatei um Zeilen zu erweitern.
Oh, ok. Aber wenn das randomize dort falsch ist, wo muss ich es dann hinschreiben, damit die Fragen/Antworten aus der Textdatei zufällig gewählt werden? |
AW: Selbstprogrammierung eines Vokabeltrainers
Was für einen Wert hat denn
Delphi-Quellcode:
?
Zufall
|
AW: Selbstprogrammierung eines Vokabeltrainers
Einen Integer Wert, wenn du das meinst?
Delphi-Quellcode:
var zufall:Integer;
Ereignis:String; begin ListBox1.Items.LoadFromFile('TextEreignis.txt'); randomize; ListBox1.Items.Strings[2]; Trennung(ListBox1.Items.Strings[Zufall], FJahr, Ereignis); EreignisPanel.Caption:=Ereignis; |
AW: Selbstprogrammierung eines Vokabeltrainers
Zitat:
Welcher konkrete
Delphi-Quellcode:
-Wert befindet sich denn in
Integer
Delphi-Quellcode:
wenn du die Methode
Zufall
Delphi-Quellcode:
aufrufst?
Trennung
(So wie ich das sehe ist der zufälliger als dir lieb ist) |
AW: Selbstprogrammierung eines Vokabeltrainers
Zitat:
Wozu ist das
Delphi-Quellcode:
?
ListBox1.Items.Strings[2]
Du liest da den 3. Wert aus, machst damit aber nichts. (wird nirgendwo zugewiesen) Was ist mit Zufall? Dein Compiler sollte dir da auch sagen, daß du vergessen hast diese Variable zu initialisieren. :!:! Initialisieren = einen Wert zuweisen (hier z.B. über ![]() PS: Bei
Delphi-Quellcode:
kann man das Strings auch weglassen (
ListBox1.Items.Strings[2]
Delphi-Quellcode:
), wenn man möchte,
ListBox1.Items[2]
denn als "Default"-Array-Property baut das Delphi implizit wieder ein. |
AW: Selbstprogrammierung eines Vokabeltrainers
Delphi-Quellcode:
Wenn ich das allerdings in der procedure aufrufe, kommt die Fehlermeldung, dass ListBox1 undefiniert ist.
zufall:=random(ListBox1.Items.Count);
Delphi-Quellcode:
Packe ich es allerdings in den OnClick vom EreignisButton läuft das Programm, allerdings öffnet sich dann die ShowMessage von der procedure.
procedure Trennung(text:String; var TAntwort,TFrage:String);
const Frage_Antwort='Rheinbund;1806'; Trenner=';'; var Frage, Antwort:String; iPos,zufall:integer; begin ListBox1.Items.LoadFromFile('TextEreignis.txt'); randomize; zufall:=random(ListBox1.Items.Count); end; iPos:=Pos(';','Rheinbund;1806'); if iPos > 0 then begin Frage:=Copy('Rheinbund;1806',0, iPos+1); Antwort:=Copy('Rheinbund;1806',0, iPos-1); ShowMessage('Hier Nachricht eingeben'); end; end;
Delphi-Quellcode:
procedure TForm1.EreignisButtonClick(Sender: TObject);
var zufall:Integer; Ereignis:String; begin ListBox1.Items.LoadFromFile('TextEreignis.txt'); randomize; zufall:=random(ListBox1.Items.Count); ListBox1.Items.Strings[2]; Trennung(ListBox1.Items.Strings[Zufall], FJahr, Ereignis); EreignisPanel.Caption:=Ereignis; end; Zitat:
Also im Endeffekt: Das Problem mit dem Maximum der ListBox besteht nicht mehr. Allerdings wird noch kein Ereignis im dafür vorgesehenen Panel angezeigt. |
AW: Selbstprogrammierung eines Vokabeltrainers
Mein liebes Soph6297, dir fehlen offenbar die einfachsten Grundlagen der Delphi-Programmierung:
Zitat:
Delphi-Quellcode:
procedure TForm1.Trennung(text:String; var TAntwort,TFrage:String);
begin end; Zitat:
Zitat:
![]() |
AW: Selbstprogrammierung eines Vokabeltrainers
An dieser Stelle Danke an eure Hilfe, schlussendlich läuft das Programm jetzt wie geplant. :)
MfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:35 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-2025 by Thomas Breitkreuz