線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1484
推到 Plurk!
推到 Facebook!

INT檔轉UDL檔

 
mine
中階會員


發表:28
回覆:129
積分:56
註冊:2004-03-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-03 18:33:23 IP:61.221.xxx.xxx 未訂閱
加上Installshiled包進INI檔可自動修正udl安裝位置並可避免使用者不小心修改了udl檔,小小函式就不上傳檔案了有錯請大大指正
WriteWtextToFile本函式參照自TATSU版主的文章
function WriteWTextToFile(filename: string; ws: WideString):Boolean;
const
  WideBOM_LSB_First      = WideChar(#$FEFF);
var
  wf: WideString;
  f: TFileStream;
  i: integer;
begin
  Result := false;
  wf := WideBOM_LSB_First;
  f:= TFileStream.Create(filename, fmCreate);
  try
    f.Write(wf[1], 2);
    f.Write(PWideChar(ws)^, length(ws)*sizeof(WideChar));
    Result := true;
  finally
    f.Free;
  end;
end;    function IniToUdl(Ainifname,Audlfname:string):string;//ini To Udl
var
Tfs:TextFile;
Wstr:WideString;
Astr:String;
begin
try
 AssignFile(Tfs,Ainifname);
 ReSet(Tfs);
 While Not Eof(Tfs) do begin
  Readln(Tfs,Astr);
  Astr:=Astr #13 #10;
  if Trim(astr)='[oledb]' then
  Astr:=Astr 
 '; Everything after this line is an OLE DB initstring' #13 #10;
  //這一行文字不可加減 不然會造成udl無法開啟
  Wstr:=Wstr Widestring(Astr);
 end;
 CloseFile(tfs);
 WriteWTextToFile(Audlfname,Wstr);
 Result:=Audlfname;
except
 MessageDlg('資料庫連結檔案錯誤',mtWarning,[mbOK],0); 
end; 
end;
搞不懂!搞不懂!永遠都搞不懂!! 發表人 - mine 於 2004/11/03 18:44:50
系統時間:2024-07-04 11:59:49
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!