Ir para o conteúdo
Kline777

Valor null para reais

Mensagens Recomendadas

Kline777

Boas... pergunta estúpida.... que valor posso usar como null para variaveis do tipo real?

Queria fazer algo do género:

 Procedure SetObjectLocation(var Obj:TGLBaseSceneObject;X,Y,Z:real);
 begin
   if x<>null then Obj.Position.x:=x;
   if y<>null then Obj.Position.y:=y;
   if z<>null then Obj.Position.z:=z;
 end;

Ou seja, se eu chamasse a função assim:

SetObjectLocation(null,null,20);

entao ele só ia fazer a atribuição do Z.

Este código compila, mas quando é chamada a função ele dá erro a dizer que nao pode atribuir null a um numero.

Aqui na empresa usava-se um valor numerico VAZ=500000 e sempre que se quer fazer algo do género usamos o VAZ em vez do null. Mas sinceramente penso que deve haver uma solução melhor :/ sugestões?

Obrigado

Editado por nunopicado
Adicionada linguagem à tag GeShi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Com o tipo Real, desconheço...

Podes no entanto usar o tipo Variant.

Esse já aceita tanto o valor NULL como os numeros reais, pelo que podes na função usar o teste que indicaste.

 Procedure SetObjectLocation(var Obj:TGLBaseSceneObject;X,Y,Z:Variant);
 begin
   if x<>null then Obj.Position.x:=x;
   if y<>null then Obj.Position.y:=y;
   if z<>null then Obj.Position.z:=z;
 end;

Editado por nunopicado

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Não chegaste a dizer: Isto resolveu?


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado
:) Optimo!

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Sim :) está lá a bombar na minha unit do 3D ^^

A tua unit do 3D?... Podes dizer só mais um bocadinho o que é essa unit? Fiquei curioso :D


Knowledge is free!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Kline777

São só algumas funções que fiz para facilitar o uso do GLscene no meu programa. Para fazer cenas em 3D é muito simples e dá para fazer coisas engraçadas.

Foi a razao principal para nao termos migrado para o C# na empresa :P não consegui encontrar nada que nao precisasse de uma carradona de linhas de codigo para fazer um simples cubo ou objecto 3D. No GLscene pode ser tão simples como arrastar um componente e definir 3 ou 4 parametros.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Kline777

Já agora um exemplo do meu programa

xmp.png

Com movimento e controlo de colisões

Editado por Kline777
  • Voto 2

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Definitivamente o Delphi é fraco, tal como o Pascal, e não tem futuro. Olha-me essa vergonha, isso é coisa que se apresente? :P

  • Voto 1

Knowledge is free!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Um dia eu meto-me a sério no Delphi, até lá ando metido noutras paragens. Por isso, @Kline777, prepara-te que na altura sei que serás o homem certo para ajudar nas dúvidas que tiver :D

E tu também, @nunopicado, mas a ti eu já conheço há mais tempo xD


Knowledge is free!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nunopicado

Garganta e falta de tempo, é o que tens... :)

Já ouço isso há muito tempo! hehhehehe


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
thoga31

Garganta e falta de tempo, é o que tens... :)

Já ouço isso há muito tempo! hehhehehe

Falta de tempo, sim. Garganta, em parte... :D

Antes de me meter no Delphi, tenho de me meter noutras LP's diferentes.


Knowledge is free!

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.