用记事本打开dfm文件,如果包括中文的话,都是用 #+一串数字表示的如何把这个转换出来?
解决方案 »
- 求一个现在能用的邮件收发系统,源码(100分)delphi7
- 求动态生成报表的代码.
- delphi的B/S的问题
- 有一段代码看不懂能否解释?谢谢.
- 帮我写个字符串的处理函数好吗?在线等待,有答案马上结
- 如何实现多显卡编程?
- 菜鸟紧急求助!
- 数据库中存放money型数175 ,但是想显示为175.00。而175.23还需显示175.23?
- 关于类型转换
- delphi中出现Undeclared identifier: 'FieldValues'错误,为啥?
- msn空间 自动提交新博客文章,怎么作呢?它的网页代码比较特别,找不到input与Form:(
- 24个不同数据库进行数据采集然后插入到一个中心数据库中的问题。
很容易转换的
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses myfunc;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
cText:TextFile;
s,t:string;
w:widestring; //#后面代表的汉字
i,n,lens,j:Integer;
begin
AssignFile(cText,'cnCurrencyU.dfm');
try
Reset(cText);
while not eof(cText) do
begin
Readln(cText,s);
if pos('#',s)>0 then
begin
lens:=Length(s);
s:=copy(s,pos('#',s),lens-pos('#',s)+1);
n:=SubStrNum('#',s); //myfunc
Memo1.Lines.Add(s);
w:='';
for i := 1 to n do
begin
j:=pos('#',s);
t:=Copy(s,j+1,5);
Delete(s,1,j);
w:=w+widechar(strtoint(t));
end;
Memo1.Lines.Add(w);
end;
end;
finally
CloseFile(cText);
end;end;end.
//2.将文本文件中的Unicode转为中文
下面是Unicode与汉字的对应表var
w: WideString;
i: Integer;
s: string;
List: TStringList;
begin
List := TStringList.Create; for i := $4e00 to $9fa5 do
begin
s := #36 + IntToHex(i,4); {#36 是 $ 字符}
w := WideChar(i);
List.Add(s + '=' + w);
end; List.SaveToFile('c:\temp\Unicode-Hz.txt');
List.Free;
end;