Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: Problem bei case // Problem bei Komponenten löschen

  Alt 3. Sep 2010, 12:33
Delphi-Quellcode:
  for ichecked := 0 to CheckListBox1.Items.Count-1 do
//begin ... so lange Folgeanweisungen würde ich der Übersichtlichkeit halber in ein begin...end kapseln. Ist zwar nicht notwendig, liest sich aber besser
    if CheckListBox1.Checked[ichecked] then
// hier evtl. auch ein begin ... end nutzen, da dann eine sehr lange Anweisung folgt
      case iZaehler of
// kann man auch schön einrücken:
// 0..100: begin
// ...
// end;
      10:
      begin
        for I := l.Count -1 downto 0 do
        begin
        Frames:= (L[i] as TFrame4);
        Frames.Free;
        end;
        ShowMessage('Formular in Zwischenablage kopieren + Formular leeren');
        iZaehler := 0;
        iGecheckteFrames:= iGecheckteFrames + 1;
          if iGecheckteFrames = 13 then
           begin
            ShowMessage('Zwischenablage drucken + aktuelle Form leeren')
           end;
      end;
      0:
      begin
      // --> Anweisungen
        Frames := TFrame4.Create(Self);
        L.Add(Frames);
        Frames.ClientHeight := 200;
        Frames.Name:='';
        Frames.Top := iY;
        Frames.Parent := Formular;
        iZaehler := iZaehler + 1;
        iGecheckteframes := iGecheckteframes + 1;
        if iGecheckteFrames = 13 then
        begin
        ShowMessage('Zwischenablage drucken und aktuelle Form drucken');
        end;
      end;
      1..4:
      begin
        Frames := TFrame4.Create(Self);
        L.Add(Frames);
        Frames.ClientHeight := 200;
        Frames.Name:='';
        Frames.Top := iY + Frames.ClientHeight;
        iY := Frames.Top;
        Frames.Parent := Formular;
        iZaehler := iZaehler + 1;
        iGecheckteFrames := iGecheckteFrames + 1;
        if iGecheckteFrames = 13 then
        begin
          ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
        end;
      end;
      5:
      begin
        Frames := TFrame4.Create(Self);
        L.Add(Frames);
        Frames.ClientHeight := 200;
        Frames.Name:='';
        Frames.Left := 350;
        Frames.Parent := Formular;
        iZaehler := iZaehler + 1;
        iGecheckteframes := iGecheckteframes + 1;
      end;
      6..9:
      begin
        Frames := TFrame4.Create(Self);
        L.Add(Frames);
        Frames.ClientHeight := 200;
        Frames.Name:='';
        Frames.Left := 350;
        Frames.Top := iRunter + Frames.ClientHeight;
        iRunter:= Frames.Top;
        Frames.Parent := Formular;
        iZaehler := iZaehler + 1;
        iGecheckteFrames := iGecheckteFrames + 1;
        if iGecheckteFrames = 13 then
        begin
          ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
        end;
      end;
      end; // 2 "end" auf gleicher Ebene? Das ist unübersichtlich... und könnte auf einen Fehler hinweisen.
      Formular.Show;
end;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat