Autor Beitrag
ReddY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win 2000

BeitragVerfasst: Sa 14.08.04 12:33 
hallo erstmal :)

ich schreib egrde ein einfaches ip-programm, welches mir die loale und die internet-ip anzeigt! alles funzt perferkt, aber beides soll zu form1.onShow, damit, wenn ich das programm öffe, sofort in 2 Edit-feldern die IP sehe! dennoch funzt nur die lokale ip, die i-net ip zeigt er mir net an, obwohl er alles ohne fehler compileirt :S




ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
procedure TForm1.FormShow(Sender: TObject);
var
  InetIP: string;
  WebAddress, SearchString: string;
  Buff, P, FT: PChar;
  BuffLen: Word;
  StartPos, StringLength, TempInt: Integer;
begin
Edit1.Text:=(Getipaddress); <<< das ist unwichtig! teil für die lokale-ip! befehl der funktion
  WebAddress   := 'http://www.whatismyip.com/';
  SearchString := 'Your ip is ';
Edit2.text:='';
  try
    NMHTTP1.Get(WebAddress);
  except
    on E: Exception do
    begin
      MessageDlg('Could not get IP Address! ' +

        'Please ensure you are connected to ' +
        'the Internet.', mtError, [mbOK], 0);
    end;
  end;
  Edit2.Text     := NMHTTP1.Body;
  Edit2.SelStart := 0;
  GetMem(FT, Length(SearchString) + 1);
  StrPCopy(FT, SearchString);
  BuffLen:=Edit1.GetTextLen + 1;
  GetMem(Buff, BuffLen);
Edit2.GetTextBuf(Buff, BuffLen);

  P := Buff + Edit2.SelStart + Edit2.SelLength;

  P := StrPos(P, FT);
  if P = nil then MessageBeep(0)
  else
  begin
    Edit2.SelStart  := P - Buff;
    Edit2.SelLength := Length(SearchString);
  end;
  StringLength := Edit2.SelLength;
  StartPos     := Edit2.SelStart + StringLength;
  tempint      := StartPos;
  InetIP       := '';
  while ((Buff[TempInt] in ['0'..'9']) or
    (Buff[TempInt] = '.')) do
  begin
    InetIP  := InetIP + Buff[TempInt];
    tempint := tempint + 1;
  end;
  FreeMem(FT, Length(SearchString) + 1);
  FreeMem(Buff, BuffLen);
Edit2.text:=(InetIP);
end;



ich versteh einfach net, warum es net funzt *GG*
danke im voraus

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.

_________________
Ordnung braucht nur der Dumme. Das Genie beherrscht das Chaos! (Albert Einstein)
Nichtsnutz
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Sa 14.08.04 16:04 
Titel: I Net IP
Mit der Indy IdIPWach-Componente den Status u. die IP anzeigen lassen

Startet zuerst eine neue Anwendung. Darauf legt ihr ein paar Label
und einen Button. Ins OnClick-Ereignis des Buttons, fügt ihr
folgenden Code ein:

procedure TForm1.Button1Click(Sender: TObject);
begin
label2.caption:=IdIPWatch1.CurrentIP;
if IdIPWatch1.IsOnline then label4.caption:='online'
else label4.caption:='offline';
end;
end.
ReddY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win 2000

BeitragVerfasst: Sa 14.08.04 17:10 
danke erstmal für deinen beitrag! aber: der zeigt mir nur die lokale IP an, ich brauch aber die internet-ip!

_________________
Ordnung braucht nur der Dumme. Das Genie beherrscht das Chaos! (Albert Einstein)
Nichtsnutz
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 15.08.04 15:11 
Titel: IP
Also bei mir zeigt diese klamotte die OL-IP
ReddY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win 2000

BeitragVerfasst: Mo 16.08.04 12:50 
ist auch egal! fazit: ich habs auch anders geschafft mit 2 zeilen code und die iDIPWatch-Comonente ist BULLSHIT! ganz ehrlich ... ...

_________________
Ordnung braucht nur der Dumme. Das Genie beherrscht das Chaos! (Albert Einstein)