Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 722

•  TDictionary Custom Sort  6 724

•  Fast Watermark Sources  6 507

•  3D Designer  9 445

•  Sik Screen Capture  6 838

•  Patch Maker  7 288

•  Айболит (remote control)  7 230

•  ListBox Drag & Drop  6 090

•  Доска для игры Реверси  97 825

•  Графические эффекты  7 406

•  Рисование по маске  6 701

•  Перетаскивание изображений  5 556

•  Canvas Drawing  5 941

•  Рисование Луны  5 717

•  Поворот изображения  5 179

•  Рисование стержней  3 782

•  Paint on Shape  2 962

•  Генератор кроссвордов  3 904

•  Головоломка Paletto  3 103

•  Теорема Монжа об окружностях  3 913

•  Пазл Numbrix  2 577

•  Заборы и коммивояжеры  3 371

•  Игра HIP  2 312

•  Игра Go (Го)  2 211

•  Симулятор лифта  2 620

•  Программа укладки плитки  2 203

•  Генератор лабиринта  2 719

•  Проверка числового ввода  2 360

•  HEX View  2 696

•  Физический маятник  2 373

 
скрыть

Как распечатать PRN файл



uses
  Printers, Winspool;

function SpoolFile(const FileName, PrinterName: string): Integer;
var
  Buffer: record
    JobInfo: record // ADDJOB_INFO_1
      Path: PChar;
      JobID: DWORD;
    end;
    PathBuffer: array[0..255] of Char;
  end;
  SizeNeeded: DWORD;
  Handle: THandle;
  PrtName: string;
  ok: Boolean;
begin
  // Flush job to printer
  PrtName := PrinterName;
  if PrtName = '' then
    PrtName := Printer.Printers[Printer.PrinterIndex]; // Default printer name
  ok := False;
  if OpenPrinter(PChar(PrtName), Handle, nil) then
    if AddJob(Handle, 1, @Buffer, SizeOf(Buffer), SizeNeeded) then
      if CopyFile(PChar(FileName), Buffer.JobInfo.Path, True) then
        if ScheduleJob(Handle, Buffer.JobInfo.JobID) then
          ok := True;
  if not ok then
    Result := GetLastError
  else
    Result := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if SpoolFile('c:\test.prn', Printer.Printers[0]) = 0 then
    ShowMessage('No error...');
end;

Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте