Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Eliminare riga da un file txt
Forum - Visual Basic 6 - Eliminare riga da un file txt

Avatar
scars (Normal User)
Newbie


Messaggi: 12
Iscritto: 18/09/2010

Segnala al moderatore
Postato alle 18:55
Sabato, 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

  1. Open App.Path & "\Password.txt" For Input As #1
  2. Text1.Text = Input(LOF(1), #1)
  3. Close #1



Nel Cmd:
Codice sorgente - presumibilmente Visual Basic 6

  1. If InStr(1, Text1.Text, Pass.Text) > 0 Then
  2.    Form2.Show
  3. 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

  1. Open App.Path & "\Password.txt" For Output As #1
  2. Print #1, TextPassword.text
  3. Close #1



Grazie

PM
Avatar
jack92 (Member)
Pro


Messaggi: 100
Iscritto: 06/08/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 10:46
Domenica, 19/09/2010
Testo quotato

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

  1. If (Text1.Text<>"") And (Pass.Text <>"") Then
  2.       'I campi non sono vuoti
  3. Else
  4.      'I campi sono vuoti
  5. End If


:k:

PM
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 12:27
Domenica, 19/09/2010
Sei troppo nebuloso per capire cosa vuoi fare.

Partendo dal fondo.

Testo quotato

Postato originariamente da scars:
Io salvo con questo codice:
Codice sorgente - presumibilmente Visual Basic 6

  1. Open App.Path & "\Password.txt" For Output As #1
  2. Print #1, TextPassword.text
  3. 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

  1. Dim a as string
  2. Open App.Path & "\Password.txt" For Input As #1
  3. Line Input #1, A
  4. Text1.Text = A
  5. Close #1


PM
Avatar
scars (Normal User)
Newbie


Messaggi: 12
Iscritto: 18/09/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 15:55
Domenica, 19/09/2010
Io con questo codice:
Codice sorgente - presumibilmente Visual Basic 6

  1. Open App.Path & "\Password.txt" For Output As #1
  2. Print #1, TextPassword.text
  3. Close #1


Salvo più righe di codice, quindi più password, solo che quando salvo, mi aggiunge una riga alla fine che non voglio.

PM
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 16:03
Domenica, 19/09/2010
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.

PM
Avatar
scars (Normal User)
Newbie


Messaggi: 12
Iscritto: 18/09/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 18:39
Domenica, 19/09/2010
Controllo, ma è il codice che quando salvo me lo aggiunge.

PM
Avatar
scars (Normal User)
Newbie


Messaggi: 12
Iscritto: 18/09/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 16:17
Giovedì, 23/09/2010
up.

Rispondete please

PM
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 18:38
Giovedì, 23/09/2010
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

PM
Avatar
Alfonso (Ex-Member)
Guru


Messaggi: 688
Iscritto: 30/09/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 11:31
Venerdì, 24/09/2010
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
PM