2015年2月6日 星期五

用DELPHI產生HTML

大家熟悉的HTML一般都是用UTF-8格式來做存檔格式,可是DELPHI所用的TXT FILE卻都是用ANSI格式,所以在存檔和轉換都會有許多問題,那怎麼做比較好呢?
筆者最近因為工作上的關係,常會用HTML做樣板,然後再用DELPHI把檔案讀進來,做一些轉換,再形成新的HTML供BROWSER讀取,就碰上了格式的問題。
最後的解決方式是用TStringList的LoadFromFile來解決這個問題
舉例如下
function RefreshHTM():String;
var
  HTML1,HTML2  :TStrings;
  FG : Boolean;
  i : Integer;
begin
  try
    // 宣告二個TString,HTML1承接HTML樣版,HTML2是做轉換後要顯示的HTML結果
    HTML1 := TStringList.Create;
    HTML2 := TStringList.Create;
    try
      // 取得樣版的HTML
      HTML1 .LoadFromFile('D:\web_root\html\PTL01U05.htm');
      for i :=0 to HTML1.Count-1 do
      begin
        // 逐筆把資料抓入
        Ln := HTML1[i];
        // 這邊做想要更換的作

        // 把更改後的資料加到HTML2中
        HTML2.Add(Ln);
      end;
      Result := HTML2.Text;
    finally
      //把資料傳出後,把TString Free 掉
      HTML1.Free;
      HTML2.Free;
    end;
end;