• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

anonimou

comparar a distancia entre 2 pontos

2 mensagens neste tópico

Olá a todos,

Tenho um problema e não sei como resolver...

Estou a tentar fazer um programa para transformar coordenadas de  linhas 3D

Mas tenho uma segurança para o programa não continuar se o comprimento actual de uma linha 3D ser diferente do comprimento das novas coordenadas dessa linha 3D.

Mesmo teclando  as mesmas coordenadas da linha 3D actual nas textboxes e o programa dar me o comprimento correcto não o consigo avançar para o codigo que pretendo "mesmo_comprimento", vai sempre para o "diferente_comprimento"

Alguem me pode ajudar a compreender o que esta errado?

O código que tenho até ao momento:

'  xcl*      são labels

'  swx*      são textboxes

Private Sub Form_Load()

a = (Val(xcl2) - Val(xcl1)) ^ 2

b = (Val(ycl2) - Val(ycl1)) ^ 2

c = (Val(zcl2) - Val(zcl1)) ^ 2

d = Val(a) + Val(;) + Val©

e = Round(Sqr(d), 3)

comprimento_coordenadas_actual = e

End Sub

Private Sub start_Click()

If swx1 = "" Then GoTo insiracoordenadas

If swy1 = "" Then GoTo insiracoordenadas

If swz1 = "" Then GoTo insiracoordenadas

If swx2 = "" Then GoTo insiracoordenadas

If swy2 = "" Then GoTo insiracoordenadas

If swz2 = "" Then GoTo insiracoordenadas

f = (Val(swx2) - Val(swx1)) ^ 2

g = (Val(swy2) - Val(swy1)) ^ 2

h = (Val(swz2) - Val(swz1)) ^ 2

i = Val(f) + Val(g) + Val(h)

j = Round(Sqr(i), 3)

comprimento_novas_coordenadas = j

If e = j Then GoTo mesmo_comprimento

If e > j Then GoTo diferente_comprimento

If e < j Then GoTo diferente_comprimento

Exit Sub

insiracoordenadas:

MsgBox "Por favor insira novas coordenadas"

Exit Sub

diferente_comprimento:

MsgBox "diferente comprimento, por favor digite novas coordenadas"

Exit Sub

mesmo_comprimento:

MsgBox "Dxf Criado!"

Exit Sub

End Sub

Obrigado,

Délio Pontes

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

descobri a resposta!

comprimento_coordenadas_actual  = Round(Sqr(d), 3)

comprimento_novas_coordenadas  = Round(Sqr(i), 3)

If comprimento_coordenadas_actual  = comprimento_novas_coordenadas Then GoTo mesmo_comprimento

If e > j Then GoTo diferente_comprimento

If e < j Then GoTo diferente_comprimento

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora