però io vorrei che controllasse la presenza di una riga di testo specifica nel file e se presente invii un messaggio all utente
Poniamo il caso che il tuo file contenga tre righe distinte:
trono non è un salmonide
tromba non è un salmonide
trota è un salmonide
Ignorandolo, vuoi sapere se c'è nel file la riga "trota è un salmonide"...
Percorso semplice:
Public Sub Button1_Click()
Dim s As String
'...andiamo a vedere se ci sono all'interno della stringa
' quattro caratteri "trot", posti in questo ordine preciso (cioè se c'è la parola "trot"),
' eventualmente' preceduti e seguiti da altri caratteri che però a noi non importa
' se ci sono né quali essi siano:
If s Like "*trot*" Then
' se ci sono quei quattro caratteri (la parola "trot"), allora... la riga che ci interessava è presente:
Print "E' presente la riga della trota !"
Endif
End
Percorso complesso:
Public Sub Button1_Click()
Dim s, sss As String
Dim ss As String[]
s = File.Load("percorso_mio_file")
' Il fine è di analizzare il testo di ogni riga.
' Poiché nella variabile stringa "s" le tre righe risultano indistinte (appunto in un'unica stringa),
' le distiguiamo con la creazione di tante sotto-stringhe quante sono le righe.
' Assegneremo ad ogni riga una propria stringa. Ciò sarà fatto attraverso l'uso di una stringa-array.
' Per impostare il punto di demarcazione fra una riga e l'altra, utilizzeremo la funzione Split con
' il separatore "salto di linea": \n (ciò non perché sia scontato o perché sia di regola, ma perché sappiamo
' che nel file le tre righe sono distinte e divise da un ritorno a capo. Se fossero invece disposte su un'unica
' lunga riga, non potremmo usare come separatore il "\n", ma qualcos'altro !) :
ss = Split(s, "\n")
' Per ogni sotto-stringa presente nella variabile stringa-array....
For Each sss In ss
'...andiamo a vedere se esistono quattro caratteri "trot",
' eventualmente seguiti da altri caratteri che però a noi
' non importa se ci sono né quali essi siano:
If sss Like "trot*" Then
' se c'è questa parola, allora... la riga che ci interessava è presente:
Print "E' presente la riga della trota !"
Else
Print "Ritenta, sarai più fortunato !"
Endif
Next
Ciao a tutti....volevo chiedervi se è possibile settare una variabile che conservi un valore anche dopo che il programma viene chiuso.
Nello specifico vorrei fare in modo che quando un utente apre il programma per la prima volta compaia un messaggio che poi non compare più le volte successive.
siccome sono tifoso delle cose semplici , userei settings nel tuo caso..
public sub form_open()
if settings["usr/pippo",""]="" then
message.info("la variabile non è ancora configurata!")
else
print "variabile configurata"
nome_variabile=settings["usr/pippo",""]
end if
end
public sub vattelapesca()
' qui effettui il salvataggio della variabile per la prossima apertura del programma
nome_variabile= settings["usr/pippo"]
settings.save
end