Delphi 中调用JS文件中的方法

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ComObj,ActiveX;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  tfname:string;
  StrList: TStringList;
begin
   //创建JS变体类型
   m_OLE := CreateOleObject(‘ScriptControl‘);
   m_OLE.Language:=‘JavaScript‘;

   StrList:= Tstringlist.Create;
   try
     //读取同目录下的JS文件
     StrList.LoadFromFile(ExtractFilePath(ParamStr(0)) + ‘Date.js‘);
     //将读取的文件加载至 m_OLE 中
     m_OLE.AddCode(strlist.Text);
   finally
     StrList.Free;
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  DateStr : string;
begin
  CoInitialize(nil);      //线程中调用Variant 需要使用  CoInitialize,CoUnInitialize
  DateStr := m_OLE.Eval(‘Now()‘);  //调用 JS中now() 方法获取当前时间
  Memo1.Lines.Add(DateStr);

  DateStr := m_OLE.Eval(‘DateFormat("YEAR")‘);  //传入YEAR 调用 JS中DateFormat() 方法获取当前时间
  Memo1.Lines.Add(DateStr);
  CoUnInitialize;
end;

end.
时间: 2024-10-05 08:24:24

Delphi 中调用JS文件中的方法的相关文章

Python 调用JS文件中的函数

1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r"web.js").read().decode("utf-8")).call('loginHandle','steam') 语句解析,open后跟所执行的js文件位置,call后第一个单引号引起来的为所执行的js文件的某个function,第二个单引号是前面函数的参数这里为function loginHand

在winform中调用js文件并输出结果

在winform中调用js文件并输出结果默认分类 2007-10-19 16:35:06 阅读25 评论0 字号:大中小 由于项目需要在winform中调一个强大的js,所以把这个tip记录在此: 1.下载并安装Microsoft 下载 http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033 2.在项目中添加引用:msscript

a 中调用js的几种方法

我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 2. a href="javascript:void(0);"

Magento中调用JS文件的几种方法

一.全局调用方法: 通过该方法每个页面都会引用这个JS文件,除非是类似jQuery这样的系统文件,不然不推荐这种方法. 文件路径:/app/design/frontend/default/Your_Template/layout/page.xml 你会看到很多类似于addJS这样的XML代码,这是magento的优势之一,通过XML来配置文件很方便灵活. 如下: Xml代码   <action method="addJs"><script>varien/js.j

a 标签中调用js的几种方法

我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 2. a href="javascript:void(0);"

[转]a 标签中调用js的几种方法

我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放.W3C标准不推荐在href里面执行javascript语句 2. a href="javascript:void(0);"

C# winForm中调用javascript文件中的方法

目前有很多的SNS社区或类SNS的网站,例如开心.51.校内等,但是发现大多数社区在邀请好友的时候都没有提供对QQ邮箱或者QQ空间好友列表获取的功能,不过似乎海内支持,但是网上相关QQ的文章还不是很多,希望这篇文章能给你带来一些帮助. QQ空间及邮箱登陆的校验方式: QQ空间及邮箱登陆的时候,用户输入的密码首先会被页面中的一段Js加密,然后加密过后的密码会加上验证码形成一个新的字串,接着这个新的字串被MD5(32位)加密,加密过后形成最终的密码,这就是我们为什么经常会发现我们在提交的时候我们的密

C++学习——在C文件中调用C++文件中的函数

1.CPP文件中的内容 #include "mytest.h" #include <iostream> using namespace std; int add(const int a, const int b) { cout << "a=" << a << endl; cout << "b=" << b << endl; return (a + b); } 2.

【iOS】网页中调用JS与JS注入

很多应用为了节约成本,做出同时在Android与iOS上都能使用的界面,这时就要使用WebView来做.Android和IOS上都有WebView,做起来很省事.当然这时就要考虑如何在Android或iOS中实现与网页的交互.对iOS而言,包括如何在网页中调用OC,以及如何在OC中对网页进行操作. 先将网页弄到iOS项目中: 网页内容如下, 仅供测试: <html> <head> <meta xmlns="http://www.w3.org/1999/xhtml&q