Entwickler-Ecke
Sonstiges (Delphi) - Drucken...
Leathl - Fr 17.01.03 18:27
Titel: Drucken...
---
torstenheinze - Fr 17.01.03 18:31
übernimm die verschiedenen einträge in ein richedit und machedas in das format wie du das haben willst, und dann drucke das
richedit1.lines.add('Lehrer/in: ' + Lehrername + 'Tel: ' + telnum)
Leathl - Fr 17.01.03 18:38
---
torstenheinze - Fr 17.01.03 18:46
einfach den eintrag beispielsweisenummer 2 aus der liste lesen und als wert einér stringvariable übergeben
und die stringvar könnte bsp lehrername oder so heißen
torstenheinze - Fr 17.01.03 18:51
Quelltext
1: 2: 3: 4: 5: 6: 7:
| var s: string; begin memo1.Clear; s := listbox1.Items.Strings[1]; memo1.Lines.Add('Lehrername: ' + s); end; |
Moderiert von
Tino: Code-Tags hinzugefügt.
torstenheinze - Fr 17.01.03 18:51
statt memo1 kannst du auch richedit1 nehmen
Leathl - Fr 17.01.03 19:28
---
Keldorn - Fr 17.01.03 20:59
| Zitat: |
kann ich im richedit ne tabelle machen???
|
Wenn du unbedingt ein Richedit nehmen willst:
Du kannst dir wie im Word eine Tabelle mit tabstops aufbauen. wenn du über einen Tabstop drüber schreibast, geht dir die Formatierung aber trotzdem flöten.
Schau dir die Eigenschaft
Paragraph des Richedits an. Dort gibt es
tab und tabcount die du verwenden kannst.
um eine Zeile hinzuzufügen sähe dann so aus
Quelltext
1:
| richedit1.lines.add('blabla1'+chr(Vk_Tab)+'blablabla2'+chr(Vk_tab)+'blabla3') |
Mfg Frank
Leathl - Fr 17.01.03 21:41
---
Keldorn - Sa 18.01.03 12:16
| Zitat: |
wie kann ich davon die abstände größer machen??
|
na, hab ich doch oben schon gesagt.
mit
tab und Tabcount
| Zitat: |
+chr(Vk_Tab)+chr(Vk_Tab)
|
nützt dir gar nix.
| Zitat: |
das passt aber bei längeren sachen auch nicht icon_sad.gif... gibts nicht was, wie ich das ganz genau drunter machen kann??? dass es auch alles so passt?!
|
Schau dir word und Excel an und probier mal dort das zu erreichen. das ist nicht so einfach. im Excel kannst du deine Spalten an die Maximal länge anpassen, kannst dort aber wieder über den Seitenrand beim drucken kommen oder mußt die Seite verkleinern. so oder so wird es irgendwo Problemchen geben.
Als alternative kannst ein Listview verwenden, das kannst du so einstellen, daß die Spaltenbreite automatisch an den Inhalt angepaßt werden. wie du das dann aber wieder ausdrucken kannst ist eine anderes sache.
Mfg Frank
Delete - Sa 18.01.03 14:24
Schon mal darangedacht die Ausgabe direkt auf dem Canvas des Druckers zu machen?
Leathl - Sa 18.01.03 14:58
---
Delete - Sa 18.01.03 15:03
Na ja du mußt den Listview auslesen und dann mit Texout auf dem canvas ausgeben. Ist natürlich etwas mehr Arbeit, aber dafür kannst du auch Linien usw. zeichnen.
torstenheinze - Sa 18.01.03 15:14
mal eine frage, wie kann man , wenn man auf das canvas gezeichnet hat das dann drucken?
Delete - Sa 18.01.03 15:46
Du zeichnes doch direkt auf den Canvas des Printers nicht auf den Canvas der Form oder so. Steckt glaube ich alles ín der Unit TPrinter.
torstenheinze - Sa 18.01.03 17:01
achso, also zeichne ich mit einer funktion auf das canvas der formn, und dann zeichne ich genau das selbe auf das canvas des druckers und dann das selbe mit der nächsten funktion.
so hab ich im pinzip ne vorschau. :wink:
ob das stimmt... :oops:
Leathl - Sa 18.01.03 18:08
---
torstenheinze - Sa 18.01.03 18:48
<Objekt>.canvas.moveto(x,y);
<Objekt>.canvas.lineto(x,y);
wenn du damit geschickt die linien zeichnest, dann kannst du dich freuen, wenn am ende eine tabelle rauskommt.
strichstärke kannst du auch vorher einstellen, suche mal ein bischen unter brush und pen in der hilfe... :wink:
______________________________________________________
:wink2:
Leathl - Sa 18.01.03 18:52
---
torstenheinze - So 19.01.03 13:45
mach das ganze mit einer schleife.
so dass die nächste linie immer 10 pixel unter der vorigen ist, bis die schleife zu ende ist, und die schleife soll dann sooft durchlaufen, wie es einträge in der listbox gibt, dann zeichnest du noch die ninien, die die spalten trennen, und mit canvas.textout gibst du die position des textes an.
torstenheinze - So 19.01.03 13:47
wie lange hast du noch zeit für das projekt?
wenn ich mein jetziges beendet hab, dann mach ich dir mal eine demo, die dir zeigt, wie man auf das canvas zeichnet, und das mit dem drucken, da versuche ich das dann mal mit TPriner
Leathl - So 19.01.03 14:35
---
Leathl - Mo 20.01.03 19:01
---
torstenheinze - Mo 20.01.03 19:29
na dann musst du das mit einem spinedit oder ner scrollbar oder ner trackbar einstellen, wie weit die lienien außeinander sind, sei kreativ, und am ende hast du nen prog, das sich sogar mit der excel-tabelle messen kann :wink:
Leathl - Mo 20.01.03 23:15
---
Delete - Mo 20.01.03 23:32
So, das ist jetzt für den Canvas von der Form. Mit dem Canvas vom Printer geht es genauso, nur da hatte ich jetzt nicht die Lust zu. Tinte ist teuer heut zu tage.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button1Click(Sender: TObject); var i : Integer; begin with Canvas do begin Brush.Style := bsClear; for i := 1 to 9 do begin Moveto(5,i*18); LineTo(255,i*18); end; for i := 1 to 3 do begin MoveTo(i*60, 5); LineTo(i*60, 170); end; for i := 0 to 8 do TextOut(6,i*19+2, 'Hallo'); end; end; |
Ist nicht perfekt, aber für eine Demo reicht es wohl.
Leathl - Di 21.01.03 13:52
---
Delete - Di 21.01.03 13:54
| Leathl hat folgendes geschrieben: |
| thx... aber wie gesagt, halte ich es nicht für die beste idee... aber ich versuche mal ein bisschen rum... |
Ich denke schon, dass es die beste Möglichkeit ist. Aber überzeug mich, nenn mir eine bessere.
Leathl - Di 21.01.03 13:58
---
Delete - Di 21.01.03 14:02
Was geht nicht? Dass es nicht so ganz hinhaut mit den Linien und dem Text ist klar, ich hatte keine Lust da jetzt großartig was hin zu fummeln.
Leathl - Di 21.01.03 14:26
---
Leathl - Do 23.01.03 14:12
---
smiegel - Do 23.01.03 14:23
Hallo,
@Leathl
es ist jetzt mühsam für mich, den ganzen Chat nachzuvollziehen. Sende mit Deinen Code (sofern Du Interesse hast) an meine E-Mail-Adresse, ich bau Dir dann 'ne Druckroutine dazu. Außerdem müsste ich dann noch wissen, welche Delphi-Version Du hast.
Leathl - Do 23.01.03 17:45
---
smiegel - Do 23.01.03 17:50
Hallo,
sorry, in meinen Benutzereinstellungen war die Anzeige der E-Mail-Adresse deaktiviert. Habe das jetzt korrigiert.
Leathl - Fr 24.01.03 00:10
---
Leathl - So 26.01.03 21:15
---
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!