Dúvida em Visual Basic

Caveira

Power Member
É o seguinte, eu quero introduzir um número ou uma palavra e depois quero retirar/analisar um caracter duma posição específica para posterior uso. Como faço isso?

Por exemplo, o programa gera o número 155 e eu introduzo 915 e preciso que o programa diga-me quantos algarismos na posição correcta e quantos algarismos na posição incorrecta eu acertei (é um jogo). Neste caso, 1 na posição correcta e 1 na posição incorrecta. Ou, noutro exemplo, quero transformar um número normal num número romano: preciso de transformar cada algarismo no equivalente romano (915 -> 9 1 5 -> CM X IV -> CMXIV).

Para este algoritmo preciso de analisar cada caracter/algarismo de cada palavra/número. Mas não sei como é que faço isso no VB, nem sei se é possível. Alguém me pode ajudar? Obrigado desde já por qualquer ajuda!
 
Na primeira parte não me recordo como se faz isso em visual basic, mas julgo que consegues transformar uma string num array de caracteres facilmente, depois é trabalhares nesses arrays.

Sobre a segunda parte, nada mais fácil do que um Numero MOD 10 (salvo erro é o mod, troco-me sempre todo :X) e Número DIV 10 para extraíres a outra parte, por exemplo:

915 mod 10 = 91
915 div 10 = 5

Agora dá asas à tua imaginação com esta informação :P Mas certifica-te que não me troquei com os DIVs e MODs, é normal comigo trocar-me nisto :P

abraços, HecKel
 
Pois que eu tenho que meter os caracteres num array eu sei, a questão é: como? Aí é que eu estou preso. Quanto à tua segunda sugestão, é inviável(sp?), pois a conversão teria que funcionar com qualquer número e assim não daria (penso eu de que), digo isto sem certeza se percebi a tua sugestão. lol mas obrigado na mesma!
 
Não daria com qualquer número? Como assim? Separas os números todos e depois é contigo, existe outras alternativas, por exemplo, que é de estares a fazer várias comparações se X é maior que 1000 e afins, não faltam alternativas ;)

Mais logo dou-te um resultado em PROLOG que fiz um exame (se o encontrar), é capaz de ser giro de mostrar :P

abraços, HecKel
 
É só para dizer que acho que já encontrei a resposta num site sobre VB... está lá um código que faz algo parecido, portanto, é só uma questão de eu decifrar aquilo a aplicar no meu programa! :wow: :x2:
 
A solução que encontrei foi esta (ainda não testei pois só tenho VB na escola):


Dim Numero As String
Dim Array1()
Dim ContarAlgarismos, i As Integer

ContarAlgarismos = LEN(Numero)) //Conta o número de caracteres da String
ReDim Array1(1 to ContarAlgarismos) //Redimensiona Array1 de acordo com o número de caracteres da string
For i=1 to ContarAlgarismos //Ciclo de repetição, analisa cada caracter
Array1(i)=Mid(Numero, i, 1) //Adiciona ao indíce i do Array1, o caracter da posição i e mais nenhum caracter

A ver se tenho 20 neste projecto de BP este período! :)
 
Back
Topo