Z zhixding Unregistered / Unconfirmed GUEST, unregistred user! 2001-07-27 #1 DELPHI 程序中:<br> 1、象在知道ASCI码102时,用char(102)可得出字符‘f’。<br> 2、已确知汉字区位码b5e7(电),怎样编程中得出该汉字?<br><br> 请大侠赐教。
DELPHI 程序中:<br> 1、象在知道ASCI码102时,用char(102)可得出字符‘f’。<br> 2、已确知汉字区位码b5e7(电),怎样编程中得出该汉字?<br><br> 请大侠赐教。
J Jams Unregistered / Unconfirmed GUEST, unregistred user! 2001-07-27 #3 打开汉字库文件,用b5e7找到对应的字模,用画笔或画点将其显示出来!<br>字模从ccdos/ucdos下拷贝一个.
K kfsw Unregistered / Unconfirmed GUEST, unregistred user! 2001-07-30 #4 以下代码行吗?<br>procedure TForm1.Label1Click(Sender: TObject);<br>var<br> lnqw,lnqu,lnwei:integer;<br>begin<br> lnqw:=$b5e7;<br> lnwei:=lnqw and $ff;<br> lnqu:=lnqw shr 8;<br> label1.Caption:=char( lnqu )+ char( lnwei );<br>end;<br>
以下代码行吗?<br>procedure TForm1.Label1Click(Sender: TObject);<br>var<br> lnqw,lnqu,lnwei:integer;<br>begin<br> lnqw:=$b5e7;<br> lnwei:=lnqw and $ff;<br> lnqu:=lnqw shr 8;<br> label1.Caption:=char( lnqu )+ char( lnwei );<br>end;<br>
Y yanyuwuhen Unregistered / Unconfirmed GUEST, unregistred user! 2001-08-04 #5 我在vc下做过,我删了一些你不用的辅助语句,控制窗口,输入,更新的,之后没又调试<br>但大致就是这个思路,你改一改吧。<br> char Buf[32];//16*16:32;24*24:72;48*48:288<br><br> Addr=((Q-1)*94+W-1)*32;//16*16:32;24*24:72; 48*48:288与点阵大小有关<br> if(Addr<0) return;<br> <br> CFile fileword; <br> flag=fileword.Open("hzk16",CFile::modeRead);//换字库名<br> if(flag==0) MessageBox("没能打开字库");<br> else{<br> fileword.Seek(Addr,CFile::begin);<br> fileword.Read(Buf,32*sizeof(char));//16*16:32;24*24:72; 48*48:288;<br> }//读出点阵信息<br> //按点画字 <br> CDC* pDC=GetDC();<br> //CSizeSetViewportExt();...设制显示窗口<br> for(i1=0;i1<16;i1++) //根据字模信息显示汉字16*16:16;24*24:24<br> for(i2=0;i2<2;i2++)//16*16:i2<2; 24*24:i2<3; 48*48:i2<6<br> for(i3=0;i3<8;i3++)/*i1*2+i2字节的第7-i3位等于1则画点*/<br> {//16*16:<br> pDC->SetPixel(x+i2*8+i3,y+i1,RGB(0,0,238))<br> //24*24DC->SetPixel(x+i1,y+i2*8+i3,RGB(0,0,255)) <br> //48*48:同24*24<br> }
我在vc下做过,我删了一些你不用的辅助语句,控制窗口,输入,更新的,之后没又调试<br>但大致就是这个思路,你改一改吧。<br> char Buf[32];//16*16:32;24*24:72;48*48:288<br><br> Addr=((Q-1)*94+W-1)*32;//16*16:32;24*24:72; 48*48:288与点阵大小有关<br> if(Addr<0) return;<br> <br> CFile fileword; <br> flag=fileword.Open("hzk16",CFile::modeRead);//换字库名<br> if(flag==0) MessageBox("没能打开字库");<br> else{<br> fileword.Seek(Addr,CFile::begin);<br> fileword.Read(Buf,32*sizeof(char));//16*16:32;24*24:72; 48*48:288;<br> }//读出点阵信息<br> //按点画字 <br> CDC* pDC=GetDC();<br> //CSizeSetViewportExt();...设制显示窗口<br> for(i1=0;i1<16;i1++) //根据字模信息显示汉字16*16:16;24*24:24<br> for(i2=0;i2<2;i2++)//16*16:i2<2; 24*24:i2<3; 48*48:i2<6<br> for(i3=0;i3<8;i3++)/*i1*2+i2字节的第7-i3位等于1则画点*/<br> {//16*16:<br> pDC->SetPixel(x+i2*8+i3,y+i1,RGB(0,0,238))<br> //24*24DC->SetPixel(x+i1,y+i2*8+i3,RGB(0,0,255)) <br> //48*48:同24*24<br> }
H hwave Unregistered / Unconfirmed GUEST, unregistred user! 2001-08-04 #6 简单<br>b5=181<br>e7=231<br>chr(181)+chr(231)='电'<br>
Q qddelphi Unregistered / Unconfirmed GUEST, unregistred user! 2001-08-04 #7 太简单了,hwave说的完全正确。<br>字库的办法当然可以,但是太麻烦了。
W woolgate Unregistered / Unconfirmed GUEST, unregistred user! 2001-08-05 #8 区位码就是俩Ascii码,分别写出俩Ascii码<br>用String的加不就得了
三 三代坦克 Unregistered / Unconfirmed GUEST, unregistred user! 2001-08-05 #9 首先:<br>注意区位码和机内码的区别,<br>然后是编码方式.<br><br>GB2312 是87区,每区94字.<br>如果是GB2312 ,B5E7肯定是机内码,不是区位码.<br><br>对于GB2312编码<br>区码小于88<br>位码小于95<br><br>GBK 向下兼容GB2312.<br><br>
首先:<br>注意区位码和机内码的区别,<br>然后是编码方式.<br><br>GB2312 是87区,每区94字.<br>如果是GB2312 ,B5E7肯定是机内码,不是区位码.<br><br>对于GB2312编码<br>区码小于88<br>位码小于95<br><br>GBK 向下兼容GB2312.<br><br>