Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: VB6: Julkinen IP

matpit [17.12.2005 22:36:59]

#

Jee, mun eka koodivinkki, toivottavasti tulee tarpeeseen :)

Elikkäs tämä koodivinkki hakee www.whatismyhost.com:ista julkisen IP -Osoitteen. Siinä toimii periaatteena Temen Tiedoston lataaminen netistä -Visual Basic (en nyt keksi kuinka tuohon saa linkin sinne...) koodivinkki. Lisää formille yksi textbox nimellä Text1
Eli kiitokset Temelle :)

Tämä osuus on siis se Temen vinkki

Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" _
   Alias "URLDownloadToFileA" _
  (ByVal pCaller As Long, _
   ByVal szURL As String, _
   ByVal szFileName As String, _
   ByVal dwReserved As Long, _
   ByVal lpfnCB As Long) As Long

Private Const ERROR_SUCCESS As Long = 0

Public Sub Lataa()

   Dim sSourceUrl As String
   Dim sLocalFile As String
   Dim targetFile As String
   Dim hfile As Long

   sSourceUrl = "http://www.whatismyhost.com" 'ladataan www.whatismyhost.com:ista ip ja muu sälä
   sLocalFile = App.Path & "\ip.txt" 'ip.txt tiedostoon


   If DownloadFile(sSourceUrl, sLocalFile) Then

      hfile = FreeFile
      Open sLocalFile For Input As #hfile

      Close #hfile

   End If

End Sub

'Ja tämä on se funktio, joka suorittaa lataamisen.

Public Function DownloadFile(sSourceUrl As String, _
                             sLocalFile As String) As Boolean

   Dim lngRetVal As Long

  'if the API returns ERROR_SUCCESS (0),
  'return True from the function
   DownloadFile = URLDownloadToFile(0&, _
                                    sSourceUrl, _
                                    sLocalFile, _
                                    0&, _
                                    0&) = ERROR_SUCCESS

End Function

Ja tässä astun minä kuvaan :P

Private Sub Form_Load()

Lataa 'Ladataan whatismyhost.comista IP osoite

Dim IP
	Open App.Path & "\ip.txt" For Input As #1 'Avataan äsken ladattu tiedosto
		Line Input #1, IP 'Syötetään tiedoston ylimmänrivin teksti IP muuttujaan
	Close 'suljetaan tiedosto
	Kill App.Path & "\ip.txt" 'poistetaan ladattu tiedosto koska se on jo muuttujassa

Text1.Text = IP 'Vaihetaan Text1:hden teksti IP muuttujaan
IP = "" 'tyhjennetään IP muuttuja ettei vie muutamia kilotavuja kallista muistia :P
Text1.Text = Right$(Text1.Text, Len(Text1.Text) - 68) 'Poistetaan alusta tekstiä riittävästi
Text1.Text = Left$(Text1.Text, Len(Text1.Text) - 16)  'ja lopusta poistetaan
End Sub

miiro [22.12.2005 11:42:40]

#

Huono puoli tässä on, että jos whatismyhostin designi tai yksikin kirjain muuttuu, koodi ei anna oikeaa ip:tä.

matpit [22.12.2005 14:29:17]

#

Nojoo, annoin muutamalle kaverille testattavaksi, mutta ilmeisesti he katsoivat niin hätäiseen etteivät he huomannut sen on olevan oikea IP osoite, no siin on vaikka perus idea jos joku parempi haluu säätään sen paremmaksi

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta