請問有關字串擷取 |
尚未結案
|
hennessy
一般會員 發表:11 回覆:24 積分:7 註冊:2004-07-26 發送簡訊給我 |
|
hennessy
一般會員 發表:11 回覆:24 積分:7 註冊:2004-07-26 發送簡訊給我 |
不好意思,借用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 發送簡訊給我 |
我知道要怎麼弄了 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 發送簡訊給我 |
再請問各位大大 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 發送簡訊給我 |
不好意思 附上我的原始碼 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 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |