Einzelnen Beitrag anzeigen

Metallicwar

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

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

  Alt 3. Sep 2010, 09:57
Hatte es so auch schonmal, da lief es aber leider nicht so wie ich wollte.
Delphi-Quellcode:
procedure TForm1.bitbtnDruckenClick(Sender: TObject);
var
iChecked, iZaehler, iGecheckteFrames, iY, iRunter, iErstellteFrames, i: Integer;
begin
  Formular:=TForm.Create(Self);
  Formular.ClientHeight := 1500;
  Formular.ClientWidth := 670;
  l:=TComponentList.Create;
  L.OwnsObjects:= False;
  iGecheckteFrames := 0;
  iErstellteFrames := 0;
  iY := 0;
  iRunter := 0;
  iZaehler := 0;
  for ichecked := 0 to CheckListBox1.Items.Count-1 do
  begin
    Inc(iErstellteFrames);
    if CheckListBox1.Checked[ichecked] then
    begin
      if iGecheckteFrames = iErstellteFrames then
      begin
        ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
      end
      else
      begin
        if iZaehler = 10 then
        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 = iErstellteFrames then
          begin
            ShowMessage('Zwischenablage drucken + aktuelle Form leeren')
          end;
        end
        else
        begin
          if iZaehler = 0 then
          begin
            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 = iErstellteFrames then
            begin
            ShowMessage('Zwischenablage drucken und aktuelle Form drucken');
            end;
          end
          else
          begin
            if iZaehler <= 4 then
            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 = iErstellteFrames then
              begin
                ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
              end;
            end
            else
            begin
              if iZaehler = 5 then
              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
              else
              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 = iErstellteFrames then
                begin
                  ShowMessage('Zwischenablage drucken + aktuelle Form drucken');
                end;
              end;
            end;
          end;
        end;
      end;
    end;
    Formular.Show;
  end;
end;
Was mach ich blos falsch? :O (Der Mittag rückt näher, da muss es fertig sein )
  Mit Zitat antworten Zitat