//--------------------------------------------------------------------------- String conv_font( unsigned char inch ) //フォント変換 { char lfont[8][3+5]; char buf[1024]; char *fontp; String ret; int i,j; int p; char ptd; memset( lfont, '0', sizeof(lfont)); inch = inch - 0x20; fontp = (char *) &( f5x8_font[inch * 5 ] ); for( j=0; j < 5; j++){ ptd = *fontp++; for( i = 0; i < 8; i++ ){ if( ptd & 1 ){ lfont[i][4-j] = '1'; } ptd = ptd >> 1; } } ret = ""; for( i=0; i < 7; i++){ p = 0; buf[p++] = 'A'; memcpy( &buf[p], lfont[i], sizeof(lfont[0] )); p += sizeof(lfont[0]); buf[p++] = 'A'; buf[p++] = 'A'; buf[p++] = 'A'; buf[p] = 0x00; ret = ret + buf; } return( ret ); } void __fastcall TForm1::Button1_test1Click(TObject *Sender) { int i; String Stx; unsigned char *cp; String Ctx; Stx = Edit1->Text; const String tbl[] = { "A00000101AAA", // 0 "A10000101AAA", // 1 "A01000101AAA", // 2 "A11000101AAA", // 3 "A00100101AAA", // 4 "A10100101AAA", // 5 "A01100101AAA", // 6 "A11100101AAA", // 7 }; int n = Stx.Length(); if (n > 8) {n = 8; } cp = Stx.c_str(); for( i = 0; i < n ; i++ ){ nrComm1->SendString(tbl[i]) ; // adres set Ctx = conv_font( *cp++ ); //フォント変換 nrComm1->SendString(Ctx) ; // data set } } //---------------------------------------------------------------------------