IP字串解讀 |
答題得分者是:taishyang
|
bome2002
一般會員 發表:11 回覆:9 積分:4 註冊:2005-11-04 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
procedure TForm1.FormCreate(Sender: TObject);
var IPaddr : String; A, B, C, D : String; Dot, i, j, StartPos : Integer; begin IPaddr :='192.168.1.23'; Dot:=0; StartPos :=1; A:=''; B:=''; C:=''; D:=''; for i:=1 to Length(IPaddr) do begin if IPaddr[i]='.' then begin Dot := Dot 1; case Dot of 1: for j:= StartPos to i-1 do A:= A IPaddr[j]; 2: for j:= StartPos to i-1 do B:= B IPaddr[j]; 3: begin for j:= StartPos to i-1 do C:= C IPaddr[j]; for j:= i 1 to Length(IPaddr) do D:= D IPaddr[j]; end; end; StartPos := i 1; end; end; Memo1.Clear; Memo1.Lines.Add(A); Memo1.Lines.Add(B); Memo1.Lines.Add(C); Memo1.Lines.Add(D); end;
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
也可以試試下面的程式碼
AnsiString szIPaddr = "192.168.1.23"; TStringList *lsIPaddr = new TStringList; lsIPaddr->CommaText = StringReplace(szIPaddr, ".", " ", TReplaceFlags() << rfReplaceAll); for (int i=0; i < lsIPaddr->Count; i ) { Memo1->Lines->Add(lsIPaddr->Strings[i]); } delete lsIPaddr; |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
var SL : TStrings; SA,SB,SC,SD : String; I : Integer; begin SL := TStringList.Create; try SL.Delimiter := '.'; SL.DelimitedText := '192.168.1.23'; for I := 0 to SL.Count - 1 do begin ShowMessage(SL.Strings[I]); end; SA := SL[0]; SB := SL[1]; SC := SL[2]; SD := SL[3]; finally SL.Free; end; end; Fishman
------
Fishman |
bome2002
一般會員 發表:11 回覆:9 積分:4 註冊:2005-11-04 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |