![]() |
Ausgabe eines Blobfeldes auf den Drucker
Hallo zusammen,
ich habe in einer DB ein Blobfeld, welches schön mittels dbmemo gefüllt wird. Die Zeilenumbrüche sind an der richtigen Stelle, so wie sie im Memo eingegeben werden. ich lese diese memo zur Druckausgabe in einen string und übergebe diesen an stringlist.text In einer Schleife ( for i := 0 to sl.Count-1 do ) wird der Inhalt per Printer.Canvas.TextOut.... auf den Drucker ausgegeben. Dabei natürlich die Druckposition hochgezählt. Irgendwie steh ich aber mal wieder auf dem Schlauch. Wie krieg ich das hin, dass die Zeilenumbrüche berücksichtigt werden? Das sollte doch viel einfacher gehen, oder ? Gruss KHH |
AW: Ausgabe eines Blobfeldes auf den Drucker
Gehen wir davon aus, daß die Zeilenumbrüche CRLF sind, dann solltest Du dies Aufteilung mit Stringliste[i] zurück erhalten.
Wenn der Ausdruck nicht so aussieht wie Du ihn erwartest, bräuchten wir noch ein paar Details. Gruß K-H |
AW: Ausgabe eines Blobfeldes auf den Drucker
Das Eigenartige ist folgendes :
in den ersten beiden Zeilen habe ich am Ende #10#13#10 hier funktioniert der Zeilenumbruch, obwohl hier ja wohl ein #10 zu viel ist. Auch die Stringliste ist hier korrekt. danach habe ich #13#10#10#10 als "Zeilenumbruch" , wohl die Ursache des Fehlers :-( Aber woher kommen diese seltsamen Werte? |
AW: Ausgabe eines Blobfeldes auf den Drucker
Ich kenne als Verursacher, word und Wordpad aber es gibt da bestimmt noch ein paar andere.
ersetz doch jedes alleine stehendes #10 durch #13#10 und fertig.
Delphi-Quellcode:
Nich soo der Bringer aber wohl schneller als Ansireplace...
for i:=length(mytext) down to 1 do
if mytext[i]=#10 then if (i>1) and (mytext[i-1]<>#13) then insert(#13,mytext,i) else if i=1 then insert(#13,mytext,i) ; Gruß K-H |
AW: Ausgabe eines Blobfeldes auf den Drucker
ich danke dir
|
AW: Ausgabe eines Blobfeldes auf den Drucker
Delphi-Quellcode:
Aber da du es doch schon in der SL hattest, dann sind dieser die reingegebenen Zeilenumbrüche egal und in den
with TStringList.Create do
try Text := mytext; mytext := Text; finally Free; end;
Delphi-Quellcode:
, bzw.
mytext.String[i]
Delphi-Quellcode:
sind keine mehr enthalten.
mytext[i]
(es kommt aber auch darauf an, wie man die StringList befüllt) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz