![]() |
String Array Problem
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:
Beim Start habe ich dann i als 1 definiert.
var
i : integer; vFrage : Array[1..5] of string; vAntwort: Array [1..5] of string;
Delphi-Quellcode:
So dann habe ich auf dem Formular einen Button. Jedes Mal wenn der Button gedrückt wird passiert folgendes:
procedure TFrmMain.FormCreate(Sender: TObject);
begin i:=1; end;
Delphi-Quellcode:
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.
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; 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 :gruebel: |
Re: String Array Problem
Zitat:
|
Re: String Array Problem
Zitat:
|
Re: String Array Problem
Dann geh das ganze doch mal in Einzelschritten durch und guck dir die Werte der Variablen an.
|
Re: String Array Problem
Zitat:
|
Re: String Array Problem
Ich kann mir grad nicht vorstellen, wie das ganze aussieht:
Du hast also eine Radiogroup, mit 3 Auswahlmöglichkeiten. Ich würde vermuten, dass an die Antwort in Radiogroup.items[0] steht und nicht in "RBtnFrage_1.Caption". Was ist denn das "RBtnFrage_1.Caption"? |
Re: String Array Problem
Zitat:
RBtnFrage_1 bis RBtnFrage_3 sind die Antworten also die RadioButtons die die Antwortmöglichkeiten enthalten! |
Re: String Array Problem
Hi,
soweit ich sehe, bleibt dein 'i' in der case-Anweisung immer 1 - prüf das doch mal! Elicia |
Re: String Array Problem
Zitat:
|
Re: String Array Problem
Wie erstellst du das denn auf der IDE?
Kannst du mal bitte einen Screenshot deiner (aufgeklappten) Objekthierarchie geben! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:30 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