Jump to content
Kline777

Valor null para reais

Recommended Posts

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

Edited by nunopicado
Adicionada linguagem à tag GeShi

Share this post


Link to post
Share on other 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;

Edited by 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
Kline777

Já agora um exemplo do meu programa

xmp.png

Com movimento e controlo de colisões

Edited by Kline777
  • Vote 2

Share this post


Link to post
Share on other 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

  • Vote 1

Knowledge is free!

Share this post


Link to post
Share on other sites
Kline777

Por momentos assustaste-me xD

Ya... tenta fazer isso em C# e vê quantas linhas de codigo tens e quanto tempo demoras :P

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.