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 - Caricamento File
Forum - Visual Basic 6 - Caricamento File

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:07
Giovedì, 05/06/2008
Ciao a tutti!
Mi sono imbattuto in un fatto molto strano che non riesco a capire. In un modulo ho fatto una Sub per aprire file "criptati". Ecco il codice:

Codice sorgente - presumibilmente VB.NET

  1. Public Sub Apri(Path As String, Testo As TextBox)
  2. Dim Inizio(1 To 99999) As String
  3. Dim I As Integer
  4. On Error Resume Next
  5. Open Path For Input As #1
  6. Do
  7. I = I + 1
  8. Line Input #1, Inizio(I)
  9. Decripta (Inizio(I))
  10. Inizio(I) = Module1.TestoDecriptato
  11. Testo.Text = Testo.Text & Inizio(I)
  12. Loop Until EOF(1) = True
  13. Close #1
  14. End Sub



Penso che non la funzione di criptaggio e di decriptaggio vadano bene perchè nella form load ho messo:

Codice sorgente - presumibilmente Plain Text

  1. Apri App.Path & "\File.dat", Text1



e lo carica correttamente nella text1 e decriptato.
Poi però volevo fare anche un pulsante che ricaricava direttamente il file senza chiudere e riaprire. Nel pulsante ho messo lo stesso codice.
Ma la cosa strana è che nella text1 mi carica il testo corretto e decriptato, ma due volte!

Facciamo ad esempio che il testo (decriptato) di note.dat sia: "ciao"

allora apro il progr. e nella text1 trovo:
ciao

facendo aggiorna invece trovo:
ciao
ciao

Come mai? come posso risolve?

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 19:32
Giovedì, 05/06/2008
Nel codice che aggiorna, all'inizio, devi scrivere

Testo.Text = ""

altrimenti il testo sara' sempre aggiunto ...

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:23
Giovedì, 05/06/2008
Lo facevo a mano, cioè x vedere se fungeva cancellavo tutta la text1 ke era vuota eppure il testo si sommava...

p.s. ho provato anche a "ripulire" le variabili dopo l'uso ma niente :(

Ultima modifica effettuata da GrG il 05/06/2008 alle 20:27
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 20:27
Giovedì, 05/06/2008
Inseriscilo nel codice ... e mostra tutto il codice esatto che stai utilizzando ... altrimenti come si fa una prova?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 8:24
Venerdì, 06/06/2008
Tu intendi il codice per criptare decriptare?

p.s. è Quello tutto il codice per l'apertura del file....

PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 9:58
Venerdì, 06/06/2008
Guarda che, personalmente, non ho capito quasi nulla di quello che fai e che ti succede ...

Dovresti spiegare meglio ...

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:43
Venerdì, 06/06/2008
cercherò di  essere + kiaro...
Allora il codice postato all'inizio apre il file.dat contenente in maniera criptata un testo.
Nella form load c'è il codice ke rikiama la sub "Apri" q quindi il testo viene messo nella text1 correttamente.
Premendo un pulsante di aggiornamento, nel codice di questo pulsante ho messo lo stesso codice della form_load, uando carica il file nella text1 lo carica doppio (anche se la text1 è vuota).

capito?

Ultima modifica effettuata da GrG il 06/06/2008 alle 15:44
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 19:54
Venerdì, 06/06/2008
Scusa ... mostra TUTTO (ma TUTTO) il codice del programma e poi ne parliamo ...

P.S. Secondo me non usi la

Testo.Text = ""

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:25
Sabato, 07/06/2008
Nel Modulo:

Codice sorgente - presumibilmente VB.NET

  1. Public Inizio(1 To 99999) As String
  2. Public i As Integer
  3. Dim X As Integer
  4. Dim Lon As Integer
  5. Dim d() As String
  6. Public B As Integer
  7. Public TestoCriptato As String
  8. Public TestoDecriptato As String
  9. Public Sub Apri(Path As String, Testo As TextBox)
  10. On Error Resume Next
  11. Testo.Text = ""
  12. Open Path For Input As #1
  13. Do
  14. i = i + 1
  15. Line Input #1, Inizio(i)
  16. Decripta (Inizio(i))
  17. Inizio(i) = Module1.TestoDecriptato
  18. Testo.Text = Testo.Text & Inizio(i)
  19. Loop Until EOF(1) = True
  20. Close #1
  21. End Sub
  22.  
  23. Public Function Cripta(Testo As String)
  24. For X = 1 To Len(Testo)
  25. TestoCriptato = TestoCriptato & ":" & (Asc(Testo) * 13)
  26. Lon = Len(Testo)
  27. Testo = Right(Testo, (Lon - 1))
  28. Next X
  29. Lon = Len(TestoCriptato)
  30. TestoCriptato = Right(TestoCriptato, (Lon - 1))
  31. End Function
  32.  
  33. Public Function Decripta(Testo As String)
  34. On Error GoTo ErrD
  35. d = Split(Testo, ":")
  36. B = -1
  37. For B = B + 1 To Len(Testo)
  38. TestoDecriptato = TestoDecriptato & Chr(d(B) \ 13)
  39. Next B
  40. ErrD:
  41. End Function



nel form (con command1):
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Command1_Click()
  2. Apri App.Path & "\Note.dat", Text1
  3. End Sub
  4.  
  5. Private Sub Form_Load()
  6. Apri App.Path & "\Note.dat", Text1
  7. Module1.i = 0
  8. Module1.B = -1
  9. End Sub


PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo