Oppure

Loading
16/12/07 18:26
gantonio
Postato originariamente da gius:

Lascia perdere la cosa dei bit cmq ho usato il codice da te postato con nennuna modifica:D:D


Ok ... e cosa non ti funziona?
aaa
16/12/07 18:46
gius
Con la funzione print nn mi scrive niente nel form ecredo che nn funz la criptazione
aaa
16/12/07 19:27
LuigiBiasi
se vuoi usare la funzione Print sul form devi fare cosi:
Private Sub Form_Load()
Form1.Show
Print "messaggio di prova"
End Sub

con questo esempio puoi scrivere sul form.
Comunque credo ke sia meglio usare una textbox x visualizzare i contenuti di quelle variabili.
Perchè stampare testo su form??.
Al massimo usate messagebox.
Quindi il codice diviene:
Option Explicit

Private Const Chiave As String = "!àéèìòù°+*]-.,;QWERTYUIOPASDFGHJKLZXCVBNM:_£$%&/()=?123456789qwertyuiopasdfghjklzxcvbnm<>{}"

Private Function Cripta(ByVal Testo As String) As String
    Dim ix As Long
    For ix = 1 To Len(Testo)
        Cripta = Cripta & Mid$(Chiave, Asc(Mid$(Testo, ix, 1)) - 31, 1)
    Next ix
End Function

Private Function DeCripta(ByVal Testo As String) As String
    Dim ix As Long
    For ix = 1 To Len(Testo)
        DeCripta = DeCripta & Chr$(InStr(Chiave, Mid$(Testo, ix, 1)) + 31)
    Next ix
End Function

Private Sub Form_Click()
    Dim TC As String
    Dim TD As String
    
    TC = Cripta("Essere o non essere")
    Form1.Show
    Print TC
    
    TD = DeCripta(TC)
    'Form1.Show
    Print TD
End Sub


Ciao.
Ultima modifica effettuata da LuigiBiasi 16/12/07 19:30
aaa
16/12/07 21:30
gantonio
Non so quale sia il vostro problema ma l'istruzione (e non funzione) Print visualizza correttamente sul form principale i dati che sono indicati subito dopo.

Per Luigi ... la Print sul form (come la Debug.Print) e' usata solamente durante i test dei programmi e per finalita' di debugging da tutti i programmatori professionisti.
E' evidente che la stringa finale debba essere impiegata in mille modi (su file, dentro una textbox, ovunque ...) ma la Print ti permette una sua rapida visualizzazione ed e' molto piu' comoda della MsgBox.

In ogni caso, non e' necessario richiamare la Show del form perche' la prova della funzionalita' viene eseguita al semplice click sul form che e' evidentemente gia' visualizzato ...
aaa
18/12/07 7:05
gius
Ho apportato alcune modifiche alla criptazione che ho postato all'inizio e funz molto meglio della fnzione di gantonio
Sub CriptaStringa( stringadacriptare As String) 
Dim STRINGA As String 
Dim LUNGHEZZA As Integer 
Dim CHIAVE As Long 
LUNGHEZZA = Len(stringadacriptare)
STRINGA = "!éè+*]-.,;:£$%&/()=?123456789qwertyuiopasdfghjklzxcvbnm" 
If LUNGHEZZA > CHIAVE Then LUNGHEZZA = 30
CHIAVE = Asc(Val(stringadacriptare)) & Mid(STRINGA,LUNGHEZZA) 
MsgBox "CHIAVE"     
  End Sub 


e la relativa decriptazione

Sub DeCriptaStringa( stringadadecriptare As String) 
Dim CHIAVEDECRIPTATA As Long 
CHIAVEDECRIPTATA = Chr(Val(stringadadecriptare)) 

MsgBox "CHIAVEDECRIPTATA"   
End Sub  
Ultima modifica effettuata da gius 18/12/07 7:06
aaa
18/12/07 10:08
gantonio
Scusa gius, ma tu sei un programmatore?

Hai provato almeno il codice che dici che funziona meglio del mio?

Il tuo codice ha errori gravi dal punto di vista sintattico (infatti non viene neanche compilato) ed e' assolutamente senza senso dal punto di vista dell'algoritmo usato.

Un consiglio ... usa il mio ... magari miglioralo, ma parti da quello ...
aaa
18/12/07 13:18
gius
gantonio se ti senti presuntuoso a prescindere statti a casa,questa é una community dove ognuno aiuta l'altro sicuramente nn dicendo "Ma tu sei un programmatore?" si che puoi contestare quello che ho postato ma almeno con moderazione
P.S.Questo topic sta diventando un pò troppo :ot::ot:
Ultima modifica effettuata da gius 18/12/07 13:19
aaa
18/12/07 15:43
P4p3r0g4
però ammetti che il codice che hai postato è completamente assurdo... capisco che sei giovane e inesperto ma non pretendere di dire cazzate (del genere) e poi non essere ammonito...
Ultima modifica effettuata da P4p3r0g4 18/12/07 15:47
aaa