有关剪贴板乱码的问题!!快来抢分啊!走过路过不要错过。

时间:2022-09-30 17:09:21
ClipBoard.SetTextBuf(Pchar(fieldname));
  ExcelWorksheet.Paste;
程序跟踪fieldname为正常字符,但是经过剪贴板之后粘贴出来的字符为非法字符。
为什么,以前我也是这么做的,不会出现这样的问题。

16 个解决方案

#1


什么系统?DELPHI几?

#2


procedure TForm1.Button1Click(Sender: TObject);
var s:TClipboard;
begin
  s:=tclipboard.Create ;
  s.SetTextBuf(pchar('asdfasdf'));
  //s.Free ;
end;
没有问题的啊,我用了,可能是变量的原因;你用固定字符串看看

#3


不排除系统的问题!

#4


看看是不是和字体有关

#5


可能系统有问题耶!

#6


我这里查看也没什么问题呀!Win2K!

#7


对着呢!

#8


我的编译环境是P2000,刚才我在98下运行是正常的。可能是我机子的问题,但大家能不能说出点理由?最晚明天就给分。

#9


结果如下:
ÈÕÆÚ º½°àºÅ »õµ¥ºÅ ÊÕ»õÈË ¼þÊý ÖØÁ¿ µ½¸¶¿î ÅÉËÍ·Ñ
1 2002Äê20ÔÂ03ÈÕ 5545 545 12 12
2 2002Äê20ÔÂ15ÈÕ jhsss 5454 io 89 7 12 12
3 2002Äê20ÔÂ03ÈÕ 7 l;jasdgj kj 6 6 7 5
4 2002Äê20ÔÂ01ÈÕ fdf skdhf ljsdfl 2 2 45 45

#10


字符、数字显示正常,汉字乱码

#11


我怀疑是Unicode的问题,贴进去的非Unicode,取出来时变成了Unicode。

#12


学习

#13


还是不满意!再详细的解释一下,这么多分不能轻易给掉啊!!!

#14


你试一下这个:
ff:WideString;

  ff := fieldname;
  ClipBoard.SetTextBuf(PChar(ff));

另外你的ExcelWorksheet.Paste是否是往Excel的一个Worksheet里面贴文本?

#15


gz

#16


: TechnoFantasy(www.applevb.com) 

是呀,但是不仅贴往EXCEL,贴往文本文件也是乱码。(其他机器一切正常。)

#1


什么系统?DELPHI几?

#2


procedure TForm1.Button1Click(Sender: TObject);
var s:TClipboard;
begin
  s:=tclipboard.Create ;
  s.SetTextBuf(pchar('asdfasdf'));
  //s.Free ;
end;
没有问题的啊,我用了,可能是变量的原因;你用固定字符串看看

#3


不排除系统的问题!

#4


看看是不是和字体有关

#5


可能系统有问题耶!

#6


我这里查看也没什么问题呀!Win2K!

#7


对着呢!

#8


我的编译环境是P2000,刚才我在98下运行是正常的。可能是我机子的问题,但大家能不能说出点理由?最晚明天就给分。

#9


结果如下:
ÈÕÆÚ º½°àºÅ »õµ¥ºÅ ÊÕ»õÈË ¼þÊý ÖØÁ¿ µ½¸¶¿î ÅÉËÍ·Ñ
1 2002Äê20ÔÂ03ÈÕ 5545 545 12 12
2 2002Äê20ÔÂ15ÈÕ jhsss 5454 io 89 7 12 12
3 2002Äê20ÔÂ03ÈÕ 7 l;jasdgj kj 6 6 7 5
4 2002Äê20ÔÂ01ÈÕ fdf skdhf ljsdfl 2 2 45 45

#10


字符、数字显示正常,汉字乱码

#11


我怀疑是Unicode的问题,贴进去的非Unicode,取出来时变成了Unicode。

#12


学习

#13


还是不满意!再详细的解释一下,这么多分不能轻易给掉啊!!!

#14


你试一下这个:
ff:WideString;

  ff := fieldname;
  ClipBoard.SetTextBuf(PChar(ff));

另外你的ExcelWorksheet.Paste是否是往Excel的一个Worksheet里面贴文本?

#15


gz

#16


: TechnoFantasy(www.applevb.com) 

是呀,但是不仅贴往EXCEL,贴往文本文件也是乱码。(其他机器一切正常。)