![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать без прокрутки страницы [D6, XP]
иван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, после
> этого страница автоматически не выезжала из принтера, а
> там же и оставалась что б на ней можно было верхний кусочек
> оторвать, а на остальной печатать дальше. Это особенно актуально
> при печати на рулоне, а то он так весь рулон перекрутит
> в пустую.
Хороший вопрос. Вот только ответ на него, похоже, мало кто знает. :-(
Сам пару раз сталкивался. В первый раз спасло то, что принтер был подключен к СОМ-порту. Во-второй, спасло то, что количество строк всегдабыло одинаково. (Подогнал юзер размер страницы).