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

請問有關字串擷取

尚未結案
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-26 20:25:05 IP:220.143.xxx.xxx 未訂閱
請問各位先進: 有個網頁的原始檔裡面有 transkey VALUE=E959FE7FC19DB69186D674E360C38AD47FCD 每次重新整理後 這個值都會不一樣 我已經有把原始檔抓下來放在memo1裡面了 請問要怎樣把這個值給抓出來放到memo2裡面呢 謝謝
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-28 04:52:50 IP:220.133.xxx.xxx 未訂閱
不好意思,借用RaynorPao大大的範例 AnsiString sz="INPUT TYPE=hidden NAME=transkey VALUE=82F155D578C68FB8B18FB2A3A084C86EDF69"; AnsiString sz1="transkey VALUE="; int i=sz.Pos(sz1); i =sz1.Length(); int j=0; while(sz[i j]!=' ') { j ; } Memo2->Lines->Add(sz.SubString(i, j)); 但是卻不能動作 請問要修改什麼地方呢 我發現在最後一個字的後面不是空格的話 就會發生錯誤!! 又在"transkey VALUE="後面的值不是固定的話 這個方法是否適用 謝謝~~!!
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-11-28 05:10:55 IP:220.133.xxx.xxx 未訂閱
我知道要怎麼弄了 AnsiString sz=Memo1->Text; //只要把這裡變成下載回來的原始檔 AnsiString sz1="VALUE="; int i=sz.Pos(sz1); i =sz1.Length(); int j=0; while(sz[i j]!='>') //再把這裡改成印到這個符號之前的文字 { j ; } Memo2->Lines->Add(sz.SubString(i, j)); 這樣就行了 原來這樣簡單 很笨,那麼久才想出來 QQ" 感謝RaynorPao大大的指教 謝謝 ^^
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-11-30 01:30:23 IP:220.143.xxx.xxx 未訂閱
再請問各位大大 AnsiString sz=Memo1->Text; AnsiString sz1="VALUE="; int i=sz.Pos(sz1); i =sz1.Length(); int j=0; while(sz[i j]!='>') { j ; } Memo2->Lines->Add(sz.SubString(i, j)); sl->Add("transkey=" (sz.SubString(i,j))); 這樣弄得話好像沒有把抓下來的值給加到transkey的後面 我試了" "跟" ="都不可以說 請問要怎樣把抓下來的值加到sl->Add("transkey=");的後面呢
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-11-30 19:45:36 IP:220.143.xxx.xxx 未訂閱
不好意思   附上我的原始碼    void __fastcall TForm1::Button1Click(TObject *Sender) { int k; Memo1->Clear(); Memo2->Clear(); Memo3->Clear(); NMHTTP1->Get("http://140.123.21.5/Webpac2/msearch.dll/"); Memo1->Lines->Add(NMHTTP1->Body); AnsiString sz=Memo1->Text; //Memo1->Lines->Strings[k],"VALUE="; AnsiString sz1="VALUE"; int i=sz.Pos(sz1); i+=sz1.Length(); int j=0; while(sz[i+j]!='>') { j++; }    Memo2->Lines->Add(sz.SubString(i,j)); Memo2->Lines->Strings[k],'=';       TStringList *sl= new TStringList;    sl->Add("KEYWORD=");    sl->Add("SELECTKEY=TITLE");    sl->Add("MTYPE=");    sl->Add("SortType=TITLE");    sl->Add("TITLE=Advance Linux Programming");    sl->Add("AUTHOR=");    sl->Add("SUBJECT=");    sl->Add("PUBLISHER=");    sl->Add("ACCNO=");    sl->Add("SERIES=");    sl->Add("ISBN=");    sl->Add("ISSN=");    sl->Add("CODEN=");    sl->Add("ENG=");    sl->Add("SSNO=");    sl->Add("DEF1=");    sl->Add("DEF2=");    sl->Add("DEF3=");    sl->Add("transkey=" 'k'); sl->Add("TY=ie"); Memo3->Lines->Text=IdHTTP1->Post("http://140.123.21.5/Webpac2/msearch.dll/BROWES", sl ); } 這樣弄得話好像沒有把抓下來的值給加到transkey的後面 我試了" "跟" ="都不可以說 請問要怎樣把抓下來的值加到sl->Add("transkey=");的後面呢 謝謝 發表人 - hennessy 於 2004/11/30 20:03:26
hennessy
一般會員


發表:11
回覆:24
積分:7
註冊:2004-07-26

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-11-30 19:46:10 IP:220.143.xxx.xxx 未訂閱
貼錯 發表人 - hennessy 於 2004/11/30 19:52:22
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-04-18 17:33:28 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-06 4:08:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!