x1.p 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. DEF VAR Error$i AS LOG NO-UNDO.
  2. DEF VAR ii AS INT NO-UNDO.
  3. DEF VAR FILENAME$V AS CHAR NO-UNDO INIT "D:\LogFiles\ERP\logger.txt":U.
  4. DEF VAR cPrinters AS CHAR NO-UNDO.
  5. DEF VAR cPrinter AS CHAR FORMAT "x(30)" NO-UNDO.
  6. DEF VAR Ja AS LOG NO-UNDO.
  7. cPrinters = SESSION:GET-PRINTERS().
  8. REPEAT ii = 1 TO NUM-ENTRIES(cPrinters, ','):
  9. cPrinter = ENTRY(ii, cPrinters, ',').
  10. RUN pcheckprinter(cPrinter).
  11. DISP STRING(TIME, "hh:mm:ss") cPrinter ii error$i ERROR-STATUS:GET-MESSAGE(1).
  12. IF error$i THEN
  13. DO:
  14. MESSAGE "PRINTER ERROR"
  15. VIEW-AS ALERT-BOX INFO BUTTONS OK.
  16. SYSTEM-DIALOG PRINTER-SETUP
  17. NUM-COPIES 1
  18. UPDATE ja.
  19. IF NOT ja THEN NEXT.
  20. MESSAGE SESSION:PRINTER-NAME SESSION:PRINTER-PORT VIEW-AS ALERT-BOX.
  21. ii = ii - 1.
  22. END.
  23. END.
  24. PROCEDURE pcheckprinter:
  25. OUTPUT TO VALUE(FileName$v) KEEP-MESSAGES.
  26. DEF INPUT PARAM PrinterName$i AS CHAR NO-UNDO.
  27. DO ON ERROR UNDO, RETRY
  28. ON STOP UNDO, RETRY
  29. ON QUIT UNDO, RETRY :
  30. SESSION:PRINTER-NAME = PrinterName$i.
  31. END. /* DO ON ERROR UNDO, RETRY ... */
  32. OUTPUT CLOSE.
  33. PAUSE 0.3 NO-MESSAGE.
  34. ASSIGN
  35. FILE-INFO:FILE-NAME = FileName$v
  36. Error$i = (FILE-INFO:FILE-SIZE <> 0).
  37. END PROCEDURE.