来csdn一年了,无论开始还是现在都是一只快乐的菜鸟,有空儿时尽我所能的帮助帮助那些入门比我晚的朋友,不管难题简单题我都是自己试了才敢往上贴,自己觉得还算对得起csdn上的朋友。今日兄弟确实有难,恳请走过路过的各位朋友帮忙。.........................................................
看着.NET程序员随意的在中文系统下录入中日文,然后切换到日文系统,再录中日文,均可正常显示,然后冲偶鄙视的一笑,说了一句“.NET是完全支持Unicode地...”偶的心在流血...(滴答滴答滴答...)算算有10天了吧,偶为了寻求delphi中多国语言程序(其实按目前的研究范畴讲已经超出多语言的概念了,这在我另一个帖子中有描述(注1))的解决方案,东游西逛,当下来的控件有一箩筐那么多,装的我现在拽一个控件光翻就得翻一阵儿,可收效甚微。Tnt 支持unicode的一组控件,真的有支持,但但但用惯了TcxGrid与TWWDbGrid实在是没法用TtntDbgrid。TcxGrid  不错的grid控件,象excel一样分组合计,导出到excel方便之极,但...不支持unicode。InfoPower 4000  超级强的数据库方面的第三方控件,但...不支持unicode(可以将tnt的dbedit嵌到其中,算是勉强解决吧)现在的问题是怎样使TcxGrid也支持unicode,当然也不是说让它支持,哪怕象TWWDbGrid一样将tnt的dbedit放里也行...如果哪位大侠对tnt的源码有研究的话,更请不吝指教,感激不尽。
..............................................................注1:做过多语言的朋友进来聊聊,高分相赠!
http://expert.csdn.net/Expert/topic/2054/2054490.xml?temp=.7889063

解决方案 »

  1.   

    奇怪!我答复了以后才能看到完整的文章……对于Unicode,中国人其实是喜忧参半。喜其编码的兼容性和码长的统一性,忧其字库的局限性。因为在Unicode中不能完全显示所有的汉字,所以没有通过中国政府的认证,所以我们今天还在用GB2312。我个人一直在尝试多语言的开发,但是进展不大。因为毕竟Unicode只能在WinNT以上的系统中使用,开发同时兼容两个编码标准的产品会大幅增加成本,各厂商望而生畏估计也是这个原因。对于Unicode,除了操作系统以外,字体的支持也很重要。现在多数的字体并不支持Unicode的代码页,所以对于很多的行业人员来说,Unicode并不见得是一个好的标准。或者说,Unicode的普及还需要很长的时间。
      

  2.   

    to  cybercake(数字蛋糕):
    劳烦解释一下先,我现在的情况是如果不用tnt组件,录入都不能正常显示,怎么用widestring啊?
      

  3.   

    to  cybercake(数字蛋糕):
    老兄原来是专业人士,失敬失敬...
    用过tnt那套组件吗?
    实在不行,只有去玩命的读tnt的源代码了,不过以偶的功力,估计是没戏了...我想这种情况不应该是只有我碰到,delphi有很多的第三方控件,控件a提供了功能1,控件b提供了功能b,你想要一个兼备功能1,2的控件,你会怎么做啊?
      

  4.   

    说实在的,对于多语言同时显示,其实没有什么很方便的方法。在NT下大概只有设置支持Unicode的字体一条路,在98下直接显示Unicode几乎是不可能的(不知道创建逻辑字体行不行)。而且这样一来,那些已经存在的混合编码数据就统统要重新转换,工作量不小。我现在自己写了一个简单的多格式文本Label,是有点想从多字体的方向去解决这个问题。但远远不是一个成熟的解决方案。tnt我没有用过,你能不能告诉我从哪里可以下载?我也研究一下。对于你的问题,我恐怕也拿不出什么好的方法。你可以将tnt表格所用的编辑器“复制”到其他的表格中。当然这并不简单,但至少比没有好一些。当然如果编辑器的类型不多的话,这种方法还是可行的。而且我估计,对于Unicode的显示的代码并不会很多,所以还是看看tnt的代码吧。
      

  5.   

    感谢cybercake(数字蛋糕)鼎力相助tnt组件的下载网址为:
    http://home.ccci.org/wolbrink/tnt/delphi_unicode_controls.htm
      

  6.   

    修改TCxGrid组件源码不行吗?
    我也喜欢用TCxGrid控件
      

  7.   

    深有同感。把网页上的一些字符粘贴到memo里居然变成问号了
      

  8.   

    我在折行套打时也遇到过这类问题,于是开始想用代码转换,不过速度太那个了, 
    后来仔细看了Delphi 帮助,帮助中说他支持这个东东,  于是我用widestring就解决了,真是
    又快又好,不存在任何问题。 还是改的VCL代码吧, 把string替换成widestring,再找错的地方就简单了