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都不能显示
这个字符是ÿ
解决方案 »
- 求教:关于rmport 打印问题
- ftp同步更新程序
- 求一个字符串函数
- 使用adoquery和datasource, 如何向数据集中插入新的记录?请高手指点啊!
- 西安的delphi程序员过来吧!!!!!
- 欢迎加入讨论Treeview和数据库的问题!我这儿有段代码,帮忙看一下。
- 如何定义外部函数
- 花了一个小时,该结的都结了,巨爽!
- 同一台oracle数据库服务器,其他机器连接看到的数据都正常,就我看到的中文是乱码,为什么?
- 连续纸时如何控制打印长度?
- 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内核的