Registriert seit: 17. Mär 2005
Ort: Im schönen Allgäu
66 Beiträge
Delphi 11 Alexandria
|
Re: Delphi 2009 Umstellung Drucker Steuercodes gehen nicht m
28. Jul 2009, 07:52
Leider Nein!
Ich übergeben den String an ein TRichEdit dieser wird dann gedruckt ich vermute das das der Grund ist.
Kleiner Codeauszug
Hier werden die Druckersteuercode zugewiesen
Delphi-Quellcode:
Belegtext.Clear; // TRichEdit
Belegtext.Lines.Append(#27+#64); // Drucker initialisieren
Belegtext.Lines.Append(#27+#77+#48);
Belegtext.Lines.Append(#27+#82+#2); // Deutscher Zeichensatz //FKasse.Belegtext.Lines.Append('ÄÖÜßäöüß');
Belegtext.Lines.Append('Bla Bla');
DruckeRoh_String(Belegtext.Text, Drucker);
.....
Dann wird diese Procedure aufgerufen:
.....
Delphi-Quellcode:
procedure DruckeRoh_String(DruckText:AnsiString; Drucker :integer);
var Printer1 : array [0..255] of char;
p : Integer;
function RawDataToPrinter(const szPrinterName : Ansistring;
const data:Ansistring;
dwCount : DWORD) : boolean;
var
hPrinter : THandle;
DocInfo : TDocInfo1;
dwJOB : DWORD;
dwBytesWritten : DWORD;
begin
Result := False;
if OpenPrinter (pchar (szPrinterName), hPrinter, Nil) then
try
// Fill in the structure with info about this "document"
DocInfo.pDocName := 'Belegdruck';
DocInfo.pOutputFile := Nil;
DocInfo.pDatatype := 'RAW';
// Inform the spooler the document is beginning
dwJob := StartDocPrinter (hPrinter, 1, @docInfo);
if dwJob <> 0 then
try
if StartPagePrinter (hPrinter) then
try
if WritePrinter (hPrinter, Pchar(data), dwCount, dwBytesWritten) then
Result := dwBytesWritten = dwCount;
finally
EndPagePrinter (hPrinter)
end
finally
EndDocPrinter (hPrinter);
end
finally
ClosePrinter (hPrinter)
end
end; {RawDataToPrinter}
begin
GetProfileString ('windows', 'device', ',,,', Printer1, Sizeof(Printer1));
p := Pos (',', Printer1);
if p > 0 then
Printer1 [p - 1] := #0;
RawDataToPrinter (Printer1, DruckText, length(DruckText));
end;
Peter60
[edit=mkinzler]Delphi-Tags eingefügt Mfg, mkinzler[/edit]
|
|
Zitat
|