Logo Hardware.com.br
Eicar
Eicar Membro Senior Registrado
209 Mensagens 4 Curtidas

Programinha dando pau em vb.net

#1 Por Eicar 15/07/2008 - 11:18
Bom dia caros colegas...

Estou desenvolvendo um programinha eScRúPuLoSo em vb.net. O programa nada mais faz do que tira o minimo multiplo comum automaticamente p/ vc. Basta vc colocar os numeros que vc queira tirar o mmc em um unico textbox acompanhados por virgula a cada numero a + p/ o calculo de mmc. Bem o problema eh que o programa ta dando pau... eu ponho em debug p/ rodar o software e ele trava.. e o vb.net naum da nenhuma resposta sobre a excessão ocorrida. Isso eh muito estranho ja q ja revisei o codigo umas 5 vezes e naum consigo axar nada de errado nele. Bem, segue o pequeno codigo, naum mais q 47 linhas p/ qm tiver saco de lê-lo e me da uma força c/ issu... gnomo.png

[code=rich]

PrivateSub BtnCalcular_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles BtnCalcular.Click

Dim VarTxtValor As String
Dim ValorMatriz(10) As Integer
Dim Marcador2, MaiorNum, I, Exp, Quebra, Controle As Integer
Dim Marcador1 As Integer = 1
Dim Mmc As Integer = 1
Dim Dividir As Integer = 2

VarTxtValor = TxtValor.Text

For I = 1 To Len(VarTxtValor)

If Mid(VarTxtValor, I, 1) = "," Then

Marcador2 += 1
ValorMatriz(Marcador2) = Mid(VarTxtValor, Marcador1, I - 1)
Marcador1 = I + 1

ElseIf I = Len(VarTxtValor) Then

Marcador2 += 1
ValorMatriz(Marcador2) = Mid(VarTxtValor, Marcador1, I)

End If

Next

For I = 1 To Marcador2

If ValorMatriz(I) > MaiorNum Then MaiorNum = ValorMatriz(I)

Next

Do While Dividir <= MaiorNum Or Quebra <> 0

For I = 1 To Marcador2

Do While ValorMatriz(I) Mod Dividir = 0

For I3 As Integer = I To Marcador2

If ValorMatriz(I3) Mod Dividir = 0 Then ValorMatriz(I3) = ValorMatriz(I3) / Dividir

Next

For I4 As Integer = 1 To I - 1

If ValorMatriz(I4) Mod Dividir = 0 Then ValorMatriz(I4) = ValorMatriz(I4) / Dividir

Next

Exp += 1

Loop

Next

For I = 1 To Exp

Mmc = Mmc * Dividir

Next

For I = 1 To Marcador2

If ValorMatriz(I) = 1 Then Controle += 1

Next

If Controle = Marcador2 Then

Quebra += 1

Else

Controle = 0
Exp = 0
Dividir += 1

End If

Loop

LblMmc.Text = Mmc

End Sub

[/code]

Vale lembrar q esse codigo q postei ai emcima eh do botão calcular, que é oque faz todo o cálculo do mmc.

T++
_____________________________

"Não consigo me convencer de que um Deus caridoso e onipotente teria propositalmente criado vespas parasitas com a intenção expressa de alimentá-las dentro de corpos vivos de lagartas."

Charles Darwin
Eicar
Eicar Membro Senior Registrado
209 Mensagens 4 Curtidas
#3 Por Eicar
18/07/2008 - 10:11
Flashcooler disse:
Dim VarTxtValor AsString

Acho que você deve tratar a variavel como INTEGER, ou DECIMAL e não como STRING.

T mais


Entendi oque você quis dizer... mais o problema q se trata eh q essa variavel serve p/ pegar todo o conteudo de uma soh textbox acompanhados por "," p/ distinguir cada numero que irá fazer o mmc. "Ex.: 2,4,6". Dps disso, através de um processo de FOR eu divido o conteudo dessa variavel como dito anteriormente em cada numero q será tirado o mmc em variaveis diferentes de uma matriz. Essa matriz sim, eh denominada como Integer, ja que sera nela q farei as contas p/ chegar ao mmc. Essa variavel VarTxtValor serve apenas como apoio p/ o textbox.
_____________________________

"Não consigo me convencer de que um Deus caridoso e onipotente teria propositalmente criado vespas parasitas com a intenção expressa de alimentá-las dentro de corpos vivos de lagartas."

Charles Darwin
Eicar
Eicar Membro Senior Registrado
209 Mensagens 4 Curtidas
#4 Por Eicar
24/07/2008 - 22:37
Então nem mais um palpite??? Eu sou novato em vb.net, por favor apareça algum tiozão ai pra me ajudar... deve ser algum erro de linguagem q naum consigo reparar, ja revisei o codigo mais de cinco vezes e naum consigo achar i problema.

ME AJUDEM!

=)
_____________________________

"Não consigo me convencer de que um Deus caridoso e onipotente teria propositalmente criado vespas parasitas com a intenção expressa de alimentá-las dentro de corpos vivos de lagartas."

Charles Darwin
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal