⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myfile.~cpp

📁 许继的2812开发全套驱动程序,很全很实用的.rar
💻 ~CPP
📖 第 1 页 / 共 2 页
字号:
   	case 1:  		
   		if((MyHanZiFontLib=fopen("顺时针90度.txt","w+t"))==NULL)
   		{
      		Application->MessageBox("目的字库建立错误", "错了", MB_OK);
      		return;
   		}
   		break;
   	case 2:  		
   		if((MyHanZiFontLib=fopen("180度旋转.txt","w+t"))==NULL)
   		{
      		Application->MessageBox("目的字库建立错误", "错了", MB_OK);
      		return;
   		}
   		break;
   	case 3:  		
   		if((MyHanZiFontLib=fopen("逆时针90度.txt","w+t"))==NULL)
   		{
      		Application->MessageBox("目的字库建立错误", "错了", MB_OK);
      		return;
   		}
   		break;
   	case 4:  		
   		if((MyHanZiFontLib=fopen("纵向取模.txt","w+t"))==NULL)
   		{
      		Application->MessageBox("目的字库建立错误", "错了", MB_OK);
      		return;
   		}
   		break;
   		
   }
   rewind(MyHanZiFontLib);
   Edit1->Text=HanZiCounter;
   for(i=0;i<HanZiCounter;i++)
   {
      HanZiCode[0]=(unsigned char)HanZiLibrary[2*i+1]>>8;
      HanZiCode[1]=(unsigned char)HanZiLibrary[2*i+1];
      HZSerialNo=((HanZiCode[0]-161)*94L+HanZiCode[1]-161);
      HZByteOffset=HZSerialNo*32L;
      fseek(HanZiFon,HZByteOffset,SEEK_SET);
      fread(TempLattice,32,1,HanZiFon);

      for(m=0;m<32;m++)
      {
         HanZiLattice[m]=0;
      }
      switch(RadioGroup1->ItemIndex)
      {
         case 0:
            for(m=0;m<32;m++)
               HanZiLattice[m]=TempLattice[m];
            break;
         case 1:
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m];  //0-14-->1-15
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[2*n+1]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+1];  //1-15-->17-31
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[2*n+17]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+17];  //17-31-->16-30
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[2*n+16]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+16];  //16-30-->0-14
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[2*n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            break;
         case 2:
            for(m=0;m<8;m++)
            {
               cTempChar2=0;
               cTempChar1=TempLattice[2*m];  //0-14-->17-31
               for(n=0;n<7;n++)
               {
                  cTempChar2|=(cTempChar1&0x80);
                  cTempChar2>>=1;
                  cTempChar1<<=1;
               }
               cTempChar2|=(cTempChar1&0x80);
               HanZiLattice[31-2*m]=cTempChar2;
            }
            for(m=0;m<8;m++)
            {
               cTempChar2=0;
               cTempChar1=TempLattice[2*m+1];  //1-15-->16-30
               for(n=0;n<7;n++)
               {
                  cTempChar2|=(cTempChar1&0x80);
                  cTempChar2>>=1;
                  cTempChar1<<=1;
               }
               cTempChar2|=(cTempChar1&0x80);
               HanZiLattice[30-2*m]=cTempChar2;
            }
            for(m=0;m<8;m++)
            {
               cTempChar2=0;
               cTempChar1=TempLattice[2*m+17];  //17-31-->0-14
               for(n=0;n<7;n++)
               {
                  cTempChar2|=(cTempChar1&0x80);
                  cTempChar2>>=1;
                  cTempChar1<<=1;
               }
               cTempChar2|=(cTempChar1&0x80);
               HanZiLattice[14-2*m]=cTempChar2;
            }
            for(m=0;m<8;m++)
            {
               cTempChar2=0;
               cTempChar1=TempLattice[2*m+16];  //16-30-->1-15
               for(n=0;n<7;n++)
               {
                  cTempChar2|=(cTempChar1&0x80);
                  cTempChar2>>=1;
                  cTempChar1<<=1;
               }
               cTempChar2|=(cTempChar1&0x80);
               HanZiLattice[15-2*m]=cTempChar2;
            }
            break;
         case 3:
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m];  //0-14-->30-16
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=7-m;
                  HanZiLattice[30-2*n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+16];  //16-30-->31-17
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=7-m;
                  HanZiLattice[31-2*n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+17];  //17-31-->15-1
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=7-m;
                  HanZiLattice[15-2*n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+1];  //1-15-->14-0
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=7-m;
                  HanZiLattice[14-2*n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
            break;
         case 4:
            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m];  //0-14-->1-15
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }

            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[2*m+1];  //0-14-->1-15
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[8+n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }

            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[16+2*m];  //0-14-->1-15
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[16+n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }

            for(m=0;m<8;m++)
            {
               cTempChar1=TempLattice[17+2*m];  //0-14-->1-15
               for(n=0;n<8;n++)
               {
                  if(cTempChar1&0x80) cTempChar2=1;
                  else cTempChar2=0;
                  cTempChar2<<=m;
                  HanZiLattice[24+n]|=cTempChar2;
                  cTempChar1<<=1;
               }
            }
         
            break;
         default:
            for(m=0;m<32;m++)
               HanZiLattice[m]=TempLattice[m];
            break;
      }
      ShowTheLattice(HanZiLattice);///在Form上显示它

      fseek(MyHanZiFontLib,0,SEEK_END);
      if(CheckBox1->Checked==True)
      {
         fprintf(MyHanZiFontLib,"%c",'0');
         fprintf(MyHanZiFontLib,"%c",'x');
         fprintf(MyHanZiFontLib,"%x",HanZiCode[0]);
         fprintf(MyHanZiFontLib,"%c",',');
         if(RadioGroup1->ItemIndex!=4)
         {
         	fprintf(MyHanZiFontLib,"%c",'0');
         	fprintf(MyHanZiFontLib,"%c",'x');
         	fprintf(MyHanZiFontLib,"%x",HanZiCode[1]);
         	fprintf(MyHanZiFontLib,"%c",',');
         }
      }
      for(k=0;k<32;k++)
      {
         fprintf(MyHanZiFontLib,"%c",'0');
         fprintf(MyHanZiFontLib,"%c",'x');
         if(HanZiLattice[k]<16)fprintf(MyHanZiFontLib,"%c",'0');
         fprintf(MyHanZiFontLib,"%x",HanZiLattice[k]);

         if(i==HanZiCounter-1 && k==31)  fprintf(MyHanZiFontLib,"%c",' ');
         else fprintf(MyHanZiFontLib,"%c",',');

         if(CheckBox1->Checked==True)
         {
         	if(RadioGroup1->ItemIndex==4)
		      {
		         if(k==15)
   		      {
   		      	fprintf(MyHanZiFontLib,"\n");
      		   	fprintf(MyHanZiFontLib,"%c",'0');
         			fprintf(MyHanZiFontLib,"%c",'x');
	         		fprintf(MyHanZiFontLib,"%x",HanZiCode[1]);
   	      		fprintf(MyHanZiFontLib,"%c",',');
      	   	}
      	   }
      	   else
      	   {
      	      if(k==14)fprintf(MyHanZiFontLib,"\n");
      	   }
         }
         else
         {
            if(k==15)fprintf(MyHanZiFontLib,"\n");
         }
      }
      fprintf(MyHanZiFontLib,"\n");
      fprintf(MyHanZiFontLib,"%c",'/');
      fprintf(MyHanZiFontLib,"%c",'/');
      fprintf(MyHanZiFontLib,"%c",HanZiCode[0]);
      fprintf(MyHanZiFontLib,"%c",HanZiCode[1]);
      fprintf(MyHanZiFontLib,"\n");
   }
   fclose(HanZiFon);
   if(fclose(MyHanZiFontLib)==0)
      Application->MessageBox("目的字库建立成功", "恭喜,成功了", MB_OK);
   else if(fclose(MyHanZiFontLib)==EOF)
      Application->MessageBox("目的字库建立失败", "唉,再来一次吧", MB_OK);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ShowTheLattice(unsigned char ShowLattice[32])
{
    int PosZeroX=152,PosZeroY=315,TempPosZeroX=152;
    unsigned char TempCode;
    int i,j;
    int nRand = rand();
    int ColorR,ColorG,ColorB;
    float fMap;
    fMap= (float)255/RAND_MAX;
    ColorR=(unsigned int)nRand*fMap+0.5f;

    nRand = rand();
    fMap= (float)255/RAND_MAX;
    ColorG=(unsigned int)nRand*fMap+0.5f;

    Canvas->Refresh();
    Canvas->Brush->Style=bsClear;
    Canvas->Brush->Color=clWhite;
    Canvas->Pen->Color=clWhite;
    Canvas->Rectangle(PosZeroX,PosZeroY,PosZeroX+80,PosZeroY+80);

    Canvas->Brush->Style=bsSolid;
    for(i=0;i<32;i++)
    {
       TempCode=ShowLattice[i];
       for(j=0;j<8;j++)
       {
          Canvas->Brush->Color=TColor(RGB(ColorR-j*i,(ColorG+i*j)/2,i*j));
          Canvas->Pen->Color=TColor(RGB(ColorR-j*i,(ColorG+i*j)/2,i*j));
          if(TempCode&0x80)
          {
             Canvas->Ellipse(TempPosZeroX,PosZeroY,TempPosZeroX+5,PosZeroY+5);
          }
          TempPosZeroX+=5;
          TempCode<<=1;
       }
       if(i%2!=0)
       {
          TempPosZeroX=PosZeroX;
          PosZeroY+=5;
       }
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -