Hallo,
ich habe ein Problem mit einem Programm wo in ein Array String-Werte eingetragen werden sollen.
Ich habe zunächst einmal ganz normal die Variablen deklariert.
Delphi-Quellcode:
var
i : integer;
vFrage : Array[1..5] of string;
vAntwort: Array [1..5] of string;
Beim Start habe ich dann i als 1 definiert.
Delphi-Quellcode:
procedure TFrmMain.FormCreate(Sender: TObject);
begin
i:=1;
end;
So dann habe ich auf dem Formular einen Button. Jedes Mal wenn der Button gedrückt wird passiert folgendes:
Delphi-Quellcode:
procedure TFrmMain.SBtnWeiterClick(Sender: TObject);
begin
case RGrFrage.ItemIndex of
0 : begin
vFrage[i]:= RGrFrage.Caption;
vAntwort[i]:= RBtnFrage_1.Caption;
end;
1 : begin
vFrage[i]:= RGrFrage.Caption;
vAntwort[i]:= RBtnFrage_2.Caption;
end;
2 : begin
vFrage[i]:= RGrFrage.Caption;
vAntwort[i]:= RBtnFrage_3.Caption;
end;
end;
if i=1
then
begin
RGrFrage.Caption:='Frage 2';
RBtnFrage_1.Caption:='Antwort 1';
RBtnFrage_2.Caption:='Antwort 2';
RBtnFrage_3.Caption:='Antwort 3';
end
else if i=2
then
begin
RGrFrage.Caption:='Frage 3';
RBtnFrage_1.Caption:='Antwort 1';
RBtnFrage_2.Caption:='Antwort 2';
RBtnFrage_3.Caption:='Antwort 3';
end
else if i=3
then
begin
RGrFrage.Caption:='Frage 4';
RBtnFrage_1.Caption:='Antwort 1';
RBtnFrage_2.Caption:='Antwort 2';
RBtnFrage_3.Caption:='Antwort 3';
end
else if i=4
then
begin
RGrFrage.Caption:='Frage 5';
RBtnFrage_1.Caption:='Antwort 1';
RBtnFrage_2.Caption:='Antwort 2';
RBtnFrage_3.Caption:='Antwort 3';
end
else if i=5
then
begin
FrmAuswertung.LblFrage1.Caption:= vFrage[1];
FrmAuswertung.LblFrage2.Caption:= vFrage[2];
FrmAuswertung.LblFrage3.Caption:= vFrage[3];
FrmAuswertung.LblFrage4.Caption:= vFrage[4];
FrmAuswertung.LblFrage5.Caption:= vFrage[5];
FrmAuswertung.LblAntwort1.Caption:= vAntwort[1];
FrmAuswertung.LblAntwort2.Caption:= vAntwort[2];
FrmAuswertung.LblAntwort3.Caption:= vAntwort[3];
FrmAuswertung.LblAntwort4.Caption:= vAntwort[4];
FrmAuswertung.LblAntwort5.Caption:= vAntwort[5];
FrmAuswertung.Show;
FrmMain.Hide;
end;
inc(i);
end;
Es soll also jedes Mal wenn der Button gedrückt wird, geprüft werden welcher RadioButton aus der RadioGroup aktiviert wurde, die Frage sowie die gewählte Antwort in der Variable gespeichert werden. Danach wird (je nachdem welche Wert i gerade hat) die Frage bzw die Antworten geändert. Erreicht die Variable i den Wert 5, sollen in dem folgenden Formular (FrmAuswertung) die Fragen&Antworten in die entsprechenden Labels eingetragen werden. Die passenden
Unit dazu steht auch unter den Uses-Befehlen.
Ich habe zum Test einmal nicht die Variablen zum Schluß in dem folgenden Formular ausgeben lassen sondern in dem Gleichen. Dies ging ebenfalls nicht. Der Fehler muss also schon in der Deklaration bzw Speicherung der Variablen in der case-Anweisung liegen.
Hoffe ihr könnt mir helfen