捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
uXXXX编码与解码(无下载)
关键字:ScriptControl,\uXXXX
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:初级 完成时间:2010/7/22
发布者:baifafa 发布时间:2010/7/25
编辑器:DELPHI7 语  种:简体中文
分 类:其他 下载浏览:130/9688
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
一个ScriptControl组件用来解码的例子,主要是为了完成\uXXXX方式的汉字转换.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, MSScriptControl_TLB;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function Encode2(s:WideString):String;
var
 i,len:Integer;
    cur:Integer;
       t:String;
begin
    Result:= '';
    len:=Length(s);   
    i:=1; 
  while   i <=len   do   
  begin
      cur:=ord(s[i]);   //BCD转换
      if ( cur<19968) or (cur>40869) then //单字不转
      begin
        Result:=Result+s[i];
      end
      else begin
        FmtStr(t, '\u%4.4X',[cur]);
        Result:=Result+t;
      end;
      inc(i);   
    end;   
end; 



procedure TForm1.Button1Click(Sender: TObject);
var
s,str:string;
i:integer;
vScript: TScriptControl;
begin

s:=Encode2(edit1.Text);
memo1.Lines.Add(s);
vScript:=TScriptControl.Create(nil);
vScript.Language := 'JavaScript';
str:=vScript.Eval('unescape('''+s+''')');
memo1.Lines.Add(str);
vScript.free;
end;

end.
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论0条
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2012 V3.01 沪ICP备05001939号 更新RSS列表