Hi,
ich habe eine ähnliche Vorlage gefunden wie shmia (von Peter Below, Team B) und abgewandelt :
Delphi-Quellcode:
procedure Drucke (st :
string);
var
BytesWritten: DWORD;
hPrinter: THandle;
DocInfo: TDocInfo1;
begin
if not WinSpool.OpenPrinter(DruckerName, hPrinter,
nil)
then
raise exception.create('
Drucker nicht gefunden !');
try
DocInfo.pDocName := DruckerName;
// von INI festgelegter Standard-Drucker
// beeinflußt Win-Standarddrucker nicht !
DocInfo.pOutputFile :=
Nil;
DocInfo.pDatatype := '
RAW';
if StartDocPrinter(hPrinter, 1, @DocInfo) = 0
then
Abort;
try
if not StartPagePrinter(hPrinter)
then
Abort;
try
if not WritePrinter(hPrinter, @st[1], Length(st), BytesWritten)
then
Abort;
finally
EndPagePrinter(hPrinter);
end;
finally
EndDocPrinter(hPrinter);
end;
finally
WinSpool.ClosePrinter(hPrinter);
end;
end;
procedure DruckLn (st :
string);
begin
Drucke (st+chr (10) + chr (13));
end;
Kann man das so verwenden ? Oder kann ich auch drucken, ohne dauernd diese Prozedur zu bemühen ? Gehen tut das schon so, auch mit Netzwerkdruckern.
Und dann noch das :
DocInfo.pDatatype := 'RAW';
Habe festgestellt, daß eine Änderung von "RAW" dazu führt, daß der Drucker nicht druckt. Außerdem vermisse ich die Hilfe dazu. Ist die eventuell im Win-
SDK ?