procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
W: WideString;
begin
//取
if not FileExists('c:\12.txt') then Exit;
with TMemoryStream.Create do try
LoadFromFile('c:\12.txt');
if Size < 4 then Exit;
SetLength(S, 2);
Read(S[1], Length(S));
if Copy(S, 1, 2) <> #$FF#$FE then Exit;
SetLength(W, (Size - 2) div SizeOf(WideChar));
Read(W[1], size-2);
richedit1.Text :=W;
finally
Free;
end;
end;
上面这段代码显示UNICODE中文英文都可以,但一些特殊字符比如用ord返回为255的字符显示?,这个字符原本是一个象音标的字符。
哪个哥哥能帮我解决下啊。
主要是我做的程序是查文件夹的,有个文件夹有这个字符,所以查不出但OPENDIAGOL能显示,MEMO,EDIT都不能显示
这个字符是ÿ
var
S: string;
W: WideString;
begin
//取
if not FileExists('c:\12.txt') then Exit;
with TMemoryStream.Create do try
LoadFromFile('c:\12.txt');
if Size < 4 then Exit;
SetLength(S, 2);
Read(S[1], Length(S));
if Copy(S, 1, 2) <> #$FF#$FE then Exit;
SetLength(W, (Size - 2) div SizeOf(WideChar));
Read(W[1], size-2);
richedit1.Text :=W;
finally
Free;
end;
end;
上面这段代码显示UNICODE中文英文都可以,但一些特殊字符比如用ord返回为255的字符显示?,这个字符原本是一个象音标的字符。
哪个哥哥能帮我解决下啊。
主要是我做的程序是查文件夹的,有个文件夹有这个字符,所以查不出但OPENDIAGOL能显示,MEMO,EDIT都不能显示
这个字符是ÿ
解决方案 »
- 两个窗体切换时的闪白问题
- 打包问题!!!!!
- dephi6+sybase11,存储过程不能传空值?
- ADODataSet+ADOConnection+TDataSource+TClientDataSet+TDataSetProvider+DBgrid的问题
- 我的分就是多,用不完,可惜不知派给谁好!
- 怎样在delphi 中打开word文件?即调用word!
- 我写了一个动态链接库, 用ADO访问数据库,考到别的终端不能用,为什么。终端是win2000
- TIdThreadComponent的使用方法!
- 浅谈Object Pascal的指针
- 哪里有 TClientSocket 进行断点续传的示例程序?最好是多线程的,100分绝不食言!!!
- delphi与vb之间怎么进行通信? 比如把vb当中的某个变量值传到delphi里
- Express DBEditor6 的TcxDBExtLookupComboBox控件
可以麻烦点,加一句判断
if ord(x)=255 Then
...
一定要用UNICODE控件吗,有程序自己处理不行么?谢谢
如果仅仅是为了显示(不需要修改)的话,你可以在显示时把 #255 替换为其他可显示字符。正常是不能显示为ÿ的,你可以把Font.CharSet 设置为“TURKISH_CHARSET”
就可以显示为ÿ
但是注意:这样设置后就无法显示中文。
文件夹,还有其他的文字的文件夹,都同时显示的,难道opendlog是调用的windows的什么什么吗
自己处理当然可以了,用户态的东西别人能实现的当然你也能实现,有支持unicode的vcl控件不用非要自己实现谁也不拦着你都告诉你了unicode,不懂就去找东西看,windows nt系列本身就是unicode内核的