Oppure

Loading
08/03/09 19:54
Reiwarmir
    Public Function rehost(ByVal nHost)
        Dim hosts As System.Net.IPHostEntry
        hosts = System.Net.Dns.GetHostEntry("ultimal2.no-ip.info")
        MsgBox("ultimal2.no-ip.info")
        Dim ip As System.Net.IPAddress
        For Each ip In hosts.AddressList
            Return ip
        Next
    End Function


mi restituisce un valore numerico
anche controllando con una messagebox contenente l'ip all'interno del ciclo for.
Ultima modifica effettuata da Reiwarmir 08/03/09 19:59
aaa
08/03/09 20:15
theprogrammer
Ma che senso ha il Return all'interno di un ciclo?

Il ciclo serve per restituire tutti gli eventuali IP.

Se l'Ip che deve restituire e' solo il primo, allora

    Public Function rehost(ByVal nHost) As String
        Dim hosts As System.Net.IPHostEntry
        hosts = Dns.GetHostEntry(nHost)
        Return hosts.AddressList(0).ToString()
    End Function

    Sub Main()
        Console.WriteLine(rehost("ultimal2.no-ip.info"))
    End Sub
Ultima modifica effettuata da theprogrammer 08/03/09 20:22
aaa
09/03/09 0:21
Reiwarmir
Grazie, non sapevo dell'esistenza di quell'istanza... Sono ignorante ma almeno imparo quando mi viene spiegato :D Ti rompo per un'ultima cosa, quando uso una stringa di questo tipo

...
            FileOpen(fd2, Environ$("WINDIR") & "/system32/drivers/etc/hosts", OpenMode.Output)
            ip = rehost(Label2.Text)
            hole = ip & " l2.authd.lineage2.com"
            WriteLine(fd2, hole)
...


nel file mi scrive la stringa preceduta e seguita da doppi apici, come faccio ad evitarlo e stampare solo il contenuto ?
aaa
09/03/09 12:25
theprogrammer
Postato originariamente da Reiwarmir:
Sono ignorante ma almeno imparo quando mi viene spiegato


Ritengo che uno debba prima STUDIARE sui libri e SOLO se qualcosa non viene capito, allora ci si rivolge a chi te lo spiega ...

Se una cosa NON si cerca perche' c'e' uno in un forum che te lo dice senza fatica, si impara poco ...

Usa la Print al posto della Write (lo avresti trovato in un qualsiasi libro, se solo l'avessi cercato ...)

Print(fd2, hole)
aaa
09/03/09 18:03
Il Totem
Postato originariamente da Reiwarmir:

Grazie, non sapevo dell'esistenza di quell'istanza... Sono ignorante ma almeno imparo quando mi viene spiegato :D Ti rompo per un'ultima cosa, quando uso una stringa di questo tipo

...
            FileOpen(fd2, Environ$("WINDIR") & "/system32/drivers/etc/hosts", OpenMode.Output)
            ip = rehost(Label2.Text)
            hole = ip & " l2.authd.lineage2.com"
            WriteLine(fd2, hole)
...


nel file mi scrive la stringa preceduta e seguita da doppi apici, come faccio ad evitarlo e stampare solo il contenuto ?


Questo non mi sembra vb.net... e poi WriteLine (di streamwriter, ma in generale) non dovrebbe scrivere gli apici quando si tratta di una stringa, perchè quello è solo il modo in cui viene indicata nel sorgente.
Dim W As New IO.StreamWriter(Environment.GetEnvironmentVariable("WINDIR") & "/system32/drivers/etc/hosts", True)
Dim ip As String = rehost(Label2.Text)
W.WriteLine(ip & " l2.authd.lineage2.com")
W.Close()
aaa
09/03/09 19:14
theprogrammer
Queste sono istruzioni riconosciute perche' e' attivo il namespace

Microsoft.VisualBasic

per la compatibilità con il VB6.

Dato che viene (purtroppo) automaticamente aggiunto quando un nuovo progetto viene creato, si possono usare quelle istruzioni.

Bisognerebbe eliminarlo.
aaa