scars (Normal User)
Newbie
Messaggi: 12
Iscritto: 18/09/2010
|
Ciao a tutti,
non sono molto pratico di VB6 ed ho un problemino:
Nel mio form ci sono:
un textbox: Pass
un textbox: text1
un comando: Cmd
Nel form_load io metto:
Codice sorgente - presumibilmente Visual Basic 6 |
Open App.Path & "\Password.txt" For Input As #1
Text1.Text = Input(LOF(1), #1)
Close #1
|
Nel Cmd:
Codice sorgente - presumibilmente Visual Basic 6 |
If InStr(1, Text1.Text, Pass.Text) > 0 Then
Form2.Show
End If
|
Il problema è che in una altra form quando salvo una nuova password in Password.txt aggiunge una riga, quindi se si preme su Cmd senza mettere testo in Pass.text, convalida lo stesso.
Quindi chiedo se c'è un modo per salvare senza usare il commondialog, che non aggiunga la riga; oppure se c'è un modo per aprire togliendo la riga finale del testo.
Io salvo con questo codice:
Codice sorgente - presumibilmente Visual Basic 6 |
Open App.Path & "\Password.txt" For Output As #1
Print #1, TextPassword.text
Close #1
|
Grazie |
|
jack92 (Member)
Pro
Messaggi: 100
Iscritto: 06/08/2010
|
Postato originariamente da scars:
... se si preme su Cmd senza mettere testo in Pass.text, convalida lo stesso...
|
Non so se ho capito bene ... comunque prova ad eseguire dei semplici controlli sulle textbox :
Codice sorgente - presumibilmente Delphi |
If (Text1.Text<>"") And (Pass.Text <>"") Then 'I campi non sono vuoti Else 'I campi sono vuoti End If
|
|
|
Alfonso (Ex-Member)
Guru
Messaggi: 688
Iscritto: 30/09/2009
|
Sei troppo nebuloso per capire cosa vuoi fare.
Partendo dal fondo.
Postato originariamente da scars:
Io salvo con questo codice:
Codice sorgente - presumibilmente Visual Basic 6 |
Open App.Path & "\Password.txt" For Output As #1
Print #1, TextPassword.text
Close #1
|
|
Quando usi questo codice sovrascrivi quello che c'è nel vecchio file, per cui la riga del file è sempre e solo una.
Evidentemente nella seconda form succede qualcos'altro
In ogni caso se vuoi leggere solo la prima riga del file:
Codice sorgente - presumibilmente VB.NET |
Dim a as string Open App.Path & "\Password.txt" For Input As #1 Line Input #1, A Text1.Text = A Close #1
|
|
|
scars (Normal User)
Newbie
Messaggi: 12
Iscritto: 18/09/2010
|
Io con questo codice:
Codice sorgente - presumibilmente Visual Basic 6 |
Open App.Path & "\Password.txt" For Output As #1
Print #1, TextPassword.text
Close #1
|
Salvo più righe di codice, quindi più password, solo che quando salvo, mi aggiunge una riga alla fine che non voglio.
|
|
Alfonso (Ex-Member)
Guru
Messaggi: 688
Iscritto: 30/09/2009
|
Più che salvare più righe di codice salvi evidentemente una textbox (TextPassword.text) con più righe. Controlla che non ci sia nell'ultima riga un ritorno a capo.
|
|
scars (Normal User)
Newbie
Messaggi: 12
Iscritto: 18/09/2010
|
Controllo, ma è il codice che quando salvo me lo aggiunge.
|
|
scars (Normal User)
Newbie
Messaggi: 12
Iscritto: 18/09/2010
|
up.
Rispondete please
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
prova a non usare il metodo Output ma il metodo Binary.. in questo modo (che anche se non è la strada migliore dovrebbe andare)
kill "file" 'lo cancelli
pause 2 'aspetto 2 secondi
Open "file" for binary as #1 'apro il file in modalità binaria
put #1,, txtpassword.text
close #1
Sub Pause(ByVal interval As Double)
Dim Current As Double
Current = Timer
Do While Timer - Current < interval
DoEvents
Loop
End Sub
|
|
Alfonso (Ex-Member)
Guru
Messaggi: 688
Iscritto: 30/09/2009
|
Se hai già applicato il suggerimento di jack92, giacchè con Pass.text = "" la funzione
InStr(1, Text1.Text, Pass.Text) è sempre > 0
non ti rimane che allegare il file Password.txt perché noi si possa capire cosa succede.
Ultima modifica effettuata da Alfonso il 24/09/2010 alle 11:33 |
|