meno (Normal User)
Newbie
Messaggi: 19
Iscritto: 02/02/2008
|
Salve a tutti
come posso fare per trasformare una una parola ad esempio:
ciao
in numeri ma nn stabiliti da ma che corrispondessero al loro "codice".per codice,anche se nn e la definizione esatta, e sapere ad esempio il numero che se inserio nella stringa
Codice sorgente - presumibilmente Plain Text |
Text3.Text = Chr([b]34[/b])
|
|
|
meno (Normal User)
Newbie
Messaggi: 19
Iscritto: 02/02/2008
|
scusate intendevo :
Codice sorgente - presumibilmente Plain Text |
senza [B] errore mio scusate
|
|
gius (Ex-Member)
Expert
Messaggi: 294
Iscritto: 20/06/2007
|
Per generare il numero da una parola puoi usare l'ascii
Codice sorgente - presumibilmente Plain Text |
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Devi semplicemente usare
un ciclo For
la funzione Len
la funzione Mid$
la funzione Asc
la funzione Str$
... pensaci ...
|
|
meno (Normal User)
Newbie
Messaggi: 19
Iscritto: 02/02/2008
|
Grazie ad entrambi adesso ci lavoro su e vi faccio sapere
|
|
meno (Normal User)
Newbie
Messaggi: 19
Iscritto: 02/02/2008
|
Grazie a tutti ci sono riuscito..adesso ripensandoci era una cavolata!!!:
Codice sorgente - presumibilmente VB.NET |
Dim x As Integer Dim c As Long c = Len(Text1.Text) + 1 For x = x To Len(Text1.Text) - 1 c = c - 1 Text3.Text = Mid$(Text1.Text, c) Text2.Text = Asc(Text3.Text) Text4.Text = Text4.Text + Text2.Text Next x Exit Sub ciao:
|
..ok ma adesso insorge un altro problema....il numero che mi compare e giustamente molto alto perche nn si parla di somma algebbrica ma di letterale inendo 1+1=11 quindi a me servirebbe trovare anche con una divisione un numero che poi possa usare per chr("numero trovato")...quindi avevo in mente di fare un ciclo for che parti da 1 fino all nuemro alto trovato e che dividi per il numero di una text che ad ogni cilo viende aggiunto uno...quindi uscirebbe numeroalto /1,/2,/3,/... ecc fino ad arrivare a dividersi per se stesso... e che il cilo si fermasse appena trova(riguardo il risultato delle divisioni), il primo numero pari.. nn so se mi spiego...adesso per fare il cilo delle divisioni ci sono ma come posso fare per far fermare o comunque far scattare qualche evento appena trova un numero pari?P.S: Scusate la confusione per pari intendo un numero nn decimale cioe intero...scusate di nuovo
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Diciamo che non ho capito nulla ...
Non ho capito cosa vuoi fare (magari con un esempio pratico viene meglio spiegarlo ...) ne' come pensi di farlo ...
A "naso" ... mi sembra che tu stia molto molto lontano dalla corretta di soluzione (ammesso che abbia capito il problema ...)
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
allora, il numero piu basso in grado di essere trasformato in una parola/frase in modo totalmente univoco, secondo i suoi componenti è facile.
i numeri da 0 a 255 indicano un corrispettivo carattere ascii.
se noi prendiamo 256? potremmo farlo conicidere con la seconda lettera.
in breve
diciamo che la nostra stringa esempio è
Stringa = "ciao"
e l'abbiamo divisa con dei cicli in
L(0) = "c"
L(1) = "i"
L(2) = "a"
L(3) = "o"
ora creiamo in nostro numero univoco.
Nuniv = asc(L(0)) + asc(l(1))*256 + asc(L(2))*256*256 + asc(L(3))*256*256*256
cosa abbiamo fatto? somme che non si sovrapporranno mai.
infatti la prima lettera sarà
Nuniv mod 256
la seconda sarà
Nuniv - (Nuniv mod 256) mod (256 * 256)
ovvero i resti
ovviamente questo (e quello prima) vanno fatti con i cicli. e al posto dei 256 *256 *256 usi 256^x.
spero di essermi speigato bene.
quello che ti ho spiegato non è altro che portare i tasti della tastiera intesi come sistema numerico a base 256 in decimale.
|
|
antometal (Member)
Guru
Messaggi: 691
Iscritto: 12/09/2007
|
ti consiglio di usare un vettore nel quale metti il corrispondente ascii di ogni singolo carattere...
Codice sorgente - presumibilmente VB.NET |
dim ascii(65536) as byte for i=0 to len(testo) ascii(i)=asc(mid(testo,i,1)) next i
|
|
|