unit test01;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ComCtrls, OleCtrls, SHDocVw,OleServer;

type
  TForm1 = class(TForm)
    PC1: TPageControl;
    TB1: TTabSheet;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    TB2: TTabSheet;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    EdtYM: TEdit;
    EdtUsr: TEdit;
    EdtCorp: TEdit;
    BtnSave: TBitBtn;
    BitExcel: TBitBtn;
    BitPDF: TBitBtn;
    Label6: TLabel;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BtnSaveClick(Sender: TObject);

  private
    { Private 宣言 }
   IEObj : OleVariant;
   IEHandle : HWND;

  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

uses ComObj, MSHTML;

{$R *.dfm}

procedure TForm1.FormShow(Sender: TObject);
begin

   EdtCorp.Text := '37';
   EdtUsr.Text := 'ymurata';
   EdtYM.Text := '201405';

   PC1.ActivePage := TB1;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin

  PC1.ActivePage := TB2;




end;


//webブラウズ
procedure TForm1.BtnSaveClick(Sender: TObject);
var
  Flag : OleVariant;
  AURL : String;
  wStr : String;
  wInt : Integer;
  sHeader : String;
  str: AnsiString;
  p: PChar;
  vTarget,vPostdata: OleVariant;
begin

  IEObj := CreateOleObject('InternetExplorer.Application') as InternetExplorer;

  //表示フラグの設定
  //Flag := navNoHistory or navNoReadFromCache or navNoWriteToCache;
   Flag     := 2 or 4 or 8;

  //指定のURLを表示(ここではローカルなHTMLファイル)
  AURL := 'http://localhost:8080/JT_POC//BITokenizer';

  vTarget   := Null;

  //sPostData送信データ設定
  str := 'id=superuser&pw=superuser';
  //バイト配列変換）
  vPostdata := VarArrayCreate([0, Length(str) - 1], varByte);
  p := VarArrayLock(vPostdata);
  try
    Move(PChar(str)^, p^, Length(str));
  finally
    VarArrayUnlock(vPostdata);
  end;


  sHeader := 'Content-Type: application/x-www-form-urlencodedrn'#13#10;

  IEObj.Navigate(AURL, Flag, vTarget, vPostdata, sHeader);

  //読み込み完了まで待つ
  while IEObj.ReadyState < READYSTATE_INTERACTIVE do begin
     Application.ProcessMessages;
  end;

  wStr := IEObj.Document.Body.InnerText; //内容の取得。

  AURL := 'http://localhost:8080/JT_POC//BIFacade?key='
          + wStr + '&nengetu=' + EdtYM.Text + '&userID=' + EdtUsr.Text
          + '&corpID=' + EdtCorp.Text + '&Syubetu=' + IntToStr(TButton(Sender).Tag);

  IEObj.Navigate(AURL, Flag, EmptyParam, EmptyParam, EmptyParam);

  //読み込み完了まで待つ
  while IEObj.ReadyState < READYSTATE_INTERACTIVE do begin
    Application.ProcessMessages;
  end;

  //前のサンプルではVistible := TrueにしてからIEオブジェクトを操作したが，
  //このサンプルでは，IEオブジェクトの設定後にVisibleにしてみる
  IEObj.Visible := True;

  //後の操作用にハンドルを取得しておく
  //ローカルのHTMLの場合にはLocationNameはファイル名となる
//  IEHandle     := IEObj.HWnd;

end;

end.
