THtmlでローカルファイルを表示させる
Delphi 3 の プロフェッショナル版以上に付いてくる THTML コンポーネントの使い方です。このコントロールは
HTMLファイルを表示します(ただしフレームに未対応)。使い方に関してはサンプルフォルダ \Demos\Coolstuf\Webbrows.dpr
を見れば一目瞭然です。
さて、この HTMLコントロールでローカルの HTMLファイルを表示する場合は少し工夫が必要です。なぜなら アドレスに "C:\index.html"
と言う書き方が出来ないからです。具体的には "file:///c:/index.html" と書かなければ行けません。これを一文字ずつ変換していたら大変です。HttpAppユニットには
Dosのパスを変換する便利な関数が DosPathToUnixPath 関数 が用意されています。これを使えば簡単に変換できます。
| ■ HTMLコントロールにローカルファイルを表示させる例 |
procedure TfrmMain.Tutorial1Click(Sender: TObject);
var
strDir : string;
begin
strDir := ExtractFilePath(TApplication(Application).Exename) + 'tutor.htm';
HTML1.RequestDoc('file:///' + DosPathToUnixPath(strDir));
end;
|
※ uses節に HTTPApp を追加してください。
※ HTTPAppを追加するとプログラム内の Applicationオブジェクトを使ったコードがエラーになります。上の例のように Applicationオブジェクトはすべて TApplicationにキャストするように変更してください。