Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Daten aus Listview in eine Tabelle Drucken...
Leathl - So 10.10.04 22:17
Titel: Daten aus Listview in eine Tabelle Drucken...
---
Delete - Mo 11.10.04 01:14
Es gibt da mehrer Möglichkeiten. Ebntweder direkt auf den Canvas des Druckers. Da musst du aber viel von Hand machen, bist aber auch entsprechend flexibel. Stichworte wären: BeginDoc, EndDoc usw.
Oder du nimmst eine Reportkomponente. Was aber auch nicht immer ganz einfach ist, da es nur wenige gute gibt. Und die kosten eventuell was.
killavirus - Mo 11.10.04 10:03
Du kannst aber dir per OLE Word öffnen und dort ne Tabelle erstellen und dort dann die Daten eintragen und Sie dann Drucken ...
Hier mal die Source vielleicht hilft es dir ...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| var NewDoc : OLEVariant; V, WordTable: Variant;
try V := GetActiveOLEObject('Word.Application'); V.WordBasic.AppShow; except try V:=CreateOleObject('Word.Application'); V.WordBasic.AppShow; except ShowMessage('Fehler! Word ist weder geöffnet noch konnte es gestartet werden!'); VarClear(V); exit; end;
end;
V.Visible := True;
NewDoc := V.Documents.Add;
WordTable := NewDoc.Tables.Add(V.Selection.Range, StringGrid.RowCount, StringGrid.ColCount);
for GridRows := 1 to StringGrid.RowCount do begin for GridCols := 1 to StringGrid.ColCount do begin
WordTable.Cell(GridRows, GridCols).Range.Text := StringGrid.Cells[GridCols - 1, GridRows - 1];
end; end; |
killavirus - Mo 11.10.04 10:03
Titel: Word Tabellen erstellen
Du kannst aber dir per OLE Word öffnen und dort ne Tabelle erstellen und dort dann die Daten eintragen und Sie dann Drucken ...
Hier mal die Source vielleicht hilft es dir ...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| var NewDoc : OLEVariant; V, WordTable: Variant;
try V := GetActiveOLEObject('Word.Application'); V.WordBasic.AppShow; except try V:=CreateOleObject('Word.Application'); V.WordBasic.AppShow; except ShowMessage('Fehler! Word ist weder geöffnet noch konnte es gestartet werden!'); VarClear(V); exit; end;
end;
V.Visible := True;
NewDoc := V.Documents.Add;
WordTable := NewDoc.Tables.Add(V.Selection.Range, StringGrid.RowCount, StringGrid.ColCount);
for GridRows := 1 to StringGrid.RowCount do begin for GridCols := 1 to StringGrid.ColCount do begin
WordTable.Cell(GridRows, GridCols).Range.Text := StringGrid.Cells[GridCols - 1, GridRows - 1];
end; end; |
Leathl - Di 12.10.04 21:07
---
Leathl - Do 14.10.04 20:09
---
Leathl - Mo 01.11.04 18:21
---
JayEff - Mo 01.11.04 19:22
Oha. Wie kommt es eigentlich dass das mit dem Drucken so extrem unglaublich kompliziert ist??? Ob wohl mal jemand eine Unit schreiben kann, mit der man einfach...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var Drucker: TTollerEinfacherDrucker; begin drucker.Create; drucker.lines:=memo1.Lines; drucker.LineSize:='10';
drucker.print; drucker.free; |
Ich glaube, damit könnte man Millionen machen -.-
Sorry, ich für meinen Teil bin einfach nur zu BLÖD um das hinzubekommen. Aber ich versuche mich mal einzuarbeiten... Dazu muss ich aber erstmal checken, wie man public deklarationen macht, wie man ein objekt wie TTollerEinfacherDrucker erstellt... undsoweiter...
Soulama - Do 04.11.04 17:22
Probier aus mit QuickReport,
OnNeedData Event ist die lösung
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!