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

5 отговора 318 прегледа
#1

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

Здравейте , проблемът ми по точно е че след комадата за принтиране трябва да се отпечатят 2 реда след което принтера да извади още малко хартия за да може да се откъсне отпечатаното и да спре ( става дума за матричен принтер с безконечна хартия) , а в момента след като отпечати ми вади още един лист и тогава спира .принтирането го правя от МЕМО така:

procedure TForm2.Button1Click(Sender: TObject);
VAR
POutput:TextFile;
N:LongInt;
begin

AssignPrn(POutput);
Rewrite(POutput) ;
FOR N := 0 to Memo1.Lines.Count - 1 DO
Writeln(POutput, Memo1.Lines [N]);
closefile(POutput);
END;

И ако може да обясните по подробно , защото съм новобранец в ДЕЛФИ и с една дума няма да разбера , Благодаря предварително на всеки който помогне.
работя с Делфи 7 ако има значение.

Отговор
в отговор на otoboto #2

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

Ами това в голяма степен си зависи от самия принтер. Най-лесно можеш да му пратиш още два реда с печат на LF:

Writeln(POutput, #10);
Writeln(POutput, #10);

Друг вариант е да ползваш директно ESCAPE командите, но трябва да видиш в упътването на принтера кои се поддържат.

Mixy
Отговор
в отговор на otoboto #3

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

Почти всички матрични принтери имат функция "Tear off" (названието може да варира в различните марки). Как се включва/изключва ще прочетеш в документацията на принтера.

За дължината на страницата си има esc команда. Начина на задаване ще прочетеш в документацията на принтера

Отговор
в отговор на otoboto #4

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

чичко Гугъл е щедър по въпроса с Esc кодовете:
[линк]
експериментирането с тях ще ти е полезно. И забавно

чети и дишай по-леко
Отговор
в отговор на otoboto #5

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

Изпълнението на командата closefile(POutput) (и други подобни - EndDoc) изпълняват и командата "Нова страница". Опитвах се преди време да реша проблема и не можах. Може да звучи странно но си направих една малка програма на Pascal под DOS, на която в команден ред подавам данните за печат и няма проблеми. Възниква само проблема за кирилизацията на принтера и преобразуването на данните в DOS формат, които са преодолими.
Ако не помогнат съветите на колегите, можеш да опиташ с моя метод.

Отговор
в отговор на TRN #6

Re: проблем с принтирането [otkacham]

Напипах го .
Само да се похваля ,че си разреших проблема с принтирането.
@TRN просто вместо Аssignprn(POutput) ползвах Assignfile (PrnF,'LPT1');
и след closefileto направо кове на место принтера.
с beginDoc i EndDoc пак става , но там трябва да се лъже с дължината на листа ESC 27,67,n - Page length (n lines) .

Лошото е ,че като подава директно на LPTто не може да ползва дривера на принтера и кирилицата става на гъз та видях малко зор с Encodinga

Благодаря на всички които ме открехнаха по въпроса .

Редактирано от otoboto на

Отговор