Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

Re: alle ListBox-Einträge erscheinen doppelt!

  Alt 15. Okt 2006, 21:36
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;
warum so umständlich?

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;

{ Imo passiert hier dein Fehler: Du fügst bei jedem Repaint wieder Items hinzu: Lösen lässt sich das ganz einfach: }
radiogroup2.items.clear;

for i := 1 to 10 do
  if programm[i].rechenart = rechenart then
    RadioGroup2.Items.Add(programm[i].name);
end;
Übrigens sollte es mit einer globalen Varaible i eigentlich keine Probleme geben.
  Mit Zitat antworten Zitat