zoukankan      html  css  js  c++  java
  • 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.
  • 相关阅读:
    Django 数据库常用字段类型、选项参数、外键约束
    Django 项目基础配置
    MySQL连接列值
    SQL 限制查询结果
    python+appium+真机测试
    P3089 [USACO13NOV]POGO的牛Pogo-Cow
    P2889 [USACO07NOV]挤奶的时间Milking Time
    P2679 子串
    P3932 浮游大陆的68号岛
    P1514 引水入城
  • 原文地址:https://www.cnblogs.com/limingliyu/p/5658767.html
Copyright © 2011-2022 走看看