Newsgroup: it.comp.lang.visual-basic
Titolo: Ancora problemi con Pubblic SUB

Ciao a tutti, scusatemi se vi scrivo per una sciocchezza, ma proprio non
riesco a capire questo Pubblic Sub sempre che io lo stia utilizzando
correttamente.
Vorrei realizzare una semplice funzione che dato il percorso di un file di
testo, un numero di riga mi salva su una variabile il contenuto della
relativa riga.
Il codice che ho scritto è (attenzione non ho ancora inserito il conteggio
del righe pertanto dovrebbe leggermi solo la prima riga del file):
Private Sub CommandButton1_Click()
    Dim n As Integer
    Dim testo as String
    n = 5
    testo = provafun("c:\prova.txt", n)
    MsgBox testo
End Sub
Public Sub provafun(nomefile As String, n_riga As Integer)
    Open nomefile For Input As #1
     Line Input #1, nomefile
    Close #1
End Sub
L'errore che appare è "Expected Funtion or variabile", cliccando sul punto
di domanda essendo in inglese non ho capito niente :-((
Ringrazio tutti in anticipo.
Ciao da Emiliano

 End Sub
Osserva bene le _sostanziali_ differenze (vedi anche la chiamata che fai a
provafun) e prova con:
Function provafun(nomefile As String, n_riga As Integer)
    Dim riga_letta As String
    Open nomefile For Input As #1
    Line Input #1, riga_letta
    Close #1
    provafun=riga_letta
End Function

 End Sub
Provafun è una sub, quindi non restituisce niente.
Dovresti fare
Public function provafun(nomefile As String, n_riga As Integer) as string
    Open nomefile For Input As #1
    Line Input #1, provafun
    Close #1
End Sub
--
Salutoni
Sergio

 ha
scritto:

 
 Public Function provafun(nomefile As String, n_riga As Integer)
     Open nomefile For Input As #1
      Line Input #1, nomefile
     Close #1
 End Sub
Ciao
--------------------------------
Inviato via 
http://usenet.libero.it

  End Sub
Dissento, per ben _due_ motivi... da correggere e evidenziare

 Dissento, per ben _due_ motivi... da correggere e evidenziare
Anzi, tre, e, visto che (da sempre) viene bellamente (e villanamente, vedasi
risposta originale) ignorato, lo suggerisco io: il quoting.

 L'errore che appare è "Expected Funtion or variabile"
Forse dovresti scrivere
Public Function provafun(nomefile As String, n_riga As Integer)as string
    dim myline as string
    Open nomefile For Input As #1
    ' ......
    Line Input #1, myline 
    ' ......
    Close #1
    provafun=myline 
End Function
Comunque tieni anche presente:
1) Public non si può nel codice dei forms
2) usa Freefile
3) usa, se già non lo fai, Option Explicit
Ciao
pinco_pallo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


 Giusto!!!
 
correggo :
 Public Function provafun(nomefile As String, n_riga As Integer)
      Open nomefile For Input As #1
      Line Input #1, nomefile
      Close #1
 End Function '* e non End Sub!!
 Per il fatto che non restituisca alcun valore...la cosa non mi riguarda io
ho corretto ( a parte l'"End Sub" ) il suo problema per quanto riguarda la
sintassi del suo codice e non la logica!
 Per il terzo motivo del quoting...siete troppo bacchettoni!!!


  Per il terzo motivo del quoting...siete troppo bacchettoni!!!
E tu sei sempre troppo pigro e non rispettoso delle regole, per
"bacchettone" che esse possano essere... (vedi le tre righe di risposta a un
post lungo di stamattina che mi hanno sderenato la rotella)

 post lungo di stamattina che mi hanno sderenato la rotella)
  mmm...ma a quale post ti riferisci? E' roba mia ?


   mmm...ma a quale post ti riferisci? E' roba mia ?
E ti pare che io avrei scritto qui se fosse stato un altro?

 E ti pare che io avrei scritto qui se fosse stato un altro?
 
  E bisogna che mi dici a quale post ti riferisci perchè mica me lo ricordo
sa!


 sa!
Te l'ho detto che sei un pigro: Stamane, 10:25

 Te l'ho detto che sei un pigro: Stamane, 10:25
   A si si ho capito, be effettivamente non mi andava di spulciare il post per
togliere quello che non serviva :P, capita no?


 togliere quello che non serviva :P, capita no?
Sě, capita. A te sempre.


  Esagerato!!! Diciamo spesso ecco.
  Cmq l'importante č risolvere i problemi a qualcuno no!


 di domanda essendo in inglese non ho capito niente :-((
Variazione sul tema: questo significa che ad ogni errore posterai per
chiedere la traduzione?
Ciao

Intanto ringrazio tutti per la risposta...
Visto che ci siete non potete dirmi qual è il codice che non serve :-))?
Se è la variabile "n_riga" mi servirà in futuro perchè la funzione deve
leggere una determinata riga di un file esterno e non solo la prima.


 chiedere la traduzione?
Spero proprio di no... un po' ci capisco... ma a livello scolastico e con
l'aiuto del vocabolario spesso mi arrangio. Purtroppo però non sono carente
solo in inglese, ma anche in VB che è da poco che lo conosco e devo ancora
acquisire sufficiente esperienza.
Ciao
Emiliano

 Visto che ci siete non potete dirmi qual è il codice che non serve :-))?
Se hai visto i vari interventi, ci sono le correzioni adeguate. Non si
tratta di codice che non serve, ma di codice originariamente errato.
Nell'ipotesi di nk non si restituisce il risultato della funzione (pur
trasformata dalla Sub che era), inoltre l'argomento nomefile (se passato
come varibile) viene sporcato dalla riga letta.