Announcement

Collapse
No announcement yet.

Textdruckmodus positionen übergeben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Textdruckmodus positionen übergeben

    Hallo,

    im moment drucke ich aus meinem programm mit canvas und gebe die positionen in pixel an.
    .
    doch das dauert mir auf dem nadeldrucker zu lange.

    wie kann ich in dem sogenannten textmodusdruck die positionen mit übergeben.
    .
    ist das übehaupt möglich?
    .
    Hier ein beispiel aus dem netz für den texmodus:
    .
    uses WinSpool;
    .
    procedure DruckeRoh_String(DiesenText:string);
    var Printer : array [0..255] of char;
    p : Integer;
    .
    function RawDataToPrinter(const szPrinterName : string;
    const data:string;
    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 := 'My Document';
    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',
    ',,,',
    Printer,
    sizeof(Printer));
    p := Pos (',', Printer);
    if p > 0 then
    Printer [p - 1] := #0;
    RawDataToPrinter (Printer, DiesenText, length(DiesenText));
    end;
    .
    Danke für eure Hilfe
Working...
X