![]() |
|
Seçili satırı ayrı, ayrı çıktı alma - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7) +--- Konu Başlığı: Seçili satırı ayrı, ayrı çıktı alma (/showthread.php?tid=4329) |
Seçili satırı ayrı, ayrı çıktı alma - BGNew - 19-12-2019 Merhaba; Listviewde seçili olan satırları databaseden verileri alıp word'e yazdırıyorum. Fakat birden fazla seçili satırı seçtiğimde, her seçilen satırın ayrı, ayır word'e nasıl yazılmasını sağlarım? procedure TForm1.BtnPLPrintersClick(Sender: TObject);
var
MyRect: TRectF;
I, J: Integer;
FDQ: TFDQuery;
Must, Title, Led: String;
begin
if ListView.Selected = Nil then // Seçili değilse çık
Exit;
FDQ := TFDQuery.Create(Nil);
try
Printer.BeginDoc();
try
for I := Pred(ListView.ItemCount) downto 0 do
begin
if ListView.Items[I].Data['Select'].AsInteger = 2 then
begin
FDQ.Connection := FDConnection;
FDQ.Active := False;
FDQ.Close;
FDQ.SQL.Clear;
FDQ.SQL.Add('Select * From Liste Where Id=:Id');
FDQ.ParamByName('ID').AsInteger := ListView.Items[I].Data['Id'].AsInteger;
FDQ.Prepared := True;
FDQ.Open;
Must := FDQ.FieldByName('Must').AsString + #13;
Title := FDQ.FieldByName('Title').AsString + #13;
News := FDQ.FieldByName('Led').AsString;
ListView.Items[I].Data['Select'] := NumberConvert(1); // Seçimi iptal et
MyRect := TRectF.Create(20, 20, Printer.PageWidth, Printer.PageHeight);
Printer.Canvas.Font.Family := 'Calibri';
Printer.Canvas.Stroke.color := TAlphaColorRec.Black;
Printer.Canvas.Font.Style := [];
Printer.Canvas.Font.Size := 75;
Printer.Canvas.FillText(MyRect, Must + Title +Led, False, 1, [], TTextAlign.Leading, TTextAlign.Leading);
end;
end;
finally
Printer.EndDoc;
end;
except
if Printer.Printing then
Printer.Abort();
end;
end;
|