Работа с принтерами

Предыдущая тема Следующая тема Перейти вниз

Работа с принтерами

Сообщение  DEPOzit в Чт Дек 18, 2008 8:33 am

Хотелось бы заставить печатать на определенном принтере и графические картинки и текст. Какие операторы помимо LPRINT есть для реализации работы с принтерами?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: Работа с принтерами

Сообщение  mishana в Ср Янв 07, 2009 1:32 pm

в этом случае, лучше использовать функции операционной системы. В примерах (exemples) в папке windows есть такой код. На всяк случай приведу здесь.

Код:

#include "windows.bi"
#include "win/commdlg.bi"

function selectPrinter( ) as string
   dim as PRINTDLG pd
   pd.lStructSize = sizeof( PRINTDLG )

   if PrintDlg( @pd ) = FALSE then
      exit function
   end if
   
   dim as DEVNAMES ptr dn = GlobalLock( pd.hDevNames )
   
   function = *cast( zstring ptr, cast( byte ptr, dn ) + dn->wDeviceOffset )
   
   GlobalUnlock( dn )
   
end function


   dim as string printerName
   
   printerName = selectPrinter( )
   
   if( len( printerName ) = 0 ) then
      print "No printer selected"
      end 1
   end if
   
   if( open lpt( "LPT:" + printerName + ",EMU=TTY", for output, as #1 ) <> 0 ) then
      print "Error: Open failed"
      end 1
   end if
   
   print "Printing to: "; printerName
   
   print #1, "Hello, world!"
   
   close #1
А для печати изображения используй PUT (кажись так). Когда-то писал я графический редактор, и была у меня там функция печати, но было это давно, еще на 0.15 версии. Но точно помню, что использовал код из этого примера.
ЗЫ. Конешно, если ты используешь Linux или DOS, то тут уже вопрос второй. Все выше изложенное там не применимо.

mishana

Сообщения : 8
Дата регистрации : 2008-11-09
Возраст : 31
Откуда : Україна, Шепетівка

Посмотреть профиль

Вернуться к началу Перейти вниз

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения