//dll程序集方法VC++
extern "C" __declspec(dllexport) int Print( char *content,char *type,int page )
{
FILE *f = fopen("lpt1", "wt") ;
int result = fprintf (f, "\x02L\n\x02m\nD10\n1A0000000150050%s\n",content);
if( result> 0 )
{
result = fprintf (f, "1A0000000150550%s\nE\n",content);
}
fclose( f );
return result;
}
//.Net调用C#
[DllImport("BarCodePrint")]
private static extern int Print( string content,string type,int page );
public unsafe static void PrintBarCode( string data)
{
Print( data,"0",1 );
}
此为针对DataMax I-Class I-420839条形码打印,其他应用可在此基础上进行扩展。
"\x02L\n\x02m\nD10\n1A0000000150050"此为格式字符串,解释如下:
#include<stdio.h>
main ()
{
char *pcs = "590";
char *desc = "10K OHM 1/4 WATT";
fputs ("DMX Printer Test Program\n", stdout);
fputs ("\x02L\n", stdaux); /**//* STX L – Enter Label Formatting */
fputs ("H07\n", stdaux); /**//* Enter Heat Setting of 7*/
fputs ("D11\n", stdaux); /**//* Set Width and Height Dot Size */
fprintf (stdaux, "191108010000025%s\n",desc); /**//* Select smooth Font */
fprintf (stdaux, "1a6210000000050%sPCS\n", pcs); /**//* Select Bar code type ‘a’ */
fputs ("E\n", stdaux); /**//* End Label format mode and print*/
}
main ()
{
char *pcs = "590";
char *desc = "10K OHM 1/4 WATT";
fputs ("DMX Printer Test Program\n", stdout);
fputs ("\x02L\n", stdaux); /**//* STX L – Enter Label Formatting */
fputs ("H07\n", stdaux); /**//* Enter Heat Setting of 7*/
fputs ("D11\n", stdaux); /**//* Set Width and Height Dot Size */
fprintf (stdaux, "191108010000025%s\n",desc); /**//* Select smooth Font */
fprintf (stdaux, "1a6210000000050%sPCS\n", pcs); /**//* Select Bar code type ‘a’ */
fputs ("E\n", stdaux); /**//* End Label format mode and print*/
}