![]() |
Vokabel Trainer ! Hilfe
Ich habe hier einen Vokabel trainer zusammengebaut...Ich kapiere nur nicht wo hier genau die fehler meldung herkommt?
Wenn ich Versuche die Vokabel u üebrprüfen(submit) dann kommt die fegler meldung "EAccessViolation" Überhaupt funktioniert das Program noch nicht perfekt, die vokabeln werden noch nicht aus der textdatei ausgelesen bzw nicht angezeigt?! Danke für eure Hilfe
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TVokabeltrainer = class(TForm) l_frage: TLabel; l_checkup: TLabel; l_antwort: TLabel; b_submit: TButton; b_next: TButton; b_cheat: TButton; b_text: TButton; OpenDialog1: TOpenDialog; ListBox1: TListBox; l_loesung: TEdit; RadioGroup1: TRadioGroup; procedure FormCreate(Sender: TObject); procedure b_submitClick(Sender: TObject); procedure b_nextClick(Sender: TObject); procedure b_cheatClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; const max=8; var Vokabeltrainer: TVokabeltrainer; datei: TextFile; DateiName: string; a_vok: Array of String; a_antwort: Array of String; a_richtig: Array of Integer; nr: Integer; voc: TStringList; implementation {$R *.DFM} procedure TVokabeltrainer.FormCreate(Sender: TObject); var max: integer; begin If OpenDialog1.execute then Dateiname:=opendialog1.filename else Dateiname:='voc.txt'; voc:=TStringlist.create; voc.LoadFromFile(Dateiname); max:=voc.count div(5); nr:=random(max-1); l_frage.caption:='Vokabel: ' + voc[nr*5]; radiogroup1.items[0]:=voc[nr*5+1]; radiogroup1.items[1]:=voc[nr*5+2]; radiogroup1.items[2]:=voc[nr*5+3]; nr:=random(max)+1; l_frage.caption:='Vokabel: ' + a_vok[nr*5]; radiogroup1.items[0]:=a_antwort[nr*5+1]; radiogroup1.items[1]:=a_antwort[nr*5+2]; radiogroup1.items[2]:=a_antwort[nr*5+3]; radiogroup1.itemindex:=-1; end; procedure TVokabeltrainer.b_cheatClick(Sender: TObject); begin l_checkup.caption:='how about "' + a_antwort[nr, a_richtig[nr]] + '"?'; l_checkup.font.color:=clblack; l_checkup.font.size:=10; end; procedure TVokabeltrainer.b_submitClick(Sender: TObject); begin If (Radiogroup1.itemindex=-1) and (l_loesung.text='') then begin l_checkup.caption:='Bitte eine Auswahl treffen'; l_checkup.font.color:=clblack; end else If (Radiogroup1.itemindex=a_richtig[nr]-1) or (l_loesung.text=a_antwort[nr, a_richtig[nr]] ) then begin l_checkup.caption:='Richtig!'; l_checkup.font.color:=clgreen; end else begin l_checkup.caption:='Falsch!'; l_checkup.font.color:=clred; end; end; procedure TVokabeltrainer.b_nextClick(Sender: TObject); begin nr:=random(max)+1; l_frage.caption:='Vokabel: ' + a_vok[nr*5]; radiogroup1.items[0]:=a_antwort[nr*5+1]; radiogroup1.items[1]:=a_antwort[nr*5+2]; radiogroup1.items[2]:=a_antwort[nr*5+3]; radiogroup1.itemindex:=-1; l_checkup.caption:=''; l_loesung.Text:=''; end; end. |
AW: Vokabel Trainer ! Hilfe
Hi und willkommen. Warum machst du 3 Beiträge auf? Deine dynamischen Arrays sind nicht initialisiert.
|
AW: Vokabel Trainer ! Hilfe
Und dann auch noch
![]() |
AW: Vokabel Trainer ! Hilfe
Ich kapiere es nicht.
Wenn ich fragen stelle in der letzten zeit bekomme ich keine Antworten mehr. Hier werden direkt 3 Themen erstellt aund alle posten fleißig drauf los. Scheint doch was zu bewirken. Spaming Postings. gruss |
AW: Vokabel Trainer ! Hilfe
Vielleicht hast Du nur die falschen Probleme :mrgreen:
|
AW: Vokabel Trainer ! Hilfe
Zitat:
Na ja es ist ja kein Zwang das jemand helfen muss Aber ist schon verwunderlich wie die Leute dann auf solche mehr Postings reagieren .. Fast ein Zwang? Gruss |
AW: Vokabel Trainer ! Hilfe
Danke für die schnellen Antworten! Das mit den 3 Threads tut mir wirklich leid...Ich muss das problem nur schnell gelöst haben! Tut mir leid, nächstes mal werde ich das nicht wieder machen!
Genau das ist mein Problem! Ich weis leider nicht wie ich diese arays initialisiere? |
AW: Vokabel Trainer ! Hilfe
Zitat:
Zitat:
|
AW: Vokabel Trainer ! Hilfe
In welchem Forum soll ich denn nun antworten? :gruebel:
|
AW: Vokabel Trainer ! Hilfe
Zitat:
setlength(myarray,3); anschließend kannst du auf die Einträge myarray[0], myarray[1] und myarray[2] zugreifen. myarray[3] gibt es nicht, weil es ja das 4. Element wäre. Also immer aufpassen: von 0 aus zählen. mit length(myarray) kannst du abfragen, wie lang dein array ist. Gruß, Michael |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 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