Einzelnen Beitrag anzeigen

Johanna88

Registriert seit: 15. Okt 2006
9 Beiträge
 
#8

Re: alle ListBox-Einträge erscheinen doppelt!

  Alt 15. Okt 2006, 21:22
Habe es zuerst seeeehr lange mit einer ListBox versucht, und weil es nicht funktioniert hat dann mit einer RadioGroup, aber das Problem war immer das selbe.

Das Record habe ich so definiert (vor dem Variabel-Teil im interface (<- so nennt man das doch?))
Delphi-Quellcode:
type TDb = record
                rechenart, variante: integer;
                name: string;
                end;
Und die "Datenbank" ist eine inc-datei, die unmittelbar vor dieser schlaufe eingefügt wurde.
Sie sieht so aus:
Delphi-Quellcode:
with programm[1] do begin
  rechenart := 1;
  variante := 1;
  name := '...bis 100';
  end;

with programm[2] do begin
  rechenart := 2;
  variante := 1;
  name := '...bis 100';
  end;

with programm[3] do begin
  rechenart := 3;
  variante := 1;
  name := 'Kleines 1x1';
  end;

with programm[4] do begin
  rechenart := 4;
  variante := 1;
  name := 'Kleines 1x1';
  end;

with programm[5] do begin
  rechenart := 1;
  variante := 2;
  name := '..bis 1000';
  end;

with programm[6] do begin
  rechenart := 2;
  variante := 2;
  name := '...bis 1000';
  end;

with programm[7] do begin
  rechenart := 3;
  variante := 2;
  name := 'Mittleres 1x1';
  end;

with programm[8] do begin
  rechenart := 4;
  variante := 2;
  name := 'Mittleres 1x1';
  end;

with programm[9] do begin
  rechenart := 3;
  variante := 3;
  name := 'Grosses 1x1';
  end;

with programm[10] do begin
  rechenart := 4;
  variante := 3;
  name := 'Grosses 1x1';
  end;
Vielleicht zur Erläuterung: Ich bin daran, ein Rechnungsübungsprogramm für Primarschüler zu machen. Die Rechenart (1-4) ist Addition, Subtraktion, Multiplikation und Division. Jede Rechenart hat verschiedene Varianten, (1-???), also bspw. "Kleines 1x1" (= Variante 1) und "Mittleres 1x1" (= Variante 2).

Und die ganze Prozedur sieht so aus:
Delphi-Quellcode:
procedure TForm2.FormPaint(Sender: TObject);
var i: integer;
begin
Label2.Caption := rechenartStr;
Label2.Font.Color := Farbe;
anzAufg := 10;

if rechenart = 0 then ShowMessage('Wähle eine Rechenart!');
// RadioGroup mit Auswahlmöglichkeiten füllen
{$I db.inc}
i := 1;
j := 0;
while i < 11 do begin
  if programm[i].rechenart = rechenart then
    begin
    RadioGroup2.Items.Add(programm[i].name);
    j := j + 1;
    end;
  i := i + 1;
end;
Mir ist gerade aufgefallen, dass ich im interface, eine Variable i eingeführt habe und in der Prozedur ebenfalls. Könnte das Problem damit zusammenhangen?
  Mit Zitat antworten Zitat