ПредишенСледващото

Състояние на принтера. Как да се установи?

Налице е необходимост да се справят с текущото състояние на принтера. Отпечатването се извършва на баркод принтер.
Буферът за печат не се е хвърлен цялата работа, а на лист
Потребителят трябва да бъде в състояние да отмените отпечатването по всяко време.
Как да се определи, че на листа за отпечатване (принтерът не печата нищо). Аз използвам глобалната обект принтер.


> Потребителят трябва да бъде в състояние да отмените отпечатването по всяко време.

Съжалявам, че Offtopic, но защо да не му позволи да го направи чрез редовни средства - чрез отмяна на опашката за печат?

Аз не знам отговора, за съжаление.

Не отивай - това поле на принтер. Принтерът не разполага с една връзка.

Д., че някога са се объркали, или тук:

Използвайте печат да се определи дали работа печата.
Отпечатването е вярно, когато заявлението е наречен метод на BeginDoc но методът на EndDoc (или по метода на Прекрати) hasn "тон все още се нарича.

Необходимо е да се спре печатането на програмата?


> Необходимо от програмата спре да печата?

Е, вие видите типа на реализация на печат - това е просто delfovy кутия.

>> това е просто delfovy кутия.

Разбира се това е само един бар напредък. но:

>> Потребителят трябва да бъде в състояние да отмените отпечатването по всяко време. = Прекъсни
>> Как да се определи, че на листа за отпечатване (принтерът не печата нищо). # XA0 = печат.

Т.е. Ако сега има нужда, за да отмените отпечатването, и най-пресата,

ако Printer.Printing тогава Printer.Abort

Разбрах правилно?

Изглежда така, но това, което е странно. Изпращане на заявка за печат (BeginDoc), а след това идва на процеса на печат (Printing = вярно), и след приключване на задачата (без значение колко той е приключил, въпреки че всички от спукването на касета, ако е само система съобщава за него) получи (EndDoc и печат = невярно). Ако хартията е заседнала (например) Printing = вярно, докато проблемът не бъде отстранен ръчно или чрез всъщност не е свързана с TPrinter. Съгласен да се определи, че задръстване на хартия могат да бъдат само визуално (т.е., не софтуер).

нещо, което аз не разбирам какво искаш да кажеш:

процедура TPrinter.EndDoc;
започвам
# XA0; CheckPrinting (True);
# XA0; EndPage (DC);
# XA0; ако не Прекратено тогава Windows.EndDoc (DC);
# XA0; FPrinting: = False;
# XA0; FAborted: = False;
# XA0; FPageNumber: = 0;
приключи;

Аз съм затворен заявлението, т.е. enddoc отдавна са изпълнени, т.е. печат = фалшиви, и принтерът отпечатва всички.

Razyasnyu. Когато принтерът свърши хартията го отпечатва на последната страница на останалата бедността страница (принтер, също).
За сметка на свойствата на печат, следното - стачки една страница, а след това Printer.BeginDoc, след като - Printer.EndDoc, в този интервал печат = Вярно е, действителната печат е след Printer.EndDoc. На следващо място, имам нужда от малко време, за да се определи разпечатката на страница флаг (първо). Как.

Razyasnyu. Когато принтерът свърши хартията го отпечатва на последната страница на останалата бедността страница (принтер, също).
За сметка на свойствата на печат, следното - стачки една страница, а след това Printer.BeginDoc, след като - Printer.EndDoc, в този интервал печат = Вярно е, че е грешна! Действително печат идва след Printer.EndDoc. На следващо място, имам нужда от малко време, за да се определи разпечатката на страница флаг (първо). Как.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!