Example
This is an example of
Recall.zpl
1 rem ********************************************************
1 rem Zebra Technologies ZBI Sample Program
1 rem
1 rem Professional programming services are available. Please contact
1 rem ZBI-Experts@zebra.com for more information.
1 rem
1 rem This is an example of recalling a ZPL format and extracting data
1 rem from it.
1 rem ********************************************************
1 rem close ports except console, open ZPL port and declare search
1 rem array
1 rem ********************************************************
10 for i = 1 to 9 step 1 ! Close all ports
20 close #i
30 next i
40 let zplport = 2
50 open #zplport: name "ZPL"
60 declare string search_zpl$(2)
70 let search_zpl$(1) = chr$(03)
80 let search_zpl$(2) = "FORMAT.ZPL"
1 rem ********************************************************
1 rem main program; look for format to recall on printer
1 rem ********************************************************
90 do
100 print #zplport: "^XA^HWE:*.ZPL^FS^XZ"
110 let present = 0
115 let find$ = ""
120 do until find$ = chr$(03)
130 let find$ = searchto$(zplport, search_zpl$)
140 if find$ = "FORMAT.ZPL" then
150 let present = 1 ! format is present
160 end if
170 loop
1 rem ********************************************************
1 rem if format is not found, create a format and set data value to
1 rem 000
1 rem ********************************************************
180 if present = 0 then
190 print #zplport:"^XA^DFE:FORMAT.ZPL^FS";
200 print #zplport:"^FX000^FS^XZ"
210 let counter$ = "000"
1 rem ********************************************************
1 rem if format is found, extract the data from ^FX field
1 rem ********************************************************
220 else
230 print #zplport:"^XA^HFE:FORMAT.ZPL^FS^XZ"
240 let stop$ = searchto$(zplport, "^FX")
250 let counter$ = extract$(zplport, "", "^FS")
260 let stop$ = searchto$(zplport, "^XZ")
270 end if
1 rem ********************************************************
1 rem print current data value, prompt user to replace data
1 rem ********************************************************
280 print ""
290 print "Current number in format is " & counter$
300 print "Please enter new number (type EXIT to end) ";
310 input new_counter$
320 if new_counter$ = "EXIT" then
330 print "Program ending"
340 end
350 else
360 print #zplport:"^XA^DFE:FORMAT.ZPL^FS";
370 print #zplport:"^FX" & new_counter$ & "^FS^XZ "
380 end if
390 loop