Oppure

Loading
07/06/08 14:25
GrG
Nel Modulo:

Public Inizio(1 To 99999) As String
Public i As Integer
Dim X As Integer
Dim Lon As Integer
Dim d() As String
Public B As Integer
Public TestoCriptato As String
Public TestoDecriptato As String
Public Sub Apri(Path As String, Testo As TextBox)
On Error Resume Next
Testo.Text = ""
Open Path For Input As #1
Do
i = i + 1
Line Input #1, Inizio(i)
Decripta (Inizio(i))
Inizio(i) = Module1.TestoDecriptato
Testo.Text = Testo.Text & Inizio(i)
Loop Until EOF(1) = True
Close #1
End Sub

Public Function Cripta(Testo As String)
For X = 1 To Len(Testo)
TestoCriptato = TestoCriptato & ":" & (Asc(Testo) * 13)
Lon = Len(Testo)
Testo = Right(Testo, (Lon - 1))
Next X
Lon = Len(TestoCriptato)
TestoCriptato = Right(TestoCriptato, (Lon - 1))
End Function

Public Function Decripta(Testo As String)
On Error GoTo ErrD
d = Split(Testo, ":")
B = -1
For B = B + 1 To Len(Testo)
TestoDecriptato = TestoDecriptato & Chr(d(B) \ 13)
Next B
ErrD:
End Function


nel form (con command1):
Private Sub Command1_Click()
Apri App.Path & "\Note.dat", Text1
End Sub

Private Sub Form_Load()
Apri App.Path & "\Note.dat", Text1
Module1.i = 0
Module1.B = -1
End Sub
aaa
07/06/08 17:30
gantonio
Correggi il problema scrivendo

Public Function Decripta(Testo As String)
On Error GoTo ErrD

TestoDecriptato = ""

...


e questo problema lo hai perche' utilizzi variabili globali ... (che sono sconsigliate anche per questo tipo di problemi che creano ...).

Hai dichiarato a Cripta e la Decripta come Function ma queste, in realta', non restituiscono alcun dato come risultato della propria elaborazione. Devi restituire il valore dalle funzioni SENZA usare variabili globale.

Ultima modifica effettuata da gantonio 07/06/08 17:32
aaa
07/06/08 17:47
GrG
Hai ragione!
Come ho fatto a non pensarci!
Avevo capito che era qualcosa nella funzione decripta...

Vbb Grazie di tutto, senza di te nn saprei proprio ke fare....:D
Ultima modifica effettuata da GrG 07/06/08 18:15
aaa
07/06/08 18:33
gantonio
Comunque, devi imparare a fare un po' di debugging, inserendo i breakpoint ed eseguendo passo passo ... avresti subito trovato il problema ...

Adesso ti consiglio vivamente di rifare quelle funzioni eliminando le variabili globali ... impara a scrivere i programmi senza utilizzare alcuna variabile globale ...
aaa
07/06/08 19:02
GrG
OK, quindi in questo caso devo fare che all'inizio si da il Testo da decriptare e poi la funzione restituisce Testo as string ma criptato/decriptato
Ultima modifica effettuata da GrG 08/06/08 8:06
aaa