A nyomtató állapota

A nyomtató állapota. Hogyan lehet meghatározni?

Szükség van a nyomtató aktuális állapotának feldolgozására. A nyomtatás egy vonalkódos nyomtatón történik.
Nem minden feladatot dob ​​a nyomtatási pufferbe, hanem a lapra
A felhasználónak bármikor meg kell szüntetnie a nyomtatást.
A lap nyomtatása (a nyomtató nem nyomtat semmit). A globális nyomtatóobjektumot használom.


> A felhasználónak bármikor meg kell szüntetnie a nyomtatást.

Sajnálom, hogy offtopic, de miért nem hagyja, hogy ez rendszeres eszközökkel - törli a nyomtatási soron?

Sajnos sajnos nem tudom a választ.

nem megy - ez maga a nyomtató zászlója. A nyomtatónak nincs kapcsolatuk.

E. Nem értek valamit, vagy itt:

A Nyomtatás használatával meghatározhatja, hogy egy feladat nyomtat-e.
A nyomtatás igaz, ha az alkalmazásnak van a BeginDoc metódusa, de az EndDoc módszer (vagy a Megszakítási módszer) még nem került hívásra.

Le kell hagynom a nyomtatást a programból?


> Le kell hagynom a nyomtatást a programból?

Nos, tetszik a nyomtatási megjelenítés megvalósítása - ez csak egy delphi zászló.

>> ez csak egy delphi zászló.

Természetesen ez csak egy jelzés a folyamatról. de:

>> A felhasználó bármikor megszakíthatja a nyomtatást. = Megszakít
>> A lap nyomtatása (a nyomtató nem nyomtat semmit). # xA0; = Nyomtatás.

Ie Ha most van egy sajtó, és meg kell szüntetni ezt a pecsétet, akkor

ha a Printer.Printing, majd a Printer.Abort

Pontosan megértettem?

Úgy tűnik, de ez furcsa. Küldj egy nyomtatási kérelem (BeginDoc), akkor jön a folyamat a nyomtatás (Printing = true), és befejezésekor a feladatot (nem számít, hogy véget ért, bár az összes patron repedés, ha csak a rendszer beszámolt róla) kap (EndDoc és Printing = false). Ha a papír elakadt (például) Printing = igaz, amíg a probléma nem kézzel kell eltávolítani, vagy valójában nem felel TPrinter. Egyetértek azzal, hogy megállapítják, hogy a papír zazhevalas, csak vizuálisan (azaz nem programozható).

valamit, amit nem értek, hogy miről beszél?

eljárás TPrinter.EndDoc;
kezdődik
# xA0; CheckPrinting (True);
# xA0; EndPage (DC);
# xA0; ha nem Aborted, akkor Windows.EndDoc (DC);
# xA0; FPrinting: = hamis;
# xA0; FAborted: = hamis;
# xA0; FPageNumber: = 0;
végén;

Már lezártam az alkalmazást, azaz A enddoc már régóta teljesült, azaz nyomtatás = hamis, és a nyomtató mindent kinyomtat.

Razyasnyu. Amikor a nyomtató kifogy a papírból, a fennmaradó oldalakat kinyomtatja az utolsó oldalról (már ilyen nyomtató).
Rovására tulajdonságainak nyomtatás, a következő - sztrájkok egyik oldalról, majd Printer.BeginDoc után - Printer.EndDoc, ebben az intervallumban Printing = Igaz, a tényleges nyomtatás után Printer.EndDoc. Ezután valahogy ellenőrizni kell az oldal nyomtatásának idejét (először). Hogyan.

Razyasnyu. Amikor a nyomtató kifogy a papírból, a fennmaradó oldalakat kinyomtatja az utolsó oldalról (már ilyen nyomtató).
Rovására tulajdonságainak nyomtatás, a következő - sztrájkok egyik oldalról, majd Printer.BeginDoc után - Printer.EndDoc, ebben az intervallumban Printing = True, HAMIS! A tényleges nyomtatás a Printer.EndDoc után megy. Ezután valahogy ellenőrizni kell az oldal nyomtatásának idejét (először). Hogyan.

Kapcsolódó cikkek