Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
DarkDragon hat geschrieben:Auch gut, aber "Deutsch der kann, kann kommuniziert einfach."
Hehe wohl das ist Restalkohol der vom Fasching .. *hicks*
Nicht sauft soviel oder Krankenhaus warten auf dich und Renovierung des Magens :P . (Ich nichtmehr wegbekomm diese Redensweise, dige danke)
Zurück zum Thema: Ich hoff nur dass diese ganzen IP Server nichtmehr offline gehen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Wenn man seinen eigenen Server verwendet (hauptsache ist halt, das der IP-Extrahier-Algo der gleiche ist), kann man die Adresse ja einfach in ner ini angeben oder so
ok da ja server mal offline gehen können oder die seite komplet von der bildfläche verschwinden kann und es somit zu probs in einem Programm führen kann hab ich mich mal eben hingesetzt und ne kleine procedure geschrieben die die ip-adresse auch so ermitteln kann ohne extra php-script auf nem server oder so.
der code geht nur wenn ihr NICHT über einen router oder Proxy online geht.
ok ich denke mal mit dem router wird das nich gehen sorry. da müßte man die IP direkt aus dem router auslesen wenn man nich über die scripts gehen will.
@Nicolaus: Dein Beispiel macht keinen Sinn, da es die eigene lokale IP
ermittelt. Es ging aber darum herauszufinden welche IP letztlich nach
draussen geht ( nach diversen Routerm Proxys etc. )
Bei der DFÜ Einwahl erhälst Du eine dynamische IP zugewiesen,
die du mit PB Mitteln oder via API ermitteln kannst,
aber auch diese IP kann auch dem weg "nach draussen" ( zum Bsp. bei AOL)
nochmal gemappt werden...
"Papa, ich laufe schneller - dann ist es nicht so weit."
das beispiel geht soweit super wenn du nicht hinter nem router oder proxy bist (also normale einwahl mit DFÜ und sonst nix).
es ist klar das es nicht geht wenn du hinter einem router oder so sitzt und das hatte ich auch in dem 2. beispiel nich gesaagt das es da geht oder?
Hab' den Code von Falco um eine Kleinigkeit verändert, weil die von What's my IP anscheinend das format des Textes geändert haben, und es wird ja Suche nach Text benutzt...
; Funktion um seine IP im Internet zu erfahren
; Autoren: Falko, Nicolaus und TS-Soft
Procedure.s GetMyInternetIP()
; TempPfad ermitteln
Buffer.s = Space(#MAX_PATH)
GetTempPath_(#MAX_PATH, @Buffer)
; IP-File downloaden
Buffer + "ip.txt"
If URLDownloadToFile_(0, @"http://www.whatismyip.com", @Buffer, 0, 0) = 0
; IP-File einlesen
File = OpenFile(#PB_Any, Buffer)
If File
While Eof(File) = 0
; Zeile für Zeile einlesen und nach IP Filtern
IPString.s = ReadString() ; wäre = statt + nicht besser? Das hier kann recht groß werden... funktioniert jedenfalls...
; wenn er eh jede Zeile erneut testet, ob er inzwischen die IP gelesen hat...
If IPString
temp_pos_beforIP = FindString(LCase(IPString),"your ip is ",1)
If temp_pos_beforIP
temp_pos_afterIP = FindString(IPString,"<",temp_pos_beforIP) ;das erste Zeichen nach der IP ist das < eines tags...
If temp_pos_afterIP
ip.s = Mid(IPString,temp_pos_beforIP+Len("your ip is "),temp_pos_afterIP-temp_pos_beforIP-Len("Your ip is "))
If ip
Break
EndIf
EndIf
EndIf
EndIf
Wend
CloseFile(File)
DeleteFile(Buffer)
EndIf
EndIf
If ip > ""
ProcedureReturn ip
EndIf
ProcedureReturn "0.0.0.0"
EndProcedure
Debug GetMyInternetIP()
[/code]
If OSVersion() <> #PB_OS_Windows_ME : End : EndIf !!!