有关路径替换问题!!!! |
答題得分者是:Justmade
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
我用的是TADOTable/TADOQuery
请问具体怎么更改连线? 我现在的查询代码如下:
procedure TForm_caseembryo1.SpeedButton1Click(Sender: TObject);
var
image:timage;
begin
if qry1.Active=false then exit;
Qry1.First;
clearimage; while not Qry1.Eof do
begin
image:=timage.Create(ScrollBox1);
image.Picture.LoadFromFile(Qry1.FieldByname('picpath').asstring);
image.Parent:=ScrollBox1;
Qry1.Next;
end; end;
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
Justmade
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
在 Delphi 內可用 :
StringReplace(Query1.FieldByName('pic').AsString,'\\mail\','\\hong\',[]);
可在使用時 (如 load 圖) 才用或建立一 Lookup field 若你是要在 SQL 選取時已作調換,請如版規第一點所說 :
發表文章前請詳閱本區版規:
1.請註明資料庫系統及版本
2.若非資料(數據)庫相關問題, 將不預警加以移區並扣分 嘩十多分鐘變化這麼大,我按回覆時只有問題,中途做過點別的,一貼上原來已對答一堆了
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
我改写程序如下,但还是不行啊,烦请各位再帮我看看
while not Qry1.Eof do
begin
image:=timage.Create(ScrollBox1); if rb_mainland.Checked=true then image.Picture.LoadFromFile(Qry1.FieldByname('picpath').asstring); if rb_hk.Checked=true then
image.Picture.LoadFromFile(StringReplace(Qry1.FieldByname('picpath').asstring, '\\pengjuntao\', '\\mail\', [])); image.Parent:=ScrollBox1;
Qry1.Next;
end;
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
|
hagar
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
|
Justmade
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
絕不是替換不了,只是你的替換有問題。 你可用
showMessage(StringReplace(Qry1.FieldByname('picpath').asstring, '\\pengjuntao\', '\\mail\', [])));
來看看替換後的路徑是否正確 其中一個可能是大小寫不對,那你可在 [] 內加入 rfIgnoreCase,即是 :
showMessage(StringReplace(Qry1.FieldByname('picpath').asstring, '\\pengjuntao\', '\\mail\', [rfIgnoreCase])));
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
Justmade大哥,确实是替换不了,用showmessage来看也是路径没变过,我把我的代码贴出来,请看看吧
procedure TForm_caseembryo1.SpeedButton1Click(Sender: TObject);
var
image:timage;
begin
if qry1.Active=false then exit;
Qry1.First;
clearimage; while not Qry1.Eof do
begin
image:=timage.Create(ScrollBox1); if rb_mainland.Checked=true then image.Picture.LoadFromFile(Qry1.FieldByname('picpath').asstring); if rb_hk.Checked=true then
image.Picture.LoadFromFile(StringReplace(Qry1.FieldByname('picpath').asstring, '\\pengjuntao\', '\\mail\', [rfIgnoreCase]));
image.Parent:=ScrollBox1;
Qry1.Next;
end; end;
|
jtp
初階會員 ![]() ![]() 發表:39 回覆:81 積分:29 註冊:2003-04-20 發送簡訊給我 |
|
Justmade
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:94 回覆:1934 積分:2030 註冊:2003-03-12 發送簡訊給我 |
你這Case看程碼沒用,因為又看不到你 :
Qry1.FieldByname('picpath').asstring
的文字
若內裡跟本沒 '\\pengjuntao\' 字眼,甚可能轉換得到成 '\\mail\' ???
你可以用一些 Debug 最其本的常識 來測試一下丫 ShowMessage(Qry1.FieldByname('picpath').asstring);
ShowMessage(StringReplace(Qry1.FieldByname('picpath').asstring, '\\pengjuntao\', '\\mail\', [rfIgnoreCase]));
ShowMessage(StringReplace('\\pengjuntao\xyz.jpg', '\\pengjuntao\', '\\mail\', [rfIgnoreCase])); 自己比對一下。若第三行也是替換不了再來說罷。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |