Intermec PC23d Fingerprint Developer's Guide (PC23d, PC43d/t, PM23c, PM43, PM4 - Page 141

Complete Listing of ERRHAND.PRG, Error Handling, Fingerprint Developer's Guide

Page 141 highlights

Chapter 8 - Error Handling Complete Listing of ERRHAND.PRG 10 PROGNO$="Ver. 1.21 2005-11-25" 15 NORDIS1$="FP-APPLICATION" : NORDIS2$= "VERSION 1.21" 20 GOSUB 700000 : 'Initiate 100000 'Error routine 100010 EFLAG%=ERR 100050 'PRINT EFLAG%:'Activate for debug 100060 LASTERROR%=EFLAG% 100200 RESUME NEXT 160000 'PRINT "Last error = ";LASTERROR%:'Activate for debug 160050 'IF LASTERROR%0 THEN PRINT "At line ";ERL 160100 LASTERROR%=0 160200 RETURN 200000 'Error handling routine 200010 IF EFLAG%=1006 THEN GOTO 200040 : ' Formfeed instead of print 200020 LED 1 ON : LED 0 OFF : BUSY 200030 SOUND 400,10 200040 IF EFLAG%=1031 THEN GOSUB 300000 200050 IF EFLAG%=1005 THEN GOSUB 310000 200060 IF EFLAG%=1006 THEN GOSUB 320000 200070 IF EFLAG%=1022 THEN GOSUB 330000 200080 IF EFLAG%=1027 THEN GOSUB 340000 200090 DISP1$=NORDIS1$ : DISP2$=NORDIS2$ 200100 GOSUB 600000 200110 LED 1 OFF : LED 0 ON : READY 200400 RETURN 300000 'Error 1031 Next label not found 300010 DISP1$="LABEL NOT FOUND" 300020 DISP2$="ERR NO. "+STR$(ERR) 300030 GOSUB 600000 300040 EFLAG%=0 300050 FORMFEED 300060 IF EFLAG%=1031 THEN GOTO 300040 300200 RETURN 310000 'Error 1005 Out of paper 310010 DISP1$="OUT OF PAPER" 310020 DISP2$="ERR NO. "+STR$(ERR) 310030 GOSUB 600000 310040 IF (PRSTAT AND 1)=0 THEN GOTO 310040 : ' Wait until head lifted 310050 EFLAG%=0 310060 IF (PRSTAT AND 1)=0 THEN FORMFEED ELSE GOTO 310060 310070 IF EFLAG%=1005 THEN GOTO 310040 310080 IF EFLAG%=1031 THEN GOSUB 300000 310200 RETURN 320000 'Error 1006 no field to print 320010 GOSUB 400000 320200 RETURN 330000 'Error 1022 Head lifted 330010 DISP1$="HEAD LIFTED" 330020 DISP2$="ERR NO. "+STR$(ERR) 330030 GOSUB 600000 330040 IF PRSTAT AND 1 THEN GOTO 330040 330050 FORMFEED 330060 IF PCOMMAND% THEN GOSUB 500000 330200 RETURN 340000 'Error 1027 Out of transfer ribbon Fingerprint Developer's Guide 129

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163

Chapter 8 — Error Handling
Fingerprint Developer’s Guide
129
Complete Listing of ERRHAND.PRG
10 PROGNO$=“Ver. 1.21 2005-11-25”
15 NORDIS1$=“FP-APPLICATION” : NORDIS2$= “VERSION 1.21”
20 GOSUB 700000 : 'Initiate
100000 'Error routine
100010 EFLAG%=ERR
100050 'PRINT EFLAG%:'Activate for debug
100060 LASTERROR%=EFLAG%
100200 RESUME NEXT
160000 'PRINT “Last error = ”;LASTERROR%:'Activate for debug
160050 'IF LASTERROR%<>0 THEN PRINT “At line ”;ERL
160100 LASTERROR%=0
160200 RETURN
200000 'Error handling routine
200010 IF EFLAG%=1006 THEN GOTO 200040 : ' Formfeed instead of print
200020 LED 1 ON : LED 0 OFF : BUSY
200030 SOUND 400,10
200040 IF EFLAG%=1031 THEN GOSUB 300000
200050 IF EFLAG%=1005 THEN GOSUB 310000
200060 IF EFLAG%=1006 THEN GOSUB 320000
200070 IF EFLAG%=1022 THEN GOSUB 330000
200080 IF EFLAG%=1027 THEN GOSUB 340000
200090 DISP1$=NORDIS1$ : DISP2$=NORDIS2$
200100 GOSUB 600000
200110 LED 1 OFF : LED 0 ON : READY
200400 RETURN
300000 'Error 1031 Next label not found
300010 DISP1$=“LABEL NOT FOUND”
300020 DISP2$=“ERR NO. ”+STR$(ERR)
300030 GOSUB 600000
300040 EFLAG%=0
300050 FORMFEED
300060 IF EFLAG%=1031 THEN GOTO 300040
300200 RETURN
310000 'Error 1005 Out of paper
310010 DISP1$=“OUT OF PAPER”
310020 DISP2$=“ERR NO. ”+STR$(ERR)
310030 GOSUB 600000
310040 IF (PRSTAT AND 1)=0 THEN GOTO 310040 : ' Wait until head lifted
310050 EFLAG%=0
310060 IF (PRSTAT AND 1)=0 THEN FORMFEED ELSE GOTO
310060
310070 IF EFLAG%=1005 THEN GOTO 310040
310080 IF EFLAG%=1031 THEN GOSUB 300000
310200 RETURN
320000 'Error 1006 no field to print
320010 GOSUB 400000
320200 RETURN
330000 'Error 1022 Head lifted
330010 DISP1$=“HEAD LIFTED”
330020 DISP2$=“ERR NO. ”+STR$(ERR)
330030 GOSUB 600000
330040 IF PRSTAT AND 1 THEN GOTO 330040
330050 FORMFEED
330060 IF PCOMMAND% THEN GOSUB 500000
330200 RETURN
340000 'Error 1027 Out of transfer ribbon