今回は、Delphi/400のアプリケーションから
ブラウザを起動してWebサイトを表示するプログラムの記述方法になります。
ブラウザを開くにはWindows APIのShellExecuteを利用します。
ShellExecuteは関連付けされた拡張子に指定されたアプリケーションを起動しますので、
WebサイトのURLを渡せば既定のブラウザでWebサイトを表示します。
(エクスプローラーでフォルダやファイルを開く場合と同様です。)
例) URL https://www.migaro.co.jp/ を表示します。
※プログラム宣言部のuses節に『Winapi.ShellAPI』を追加
ShellExecute(
Handle, // 親ウインドウのハンドル
'open', // 操作
PChar('https://www.migaro.co.jp/'), // 操作対象ファイル
nil, // 操作パラメータ
nil, // 操作ディレクトリ
SW_SHOW); // 表示状態
URLにパラメータを渡して実行したい場合は、引き渡す文字によりURLエンコードが必要になります。
Delphi/400でURLエンコードを行うにはHTTPEncode関数を利用します。
この関数はHTTPメッセージヘッダーで無効となる値を含まない形式に文字列を変換します。
例として、Googleマップに住所のパラメータを渡してURLを開く方法をご紹介します。
例) パラメータを渡してGoogleマップを表示します。
※プログラム宣言部のuses節に『Winapi.ShellAPI』『Web.HTTPApp』を追加
var
strURL: string; // URL
strAddress: string; // 住所
begin
// 表示する住所
strAddress := '大阪府大阪市浪速区湊町2-1-57';
// URLの%sの部分に住所が組み込まれます。
strURL := Format('https://maps.google.co.jp/?q=%s',
[HTTPEncode(AnsiToUtf8(strAddress))]); // URLエンコード
try
ShellExecute(Handle,'open', PChar(strURL), nil, nil, SW_SHOW);
except
on Exception do
begin
// メッセージ処理
ShowMessage('URLの起動に失敗しました。');
end;
end;
end;
(ミガロ.情報マガジン「MIGARO News!!」Vol.134 2012年1月号より)