AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeilenumbruch beim druck

Ein Thema von khh · begonnen am 30. Jan 2010 · letzter Beitrag vom 30. Jan 2010
Antwort Antwort
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#1

Zeilenumbruch beim druck

  Alt 30. Jan 2010, 12:54
hallo zusammen,
ich weiss jetzt zwar nicht ob ich im richtigen Forum bin, aber trotzdem:

mit
Delphi-Quellcode:

  Printer.Canvas.TextOut(frandlinks ,frandoben + cmtopixel(20,fdpih) , fdruckzeile);
drucke ich die "druckzeile" direkt auf den Drucker

das funktioniert soweit prima, bis auf die Tatsache dass Zeilenumbrüche nicht berücksichtigt werden.

Im String steht definitiv "blabla#13#10 weiterblabla"


Gibts hier ne Möglichkeit, oder muss ich die Zeile händisch auseinander nehmen?


Danke gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zeilenumbruch beim druck

  Alt 30. Jan 2010, 12:56
Übergebe den Strimg in eine Stringliste und gebe dann jede Zeile separat aus
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Zeilenumbruch beim druck

  Alt 30. Jan 2010, 12:58
Oder probier mal DrawText(Ex).
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Zeilenumbruch beim druck

  Alt 30. Jan 2010, 15:06
Zitat von mkinzler:
Übergebe den Strimg in eine Stringliste und gebe dann jede Zeile separat aus
das hab ich jetzt versucht, leider ohne Erfolg

ich bekomme den String nicht auseinander

wenn ich mir den String anzeigen lasse steht beispielsweise folgendes drin:
0x5c580e0'eine zeile'#13#10'noch eine Zeile'#13#10 was mich dabei irritiert sind die "Stringbegrenzer" dazwischen.
weder Stringreplace noch die function explode:
Delphi-Quellcode:
function Explode(var a: TStrArray; Border, S: string): Integer;
var
  S2: string;
begin
  Result := 0;
  S2 := S + Border;
  repeat
    SetLength(A, Length(A) + 1);
    a[Result] := Copy(S2, 0,Pos(Border, S2) - 1);
    Delete(S2, 1,Length(a[Result] + Border));
    Inc(Result);
  until S2 = '';
end;

mit folgendem aufruf:
Delphi-Quellcode:
       AnzTokens := Explode(A, '#13#10', S);
       for i := 0 to AnzTokens -1 do
       begin
       infozeilen.Add(A[i]);
       fdruckzeile := infozeilen[i];
       end;
bekommen diese Umbrüche raus.


wende ich die Funktion aber auf einen normalen string an:
zb dies ist ein = test und dies auch

und filtere auf = , dann liefern die Funktionen das richtige Ergebnis.


Hat jemand nochne Idee?

danke gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Zeilenumbruch beim druck

  Alt 30. Jan 2010, 15:09
Mit einer Stringliste sollte es gehen
Delphi-Quellcode:
var
  sl: TStrings;
  i: Integer;
...
  sl := TStringList.Create;
  sl.Text := <Text>;
  for i := 0 to sl.Count-1 do
  begin
    ..
Markus Kinzler
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.929 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Zeilenumbruch beim druck

  Alt 30. Jan 2010, 15:15
Zitat von mkinzler:
Mit einer Stringliste sollte es gehen
Delphi-Quellcode:
var
  sl: TStrings;
  i: Integer;
...
  sl := TStringList.Create;
  sl.Text := <Text>;
  for i := 0 to sl.Count-1 do
  begin
    ..
du bist der Beste, so einfach und es funktioniert ,-)



Gruss KH
Karl-Heinz
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz