Lettura caratteri in inputbox

lunedì 28 novembre 2005 - 14.27

satriano Profilo | Newbie

salve. Sono alle prime armi in vb.
Sto provando a scrivere un programma particolare ma non riesco ad andare avanti.
Io vorrei assegnare alle lettere dell'alfabeto dei valori fissi, per es. a=1, b=5,...m=20, cioé diversi dal valore ascii.
Dopo di che se io inserisco in un imputbox chiamato 'Parola' una parola o frase, vorrei che il programma, leggendo quella parola, ne desse in un output box 'somma' la somma totale delle lettere formanti la parola o frase.
Potreste aiutarmi, eventualmente on un esmpio di codice?
grazie infinite.

Jumpa Profilo | Junior Member

ciao salvo un grosso punto interrogativo su quello che devi fare :-))

puoi seguire una strada del tipo:

leggi la stringa
e poi carattere per carattere ne fai la conversione con la tua codifica

quindi io direi intanto una funziona che data una lettera ti restituisce un intero

function traduci ( lettera as char ) as integer

' qui puoi fare con una select case la traduzione
' N.B ricorda che usualmente a è diverso da A
end function

poi una funzione che estrae i caratteri e chiama la funzione traduci

function pippo () as intager
dim stringa as string ' stringa che devi transcodificare
dim carattere as char ' il carattere che estrai
dim lunghezza as integer 'indica la lunghezza di stringa
dim i as integer ' indice per il ciclo for
dim somma as integer = 0

lunghezza = stringa.lenght

for i = 0 to lunghezza -1
carattere = stringa.chars(i)
somma = somma + traduci(carattere)
next i

resturn somma

end function


detto cio dovrebbe andare tutto ok :-)


buon divertimento

Jumpa

p.s. quanto è la somma di Jumpa??




end function

-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

Brainkiller Profilo | Guru

>salve. Sono alle prime armi in vb.
>Sto provando a scrivere un programma particolare ma non riesco
>ad andare avanti.
>Io vorrei assegnare alle lettere dell'alfabeto dei valori fissi,
>per es. a=1, b=5,...m=20, cioé diversi dal valore ascii.
>Dopo di che se io inserisco in un imputbox chiamato 'Parola'
>una parola o frase, vorrei che il programma, leggendo quella
>parola, ne desse in un output box 'somma' la somma totale delle
> lettere formanti la parola o frase.
>Potreste aiutarmi, eventualmente on un esmpio di codice?
>grazie infinite.

Ciao e Benvenuto.
Beh, stavo pensando a che soluzioni proporti.
In teoria un array basterebbe in cui stabilisci i pesi (punti, valori) delle varie lettere.
Esempio:

Dim lettere() As String = {3, 14, 15, 6, 21}

dove 3, 14, 15, 6, 21 ecc. corrispondono ai valori delle varie lettere A, B, C, D, E ecc.

Successivamente dalla input box puoi prendere la parola e con un ciclo For prendere di volta in volta una singola lettera con la funzione Mid per esempio. A quel punto comunque convertirla in ASCII esempio:

Console.WriteLine(Asc("A")) stampa 65
da qui sottrarre 65-65 e ti da 0 che è l'indice dell'array:

lettere(0) = 3

e poi usi un int per sommare tutti i valori della parola.
ciao


David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

satriano Profilo | Newbie

Il suggerimento ptropone la soluzione al mio; caso, anche se, data la mia dilettantistica conoscenza del vb (ho detto che sto cominciando) dovro' fare molti tentativi con i suggerinti avutio per raggiungere
il traguardo.
Per esempio, Brainkiller, il punto del for next per leggere una per una le lettere non l'ho capito bene. Si da il caso che da tempo é proprio su un ciclo for next che mi impantano volendo scrivere questo programma.
Puoi fare un esempio con un for next più chiaro per esempio estraendo solo due lettere dall'array. Diciamo per capire che a=20 e b=50
imput box lo chiamo PAROLA
outputbox lo chamo SOMMA
cosi posso vederci chiaro.

grazie

satriano Profilo | Newbie

Sto provando il tuo suggerimento, Jumpa grazie. Grazie. Anche quello di Brainkiller é ottimo.
Purtroppo sono alle prime armi, e certe volte, anche coi suggerimenti, brancolo nel buio. Sono contento comunque che
il mio quesito é stato capito.


Jumpa Profilo | Junior Member

ancora me devi di a quanto è uguale Jumpa :-) dammi qualche soddisfazione!!! ;-)

-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

satriano Profilo | Newbie


Jumpa = 191


(Il conto l'ho fatto...manualmente ! Per farlo con il programma penso che ce n'é vorrà ancora un (bel) po' di tempo.
per curosità ti indico i valori delle lettere di jumpa
j=20
u=90
m=30
p=50
a=1




Jumpa Profilo | Junior Member

guarda un po la mia firma? :-) grande!!!

non esitare a nuovi post!!

-------------------------
191 for ever.....................
Follow the White Rabbit...

http://www.jumpa.org
-------------------------
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5