23/12/11 18:46
giova95
Innanzitutto buona sera e buon natale
Mi scuso se ho sbagliato la sezione ma essendo praticamente autodidatta non so la differenza tra visual basic 5 o 6 e tutti gli altri
Ho recentemente sviluppato un programmino per codificare delle stringe di testo. Il programma è molto semplice e si basa sulla conversione di ogni singola lettera in un numero, poi il numero viene sommato al numero della "chiave di criptazione" e il risultato viene riconvertito in lettera. Come già detto sono autodidatta e so anche che non è il miglior modo per codificare, ma a me interessava solo allenarmi su visual basic, non devo nascondere informazioni della N.A.S.A.
Dopo una serie di passaggi ottengo nella variabile S un valore, e in base al valore di S (che può essere compreso tra 0 e 114) il programma mi restituisce un output diverso.
Il problema è che l'output che corrisponde al valore 0 è uguale all'output di 58.
Così come 1 corrisponde a 59, 2 corrisponde a 60.... 57 corrisponde a 114
Queste corrispondenze nascono da questo passaggio
If y < x Then
S = x - y
Else
S = z - y
End If
Ed il fatto è che sono obbligato a fare questo passaggio... quindi evitate di dirmi di editare questa struttura
Il mio dubbio si presenta nel momento in cui devo verificare il valore di S.
In precedenza avevo fatto in questo modo:
Select Case S
Case 1, 58
output = "a"
Case 2, 59
output = "b"
.
.
.
Case 57, 114
output = " "
End Select
Ora ricontrollando il tutto mi è venuto in mente che potevo fare in questa maniera:
If y < x then
S = x - y
Select Case S
Case 1
output = "a"
Case 2
output = "b"
.
.
.
Case 57
output = " "
End Select
Else
Select Case S
Case 58
output = "a"
Case 59
output = "b"
.
.
.
Case 114
output = " "
End Select
End If
So che la differenza risulterà di pochi millisecondi, ma secondo voi quale dei 2 modi è il più veloce?
Grazie in ogni caso
Gio
Mi scuso se ho sbagliato la sezione ma essendo praticamente autodidatta non so la differenza tra visual basic 5 o 6 e tutti gli altri
Ho recentemente sviluppato un programmino per codificare delle stringe di testo. Il programma è molto semplice e si basa sulla conversione di ogni singola lettera in un numero, poi il numero viene sommato al numero della "chiave di criptazione" e il risultato viene riconvertito in lettera. Come già detto sono autodidatta e so anche che non è il miglior modo per codificare, ma a me interessava solo allenarmi su visual basic, non devo nascondere informazioni della N.A.S.A.
Dopo una serie di passaggi ottengo nella variabile S un valore, e in base al valore di S (che può essere compreso tra 0 e 114) il programma mi restituisce un output diverso.
Il problema è che l'output che corrisponde al valore 0 è uguale all'output di 58.
Così come 1 corrisponde a 59, 2 corrisponde a 60.... 57 corrisponde a 114
Queste corrispondenze nascono da questo passaggio
If y < x Then
S = x - y
Else
S = z - y
End If
Ed il fatto è che sono obbligato a fare questo passaggio... quindi evitate di dirmi di editare questa struttura
Il mio dubbio si presenta nel momento in cui devo verificare il valore di S.
In precedenza avevo fatto in questo modo:
Select Case S
Case 1, 58
output = "a"
Case 2, 59
output = "b"
.
.
.
Case 57, 114
output = " "
End Select
Ora ricontrollando il tutto mi è venuto in mente che potevo fare in questa maniera:
If y < x then
S = x - y
Select Case S
Case 1
output = "a"
Case 2
output = "b"
.
.
.
Case 57
output = " "
End Select
Else
Select Case S
Case 58
output = "a"
Case 59
output = "b"
.
.
.
Case 114
output = " "
End Select
End If
So che la differenza risulterà di pochi millisecondi, ma secondo voi quale dei 2 modi è il più veloce?
Grazie in ogni caso
Gio
aaa