delphi的窗体文件(dfm)文件中的汉字提取出来?


本文整理自网络,侵删。

 
用记事本打开dfm文件,如果包括中文的话,都是用 #+一串数字表示的如何把这个转换出来?
解决方案 ?
  

 "#+一串数字表示的 " 这就是汉字的Unicode编码
很容易转换的

unit Unit1;interfaceuses
  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.
  
  

//1.生成一个Unicode与汉字的对应表
//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;

相关阅读 >>

Delphi 调出windows 系统时间设置对话框

Delphi idftp 详解

Delphi waitforsingleobject 响应窗体

Delphi memo1双击选中的文字内容

Delphi combobox和listbox的文字可以右对齐显示

Delphi 调用外部程序并等待其运行结束

Delphi dbgrid中实现copy、paste功能

Delphi 自定义colorbox只显示指定颜色项目 colorbox显示中文颜色名称

Delphi cardpanel1 简单的切换

Delphi 双进程监控保护

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...