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
)