quot;Nilquot;
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 :!:
Estou como uma pequena dúvida...
if Edt <> [b:cc027d0858]Nil[/b:cc027d0858] then begin
O que o componente NIL faz :?:
Valew...Grato :!:
Rafaeldf22
Curtidas 0
Respostas
Edilcimar
03/01/2006
alguns componentes usam o nil outro o null para informar que o seu conteúdo está vazio
GOSTEI 0
Josh_bsb
03/01/2006
´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.
É 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.
GOSTEI 0
Michael
03/01/2006
[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:
ou
[]´s
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
GOSTEI 0
Edilcimar
03/01/2006
é 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
GOSTEI 0
Michael
03/01/2006
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
[]´s
GOSTEI 0
Edilcimar
03/01/2006
por isto a minha explicação anterior de ´vazio´, pois nula ela não é, zero tampouco!
GOSTEI 0
Michael
03/01/2006
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
Não postei minha mensagem em resposta à sua. Apenas usei a deixa para falar da diferença entre Nil e Null. ;-)
[]´s
GOSTEI 0
Edilcimar
03/01/2006
Ok
GOSTEI 0
Edilcimar
03/01/2006
Ok
GOSTEI 0