quot;Nilquot;

03/01/2006

0

Fala ae camaradas :lol: !!!

Estou como uma pequena dúvida...

if Edt <> [b:cc027d0858]Nil[/b:cc027d0858] then begin

O que o componente NIL faz :?:

Valew...Grato :!:


Rafaeldf22

Rafaeldf22

Responder

Posts

03/01/2006

Edilcimar

alguns componentes usam o nil outro o null para informar que o seu conteúdo está vazio


Responder

03/01/2006

Josh_bsb

´Nil´ não é componente...
É apenas a atribuição de um valor ´NULO´ a uma referencia de objeto.

No código citado se refere a um teste condicional onde ele checa se Edt possui referencia valida, ou seja, foi instanciado.


Responder

03/01/2006

Michael

[b:e89f13daf6]Nil [/b:e89f13daf6]e [b:e89f13daf6]Null [/b:e89f13daf6]são coisas diferentes. Nil é um ponteiro para lugar nenhum da memória (um endereço que não existe). Null é uma variante com um tipo desconhecido ou com dados perdidos (lixo).

Todo objeto derivado de [b:e89f13daf6]TObject [/b:e89f13daf6]- ou seja, todos eles - podem ser nil, mas nenhum pode ser Null. Apenas variantes aceitam este valor. Alías, Null não é um valor, e sim uma função que retorna um tipo [b:e89f13daf6]Variant [/b:e89f13daf6]vazio. Vazio não é a palavra mais indicada, e sim, como já mencionado, um tipo desconhecido. Para obter variantes vazias usa-se a função [b:e89f13daf6]Unassigned[/b:e89f13daf6].

Quando se compara objetos, usa-se preferencialmente a função [b:e89f13daf6]Assigned[/b:e89f13daf6]. No exemplo usado:

if Assigned(Edt) then...

ou
if not Assigned(Edt) then...


[]´s


Responder

03/01/2006

Edilcimar

é michael, mas quando se compara a um campo de uma tabela a comparação é feita if fieldbyname(´nomedocampo´).value = [u:98f76617c6]null[/u:98f76617c6] then


Responder

03/01/2006

Michael

Sim, pq a propriedade [b:f93c3c2908]Value [/b:f93c3c2908]de [b:f93c3c2908]TField [/b:f93c3c2908]é do tipo [b:f93c3c2908]Variant[/b:f93c3c2908], e Variant não é um objeto. ;-)

[]´s


Responder

03/01/2006

Edilcimar

por isto a minha explicação anterior de ´vazio´, pois nula ela não é, zero tampouco!


Responder

03/01/2006

Michael

Entendi o q vc quis dizer, apenas achei q a [b:b4962091ff]forma [/b:b4962091ff]com q vc explicou ficou um pouco confusa, pois pareceu q um componente pode ser nil e outros podem ser null, o que não é correto. Todos podem ser nil, e nenhum pode ser null. Toda Variant pode ser Null, e nenhuma pode ser Nil.

Não postei minha mensagem em resposta à sua. Apenas usei a deixa para falar da diferença entre Nil e Null. ;-)

[]´s


Responder

03/01/2006

Edilcimar

Ok


Responder

03/01/2006

Edilcimar

Ok


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar