Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать без прокрутки страницы [D6, XP]


Страницы:   1 2

иван8511 ©   (2006-08-28 01:00:00) 

Подскажите, пожалуйста, как сделать что б когда печатаешь несколько строчек на матричном принтере Epson LX-300, после этого страница автоматически не выезжала из принтера, а там же и оставалась что б на ней можно было верхний кусочек оторвать, а на остальной печатать дальше. Это особенно актуально при печати на рулоне, а то он так весь рулон перекрутит в пустую.
Для печати использую следующий код
procedure TForm1.Button1Click(Sender: TObject);
var
   To_Prn : TextFile;
begin
   Button1.Enabled:=False;
   AssignPrn(To_Prn);
   Rewrite(To_Prn);
   Writeln(To_Prn, Label1.Caption);
   CloseFile(To_Prn);
end;

Спасибо.


guav   (2006-08-28 01:50:00) [21]

> [4] guav ©  

Я имел ввиду, не вызывать EndPagePrinter и StartPagePrinter в том примере.
Кстати, если печатать через GDI обычным способом (StartDoc, вывод на DC, EndDoc) и не вызывать EndPage/StartPage не будет ли требуемый результат ?


> Что быстрее - уже не важно, всё равно механика - наиболее
> медленный узел при печати.

Вы в DOS текст наверное печатали, и знаете, что используется знаки, встроенные в принтер, и это быстрее чем печать графики, вот я про это говорю.


иван8511   (2006-08-28 01:48:00) [22]

А как валить то?


иван8511   (2006-08-28 01:47:00) [23]

Я понимаю. Но мне нужно печатать отрывные талоны. А на лазерном не напечатаешь. На бумаге разоришься.


Ketmar   (2006-08-28 01:47:00) [24]

да валить прямо в порт и не усложнять. это ж не лазерник.


Германн   (2006-08-28 01:44:00) [25]


> guav ©   (28.08.06 01:33) [4]

Есть подозрения (сам не пробовал конкретно этот вариант), что принцип Windows печати документов (а страница - это структурная единица документа, имхо) тут остаётся! Что быстрее - уже не важно, всё равно механика - наиболее медленный узел при печати.


иван8511   (2006-08-28 01:42:00) [26]

А что это такое? И как этим пользоваться?


guav   (2006-08-28 01:33:00) [27]

Сам не пробовал, и не могу (нет матричника сейчас), но есть подозрение, что это
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/prntspol_93g2.asp
будет работать. Причём, если будет работать, то быстрее чем приведенный код, т.к. можно будет печатать текст как текст, а не как графику.


Германн   (2006-08-28 01:31:00) [28]


> Ketmar ©   (28.08.06 01:29) [2]
>
> когда-то печатал путём прямого обращения к порту. %-)
>

Это мой первый раз. Давно это было! На одном из "Ижевских" заводов.


Ketmar   (2006-08-28 01:29:00) [29]

когда-то печатал путём прямого обращения к порту. %-)


Германн   (2006-08-28 01:14:00) [30]


> иван8511   (28.08.06 01:00)
>
> Подскажите, пожалуйста, как сделать что б когда печатаешь
> несколько строчек на матричном принтере Epson LX-300, после
> этого страница автоматически не выезжала из принтера, а
> там же и оставалась что б на ней можно было верхний кусочек
> оторвать, а на остальной печатать дальше. Это особенно актуально
> при печати на рулоне, а то он так весь рулон перекрутит
> в пустую.

Хороший вопрос. Вот только ответ на него, похоже, мало кто знает. :-(
Сам пару раз сталкивался. В первый раз спасло то, что принтер был подключен к СОМ-порту. Во-второй, спасло то, что количество строк всегдабыло одинаково. (Подогнал юзер размер страницы).


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо