Stare imprimantă. Cum de a determina?
Este necesar să procesați starea curentă a imprimantei. Imprimarea se face pe o imprimantă cu coduri de bare.
Nu toate sarcinile sunt aruncate în tampon de imprimare, dar pe foaie
Utilizatorul ar trebui să poată anula imprimarea în orice moment.
Cum se determină dacă este imprimată o foaie (imprimanta nu imprimă nimic). Folosesc obiectul Imprimantă globală.
> Utilizatorul ar trebui să poată anula imprimarea în orice moment.
Îmi pare rău că, cu offtopic, dar de ce să nu-l lăsați să o facă în mod regulat - anulați-l prin coada de imprimare?
Nu știu răspunsul, din păcate.
nu merge - acesta este steagul imprimantei în sine. Imprimanta nu are o relație.
E. Nu înțeleg nici ceva, sau aici:
Utilizați Imprimare pentru a determina dacă o lucrare se tipărește.
Imprimarea este adevărat atunci când aplicația a numit metoda BeginDoc dar metoda EndDoc (sau metoda Abandonare) hasn „t fost încă numit.
Trebuie să opresc imprimarea din program?
> Trebuie să opresc imprimarea din program?
Păi vă place implementarea tiparului de tipărire - este doar un drapel delphi.
>> e doar un drapel delphi.
Bineînțeles că este doar un indicator al procesului. dar:
>> Utilizatorul ar trebui să poată anula imprimarea în orice moment. = Abort
>> Cum se determină dacă o foaie a fost tipărită (imprimanta nu imprimă nimic). # xA0; = Imprimare.
Ie Dacă acum există o presă și este necesar să anulați același sigiliu, atunci
dacă Printer.Printing, apoi Printer.Abort
Corect am înțeles?
Se pare că e ciudat. Trimite o cerere de imprimare (BeginDoc), apoi vine procesul de imprimare (imprimare = true), iar la finalizarea sarcinii (indiferent de modul în care sa încheiat, deși toate spargerii cartușului, în cazul în care numai în sistem a raportat cu privire la aceasta) a lua (EndDoc și imprimare = false). Dacă hârtia este blocată (de exemplu) Imprimarea = true, atâta timp cât problema nu este eliminat manual sau de fapt, nu au legătură cu TPrinter. Sunt de acord, pentru a determina că hârtia zazhevalas, puteți doar vizual (adică, nu programabil).
ceva ce nu înțeleg despre ce vorbești:
procedura TPrinter.EndDoc;
începe
# xA0; CheckPrinting (True);
# xA0; EndPage (DC);
# xA0; dacă nu Aborted, atunci Windows.EndDoc (DC);
# xA0; FPrinting: = Fals;
# xA0; FAborted: = Fals;
# xA0; FPageNumber: = 0;
se încheie;
Am închis deja cererea, și anume enddoc a fost mult timp îndeplinită, și anume print = false și imprimanta imprimă totul.
Razyasnyu. Când imprimanta nu are hârtie, imprimă paginile rămase de pe ultima pagină (deja există o astfel de imprimantă).
În detrimentul proprietăților de imprimare, următoarele - greve o singură pagină, apoi Printer.BeginDoc, după - Printer.EndDoc, în acest interval de imprimare = True, imprimare propriu-zis este, după Printer.EndDoc. Apoi, trebuie să verific cumva timpul de imprimare a paginii (în primul rând). Cum.
Razyasnyu. Când imprimanta nu are hârtie, imprimă paginile rămase de pe ultima pagină (deja există o astfel de imprimantă).
În detrimentul proprietăților de imprimare, următoarele - greve o singură pagină, apoi Printer.BeginDoc, după - Printer.EndDoc, în acest interval de imprimare = Adevărat, este FALSE! Actuala imprimare merge după Printer.EndDoc. Apoi, trebuie să verific cumva timpul de imprimare a paginii (în primul rând). Cum.