Newsgroup: it.comp.lang.visual-basic
Titolo: ALFABETO FONETICO

Nessuno sa dirmi come posso dividere la stringa in ogni singola lettera e
andare a ricercare per ogni lettera la corrispettiva parola nell'alfabeto
fonetico?
Se volete ulteriori informazioni ditemelo
ciao
--
Stefano R.
s...@irdnet.com
5357495 ICQ

Crei un vettore :
dim alfab_fonetico(26) as string
e ci metti dentro le parole dell'alfabeto
Poi analizzi la stringa con un ciclo e la funzione
ucase(mid$(stringa,k,1))
trovi il carattere ascii corrispondente, lo manipoli in modo che sia pari
all'ordine della lettera nell'alfabeto (in pratica bisogna sottrargli, se
non erro, 95) e usi questo valore come indice del vettore alfab_fonetico.
Stefano R. ha scritto nel messaggio ...


 wrote in message
8k1kho$on2$1...@newsserver.cilea.it...


L'idea di Giorgio1 č buona per la lettura della stringa in ingresso,
tuttavia non ti č sufficiente.
Ammettendo di costruire il ciclo per isolare ogni singola lettera
for n= 1 to len stringa$
  cod_lettera=asc(ucase(mid$(stringa$,n,1)))-65     '  a --> 0
  ......
next n
non arrivi comunque da nessuna parte.
Pensa infatti a cosa succede ad esempio alla lettera G.
Non ti basta sostituire a lettera simbolo, ma devi anche leggere gruppi di
lettere.
Se non conosci l'uso dei vettori mi sembra che l'impresa sia superiore alle
tue forze.
Ciao, Giorgio

 wrote in message
news:GrZ85.33985$2s6.4...@news.infostrada.it...


OK, io avevo capito una cosa diversa e più complessa.
Ciao, Giorgio

beh io ho provato cosě... vedi se secondo te puň andare
Private Sub Form_Load()
    Dim A(26) As String
    A(1) = "alfa"
    A(2) = "bravo"
    A(3) = "charlie"
    A(4) = "delta"
    A(5) = "eco"
    A(6) = "fox trott"
    A(7) = "golf"
    A(8) = "hotel"
    A(9) = "india"
    A(10) = "juliet"
    A(11) = "kilo"
    A(12) = "lima"
    A(13) = "mike"
    A(14) = "november"
    A(15) = "oscar"
    A(16) = "papa"
    A(17) = "quebec"
    A(18) = "romeo"
    A(19) = "sierra"
    A(20) = "tango"
    A(21) = "uniform"
    A(22) = "victor"
    A(23) = "wiskey"
    A(24) = "xray"
    A(25) = "yankee"
    A(26) = "zulu"
End Sub
Private Sub Text1_Change()
    Text2.Text = Right(Text1.Text, 1)
    ReDim A(Asc("a") To Asc("b"))
    t = t & A & " - "
End Sub


 ha scritto nel messaggio
news:kqY85.33626$2s6.4...@news.infostrada.it...


 wrote in message
8k309a$i6r$1...@nslave2.tin.it...



Mi pare che non vada bene: quando usi redim senza preserve le precedenti
assegnazioni vanno perdute; e poi non basta fare t=t & A & "-": bisogna
indicare l'elemento del vettore A. Prova cosě:
dim a(26) as string

Private Sub Text1_Change()
dim t as integer
    t=asc(ucase(Right(Text1.Text, 1)))-64
text2.text=text2.text + a(t)+"-"
End Sub
Comunque ti consiglio di eseguire la conversione alla pressione di un
pulsante e non alla modifica del testo di una textbox: ho paura che faccia
casini quando cancelli una lettera

indicare l'elemento del vettore A. Prova cosě:
giorgio e giorgio1 sono sempre io; adesso ho aggiornato tutti gli account

 wrote in message
news:QKg95.46621$2s6.5...@news.infostrada.it...



Con questo codice, piu' lento, non fa casini quando cancelli una lettera.
Cmq fa casini quando scrivi un numero, oppure un segno non alfanumerico tipo
*?=)(
Credo index out of bounds o roba del genere, dato che cerchi di accedere a
un indice di array che non esiste... fossi in te la gestirei con un bell'on
error resume next a inizio sub.
Ciao,
Alessandro