AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

String Array Problem

Ein Thema von Jacer · begonnen am 2. Feb 2007 · letzter Beitrag vom 2. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Jacer

Registriert seit: 28. Jan 2007
21 Beiträge
 
#1

String Array Problem

  Alt 2. Feb 2007, 14:47
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: String Array Problem

  Alt 2. Feb 2007, 14:51
Zitat von Jacer:
Dies ging ebenfalls nicht.
Und das ist eine ungenügende Fehlerbeschreibung.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Jacer

Registriert seit: 28. Jan 2007
21 Beiträge
 
#3

Re: String Array Problem

  Alt 2. Feb 2007, 14:55
Zitat von Luckie:
Zitat von Jacer:
Dies ging ebenfalls nicht.
Und das ist eine ungenügende Fehlerbeschreibung.
Damit wollte ich sagen, dass er dort auch nicht die gespeicherten Variablen in den Labels ausgegeben hat. Ich wollte damit nur beschreiben, dass der Fehler schon in dem Teil der case-Anweisung liegen muss und nicht in dem Ausgabe-Teil!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: String Array Problem

  Alt 2. Feb 2007, 15:11
Dann geh das ganze doch mal in Einzelschritten durch und guck dir die Werte der Variablen an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Jacer

Registriert seit: 28. Jan 2007
21 Beiträge
 
#5

Re: String Array Problem

  Alt 2. Feb 2007, 15:36
Zitat von Luckie:
Dann geh das ganze doch mal in Einzelschritten durch und guck dir die Werte der Variablen an.
Habe ich bereits gemacht. Dadurch habe ich wie bereits gesagt festgestellt, dass die Variablen in der case-Anweisung nicht definiert werden wie es eigentlich gedacht ist. Warum dies allerdings nicht der Fall ist kann ich daraus nicht entnehmen.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: String Array Problem

  Alt 2. Feb 2007, 16:47
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"?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Jacer

Registriert seit: 28. Jan 2007
21 Beiträge
 
#7

Re: String Array Problem

  Alt 2. Feb 2007, 16:51
Zitat von sirius:
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"?
Okay die Benennung war ziemlich dämlich dass gebe ich zu.

RBtnFrage_1 bis RBtnFrage_3 sind die Antworten also die RadioButtons die die Antwortmöglichkeiten enthalten!
  Mit Zitat antworten Zitat
Elicia

Registriert seit: 16. Jan 2007
Ort: Salzburg
19 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: String Array Problem

  Alt 2. Feb 2007, 17:00
Hi,

soweit ich sehe, bleibt dein 'i' in der case-Anweisung immer 1 - prüf das doch mal!

Elicia
  Mit Zitat antworten Zitat
Jacer

Registriert seit: 28. Jan 2007
21 Beiträge
 
#9

Re: String Array Problem

  Alt 2. Feb 2007, 17:28
Zitat von Elicia:
Hi,

soweit ich sehe, bleibt dein 'i' in der case-Anweisung immer 1 - prüf das doch mal!

Elicia
Die Variable I wird auch est ganz am Ende erhöht, wenn alle Befehle durchgeführt wurden die in Bezug auf I=1 nötig sind. In der case-Anweisung wird ja nur ausgelesen welche Antwort für Frage 1-5 gewählt wurde. Wenn sich I dort erhöhen würde wäre das nicht sher sinnvoll, denn er soll die Case-Anweisung ja erst wieder ausführen, wenn der Benutzer die nächste Frage beantwortet und den Button gedrückt hat.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: String Array Problem

  Alt 2. Feb 2007, 17:48
Wie erstellst du das denn auf der IDE?
Kannst du mal bitte einen Screenshot deiner (aufgeklappten) Objekthierarchie geben!
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:08 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