Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    1

    [VB2008]richiamare funzione/sub

    ragà sono entrato da pochissimo nel mondo del vb e ho bisogno del vostro aiuto per un problema banalissimo , ma ke non riesco proprio a risolvere.
    allora se io scrivo una sub come:
    codice:
        Private Sub prova()
            If TextBox1.text = "prova" Then
                MsgBox("prova")
            End If
        End Sub
    e la voglio richiamare all'apertura del form faccio così:

    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            prova()
        End Sub
    ma se voglio richiamare una funzione all'apertura del form tipo :
    codice:
    Public function MyFunction( InString As String) As String
         MyFunction = Ucase(InString)
    End Function
    non posso semplicemente richiamarla come la sub xkè devo dichiarare anche instring ma come faccio?? ho provato pure così:
    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
           dim InString As String
           MyFunction(InString)
    End Sub
    ma mi dice che Instring viene utilizzato prima di dargli un valore..cm posso fare??

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77
    scusa abbi pazienza ma ti sei spiegato come un libro stracciato cosa devi fare ??????'

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77

    Re: [VB2008]richiamare funzione/sub

    Originariamente inviato da Dojsh
    ragà sono entrato da pochissimo nel mondo del vb e ho bisogno del vostro aiuto per un problema banalissimo , ma ke non riesco proprio a risolvere.
    allora se io scrivo una sub come:
    codice:
        Private Sub prova()
            If TextBox1.text = "prova" Then
                MsgBox("prova")
            End If
        End Sub
    e la voglio richiamare all'apertura del form faccio così:

    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            prova()
        End Sub
    ma se voglio richiamare una funzione all'apertura del form tipo :
    codice:
    Public function MyFunction( InString As String) As String
         MyFunction = Ucase(InString)
    End Function
    non posso semplicemente richiamarla come la sub xkè devo dichiarare anche instring ma come faccio?? ho provato pure così:
    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
           dim InString As String
           MyFunction(InString)
    End Sub
    ma mi dice che Instring viene utilizzato prima di dargli un valore..cm posso fare??
    se vuo iche al apertura del form del programma ti dia un messaggio basta che nel form ci scrivi messagebox.show("prova")

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758

    Re: [VB2008]richiamare funzione/sub

    Originariamente inviato da Dojsh
    se voglio richiamare una funzione all'apertura del form tipo :
    codice:
    Public function MyFunction( InString As String) As String
         MyFunction = Ucase(InString)
    End Function
    non posso semplicemente richiamarla come la sub xkè devo dichiarare anche instring ma come faccio?? ho provato pure così:
    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
           dim InString As String
           MyFunction(InString)
    End Sub
    ma mi dice che Instring viene utilizzato prima di dargli un valore..cm posso fare??
    Stai confondendo il parametro della funzione con il suo risultato.

    Una funzione può o meno accettare in ingresso uno o più parametri che, ovviamente, devono essere opportunamente tipizzati.
    Altrettanto ovviamente una funzione restituisce un risultato, se non fosse necessario avere dei dati indietro sarebbe sufficiente utilizzare una Sub.
    Ora, in funzione del fatto che il risultato restituito dalla funzione deve essere immagazzinato da qualche parte, è necessario dichiarare anche una variabile (anche questa opportunamente tipizzata) in grado di accoglierlo.

    Per andare sul pratico, utilizzando la funzione da te portata ad esempio:

    codice:
    Public function MyFunction( InString As String) As String
         MyFunction = Ucase(InString)
    End Function
    puoi richiamarla nell'evento Load del tuo Form in questo modo:

    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
           Dim sParametro As String
           Dim sRisultato As String
           sParametro = "Testo di Prova"
           sRisultato = MyFunction(sParametro)
    End Sub
    in Vb.Net, comunque, puoi rendere il codice meno verboso, utilizzando la dichiarazione con assegnazione diretta:

    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 
           Dim sParametro As String = "Testo di Prova"
           Dim sRisultato As String = MyFunction(sParametro)
    End Sub
    Spero di aver risposto alla tua domanda, ma ti consiglio caldamente la lettura di un manuale di programmazione VB.Net, perchè queste sono cose troppo basilari per non essere studiate su un libro.

    Boolean

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 © 2025 vBulletin Solutions, Inc. All rights reserved.