Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143

    [VB.NET] da VB6 a VB.NET

    In questa funzione in vb.net se metto * 2024 nel riga
    Dim sReadBuffer As String * 2024
    mi segnala errore nelle righe dov'è sReadBuffer
    Cosa devo fare?
    Ringrazio per l'aiuto.

    Enrico

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    Quote Originariamente inviata da c-enrico Visualizza il messaggio
    In questa funzione in vb.net se metto * 2024 nel riga
    Dim sReadBuffer As String * 2024
    mi segnala errore nelle righe dov'è sReadBuffer
    Cosa devo fare?
    Ringrazio per l'aiuto.

    Enrico
    la funzione è questa

    codice:
    Public Function GetHTMLFromURL(sUrl As String) As String
    
            Dim sBuffer As String
            Dim hOpen As Long
            Dim hOpenUrl As Long
            Dim bDoLoop As Boolean
            Dim bRet As Boolean
            Dim sReadBuffer As String * 2024 
            Dim lNumberOfBytesRead As Long
    
            hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
            hOpenUrl = InternetOpenUrl(hOpen, sUrl, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
    
            bDoLoop = True
            While bDoLoop
                sReadBuffer = vbNullString
                bRet = InternetReadFile(hOpenUrl, sReadBuffer, 1024, lNumberOfBytesRead)
                sBuffer = sBuffer & Left(sReadBuffer, lNumberOfBytesRead)
    
                If Not CBool(lNumberOfBytesRead) Then bDoLoop = False
            End While
     
            If hOpenUrl <> 0 Then InternetCloseHandle(hOpenUrl)
            If hOpen <> 0 Then InternetCloseHandle(hOpen)
     
            GetHTMLFromURL = sBuffer
    
        End Function

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    allora ho visto che si deve mettere

    Dim sReadBuffer As String = 1024

    sembra funzionare ma c'è un altro punto da risolvere


    sBuffer = sBuffer & kj

    dove kj è un carattere

    da errore e non trovo la soluzione su Internet

    ho cercato

    aggiungere carattere in vb.net

    ma non trovo niente

    qualcuno mi vuole aiutare?



  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,351
    Ma perché con .NET utilizzi questi vecchisimi metodi?

    Utilizza le classi appositamente esistenti (WebClient e simili) ... spiega cosa vuoi fare a prescindere dal codice e se ne parla meglio ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    237
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma perché con .NET utilizzi questi vecchisimi metodi?

    Utilizza le classi appositamente esistenti (WebClient e simili) ... spiega cosa vuoi fare a prescindere dal codice e se ne parla meglio ...
    In assoluto accordo con Oregon, il codice che hai postato è stra superato perché VB.NET mette a disposizioni classi e metodi più efficaci e completi.
    Ti basta 1 riga
    codice:
    Dim sourceString As String = New System.Net.WebClient().DownloadString("SomeWebPage")
    Mi pare il minimo citare la fonte:
    http://stackoverflow.com/questions/5...e-using-vb-net

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    Volevo aprire l'Url "http://tycho.usno.navy.mil/cgi-bin/timer.pl"
    che da l'ora esatta e sincronizzare l'orologio di sistema
    Un vecchio programma in vb6 ricava l'ora esatta ma non modifica
    l'ora di sistema ed usa wininet.
    Grazie per indirizzarmi sui nuovi programmi, seguirò i vostri suggerimenti.

    Di sicuro avrò ancora bisogno di aiuto.

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,351
    Non sono "nuovi programmi" ...

    Se utilizzi .NET dovrai studiare il framework (con le classi e i metodi che ti serviranno).

    Dovrai praticamente dimenticare l'approccio e il codice VB6 e riscrivere praticamente tutto.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    Come mi avete suggerito ho provato il codice così
    e funziona bene:
    codice:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim sourceString As String = New System.Net.WebClient().DownloadString("http://tycho.usno.navy.mil/cgi-bin/timer.pl")
            Dim gs, ns As String
            Dim nn As Integer
            gs = sourceString.Substring(0, 200)
            nn = InStrRev(gs, ",")
            ns = Mid(gs, (nn + 2), 8)
            TextBox1.Text = ns
    
        End Sub
    Grazie mille

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,351
    Io direi che bastano queste due righe

    codice:
    Dim sourceString As String = New System.Net.WebClient().DownloadString("http://tycho.usno.navy.mil/cgi-bin/timer.pl")
    TextBox1.Text = sourceString.Substring(sourceString.IndexOf(":") - 2, 8)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    143
    Urca che roba, io credo che non ci sarei mai arrivato,
    grazie
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.