I am writing a printer utility to print labels with the Zebra ZPL scripting language(??), or whatever you want to call ZPL.

Up to now, I have created the ZPL and then embedded that into my VB.Net program (windows Touchscreen form). This works fine, until I need to make a small change to the ZPL layout. Then I have to recompile and distribute the code.

That sucks.

So, I am looking for a way to make a text file that I can use that will be used for the layout. I will still have to distribute the text file, but at least it will not require me to build and deploy.

Since ALL of the active objects on the label do not change, typically only the positions, this should be relatively easy.

Is there a best practices technique for doing this?

I was thinking about putting in placeholders at the data element position such as follows (every numbered @vx is a placeholder):

Code:
^XA~TA000~JSN^LT0^MMT^MNW^MTT^PON^PMN^LH0,0^JMA^PR4,4^MD0^JUS^LRN^CI0^XZ^XA^LL0609^PRD
^FO500,100^A@R,50,50,E:Koriieb_.ttf^FH^FDBox #: @v1^FS
^FO500,550^A@R,40,40,E:Koriieb_.ttf^FH^FDDate: @v2^FS
^FO450,100^A@R,40,40,E:Koriieb_.ttf^FH^FDVendor: @v3^FS
^FO400,100^A@R,40,40,E:Koriieb_.ttf^FH^FDPO #: @v4^FS
^FT350,300^A@R,60,60,E:Koriieb_.ttf^^FH\^FD@v5^FS
^FT300,100^A@R,40,40,E:Koriieb_.ttf^FD@v6^FS
^BY3,2,125^FT150,250^BCR,,N,N^FD@v5^FS
^FT50,100^A@R,60,60,E:Koriieb_.ttf^FH\^FDWeight: @v7 LBS^FS
^PQ1,0,1,Y
^XZ
Does this make sense? Is there a better way to do this?