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.
  • 相关阅读:
    实用的 jquery 弹出窗口 插件winbox
    软考大纲
    那些年踩过三轮车的程序员
    今天是周几?
    本故事荣获2011年度最佳故事情节奖.
    命令行修改linux时间
    [置顶] 自考,认证相关资料
    金山软件面试题
    del
    【转】数据结构:位图法
  • 原文地址:https://www.cnblogs.com/limingliyu/p/5658767.html
Copyright © 2011-2022 走看看