本文整理自网络,侵删。
{此函数需要 ComObj 单元的支持}{参数 JsCode 是要执行的 Js 代码; 参数 JsVar 是要返回的变量}function RunJs(const JsCode, JsVar: string): string;var script: OleVariant;begin try script := CreateOleObject('ScriptControl'); script.Language := 'JavaScript'; script.ExecuteStatement(JsCode); Result := script.Eval(JsVar); except Result := ''; end;end;
//全角转换为半角函数 qq123691873function FullToHalf(const str: string): string;var i,n: Integer; s: string; jslist:TStringList;beginjslist:=TStringList.Create;//全角转换为半角函数jslist.Add('function ToHalf() {');jslist.Add('var str="'+StringReplace(str,#13#10,'',[rfReplaceAll])+'";'); //Memo1.Textjslist.Add('var tmp = "";');jslist.Add('for (var i = 0; i < str.length; i++) {');jslist.Add('if (str.charCodeAt(i) > 65280 && str.charCodeAt(i) < 65375) {');jslist.Add('tmp += String.fromCharCode(str.charCodeAt(i) - 65248);');jslist.Add('}');jslist.Add('else if (str.charCodeAt(i) == 12288) {');jslist.Add('tmp += String.fromCharCode(32);');jslist.Add('}');jslist.Add('else {');jslist.Add('tmp += String.fromCharCode(str.charCodeAt(i));');jslist.Add('}');jslist.Add('}');jslist.Add('return ToFull=tmp;');jslist.Add('}');Result:=RunJs(jslist.Text,'ToHalf()');jslist.Free;end;
//半角转换为全角函数function HalfToFull(const str: string): string;var i,n: Integer; s: string; jslist:TStringList;beginjslist:=TStringList.Create;jslist.Add('function ToFull() {');jslist.Add('var txtstring="'+StringReplace(str,#13#10,'',[rfReplaceAll])+'";'); //Memo1.Textjslist.Add('var tmp = "";');jslist.Add('for (var i = 0; i < txtstring.length; i++) {');jslist.Add('if (txtstring.charCodeAt(i) == 32) { ');jslist.Add('tmp = tmp + String.fromCharCode(12288);');jslist.Add('}');jslist.Add('else if (txtstring.charCodeAt(i) < 127) {');jslist.Add('tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i) + 65248); ');jslist.Add('}');jslist.Add('else');jslist.Add('tmp = tmp + String.fromCharCode(txtstring.charCodeAt(i));');jslist.Add('}');jslist.Add('return ToFull=tmp;');jslist.Add('}');Result:=RunJs(jslist.Text,'ToFull()');jslist.Free;end;
相关阅读 >>
tsqlconnection连接mysql(utf8)的问题
Delphi 实现dns上线域名解析(用于远控server)
更多相关阅读请进入《Delphi》频道 >>