Einzelnen Beitrag anzeigen

Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#24

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

  Alt 3. Sep 2010, 12:16
Hallo, ich habe mich dazu entschlossen, doch alles in case Blöcke einzubaun. Habe erstmal meine bisherigen Anweisungen einfach in die case Blöcke kopiert und sortier da jetzte aus was in allen gleich ist etc...
Delphi-Quellcode:
  for ichecked := 0 to CheckListBox1.Items.Count-1 do
    if CheckListBox1.Checked[ichecked] then
      case iZaehler of
      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;
      Formular.Show;
end;
Statements, die in allen cases gleich sind, soll ich über case iZaehler of schreiben, da aber in keinem der 4 etwas gleich ist sonder nur in sondern nur für 3 schreibe ich jetzte über den ersten case Block noch eine und schreib da meine gleichen Statements rein, dann ist das ganze schon ein bisschen aufgeräumt? Was haltet ihr davon?

Geändert von Metallicwar ( 3. Sep 2010 um 12:22 Uhr)
  Mit Zitat antworten Zitat