在memo中,需要提取所选中的一部分文本,不知为什么,全英文好像就没问题,带有中文的,后面就会少一段,好像是3个中文字。最开始放控件的时候,又是对的,没改什么地方,突然就这样了。找不到原因啊,不知那会有相同经历。谢谢了memo1.seltext;
就是这个。

解决方案 »

  1.   

    自已顶一下,顺便再问个问题,  有没有知道delphi获取access库中表的字段数据类型的方法,
      

  2.   

    ADOQuery1.FieldByName('字段名').DataType
      

  3.   

     edit1.Text := memo1.SelText ;
    这个完全没有问题 不管是英文还是中文。
    我想应该是你的参数的长度的问题吧
      

  4.   

    edit1.Text := memo1.SelText类似的早就试过了,这个我知道,也新建了工程试过的,新建的就对,可最开始程序都是对的,后来写其它部分代码,调试后就发生这个问题了。可我也没改动什么啊,memo的属性定好后都没变的。
      

  5.   

    比如哈,
    我输入一串kkkkkkkk 8个k。就可以正常显示,用memo1.SelLength显示的就是8。
    可要是输入的是中文 国国国国   4个国,只能显示2个国字,memo1.SelLength显示的就是4.
    应该是memo掉了4个字节,可为什么会掉呢
      

  6.   

    你看看把memo1.SelText这个付给哪个了 看看它的长度是多少 
    还有每次你选的内容长度都一样么 选的少点一点带中文的试试 
    如果少的没有问题 那就是长度问题
      

  7.   

    我本来就是用showmessage(memo1.seltext);来看的,反正没中文就没问题,有中文就会少一半,中文的一半,比如4个国,就会少2个,2个国,就会少一个
      

  8.   

    我也试了一下
    memo1.seltext 选中文就有问题 ,有时候还会出现乱码……
    估计是截取的 
    等高人来解答吧……
      

  9.   

    你所赋值的那个参数的长度 你有设置么,你直接把那个赋值的参数定义为string 看看 还有问题么 
    跟踪看看 在把memo.seltext 赋值之前 他的值是什么 不就可以了么 
      

  10.   

      我试了下,四个中文,memo1.SelLength是8个的长度的
      

  11.   

    没法,我新建个工程,就加个memo1,一个button 
    button再showmessage(memo1.seltext);
    就是对的,中文可以显,可我以前也是可以显的啊,一下突然就不行了,我晕死,
      

  12.   

    怪了,我在原程序上放一个RichEdit1就可以RichEdit1.seltext
    在放一个新的memo还是一样不行,我晕,实在不行,我就只有换成RichEdit1了
      

  13.   

    没法了,我换了个RichEdit1就对了。晕死,先这样吧,没功夫去搞它。
    上面有兄弟说那个access数据类型的问题,我用那个取了一个字段,断点进去看到的是ftBCD,这个是什么东西哦,我是想把所有字段的数据类型还有详细信息得到,比如一个数值型的,整型几位,小数几位。不知怎么搞
      

  14.   

    你用的是D7吧,如果是D7的话,是不支持unicode的,没试过,你最好用2010试下,不改代码,如果没问题,那就说明是D7的问题!!
      

  15.   

    还当真,我用2010编译了下,就对了,支持中文了,一个不少,那看来真是unicode的问题,不过,2010编译的文件太大了。能用就行。原来这样。