Para que serve o @ nos códigos Delphi
19/07/2005
0
Agradeço, Koch
Mkoch
Post mais votado
21/07/2005
type pDataSet = ^TDataSet;
quer dizer que quando eu passo [b:e0bfd50a0d]^TDataSet[/b:e0bfd50a0d] para [b:e0bfd50a0d]pDataSet[/b:e0bfd50a0d] eu quero dizer que [b:e0bfd50a0d]pDataSet[/b:e0bfd50a0d], vai guardar o endereço de um [b:e0bfd50a0d]TDataSet[/b:e0bfd50a0d], tipo [b:e0bfd50a0d]Av. Paulista, 115 1o. andar[/b:e0bfd50a0d] ...rs. ...no caso do computador ex: [b:e0bfd50a0d]$F2AE2200[/b:e0bfd50a0d] ...
..quando eu passo ´pdsTemp[b:e0bfd50a0d]^[/b:e0bfd50a0d]´ para a minha variável ´DataSet´:
DataSet := pdsTemp^;
...eu estou passando o [b:e0bfd50a0d]CONTEÚDO[/b:e0bfd50a0d] do endereço que está em [b:e0bfd50a0d]pdsTemp^[/b:e0bfd50a0d], ou seja, na [b:e0bfd50a0d]Av. Paulista, 115 1o. andar[/b:e0bfd50a0d] tem o predio da Impacta, no caso do Delphi, seria o [b:e0bfd50a0d]DataSet[/b:e0bfd50a0d] que tem naquele endereço....
...quando eu passo [b:e0bfd50a0d]@DmPrin.dsTabela.DataSet[/b:e0bfd50a0d] para a minha função ´DataSetEmUso´ :
if DataSetEmUso(@DmPrin.dsTabela.DataSet) then
...eu estou passando o [b:e0bfd50a0d]ENDEREÇO[/b:e0bfd50a0d] de memoria do [b:e0bfd50a0d]DataSet[/b:e0bfd50a0d] ´DmPrin.dsTabela.DataSet´, ou seja, [b:e0bfd50a0d]Av. Paulista, 115 1o. andar[/b:e0bfd50a0d]...
...ou seja, quando eu falo que uma variável [b:e0bfd50a0d]A[/b:e0bfd50a0d] vai ser [b:e0bfd50a0d]^Uma_Classe_Qualquer[/b:e0bfd50a0d] eu quero dizer que a var [b:e0bfd50a0d]A[/b:e0bfd50a0d]
var guardar endereços daquela classe...
..quando eu falo que variável B recebe @Variavel C, @ ( at) serve para passar o endereço, ou seja, @mkoch vai passar seu endereço ....
..e Variável^ vai passar o que tem naquele endereço, exemplo se Var A recebe @mkoch ....então [b:e0bfd50a0d]A^ = @mkoch[/b:e0bfd50a0d]. ..
...espero que tenha ficado claro para vc.....
...qualquer coisa, estamos ai.. .
....flws
Daemon
Mais Posts
19/07/2005
Massuda
19/07/2005
Mkoch
19/07/2005
Daemon
function DataSetEmUso(pdsTemp: pDataSet):boolean; var DataSet: TDataSet; begin DataSet := pdsTemp^; result := (DataSet.State in [dsInsert, dsEdit]); if result then begin DataSet.Cancel; ... ... end; end;
...ai eu faço uso dela:
if DataSetEmUso(@DmPrin.dsTabela.DataSet) then
..ou seja.. ..assim eu consigo manipular o mesmo DataSet...
19/07/2005
Daemon
type pDataSet = ^TDataSet;
...flws..
19/07/2005
Daemon
19/07/2005
Mkoch
e porque quando o declara ele está na esquerda e quando o usa está na direita ´pdsTemp^;´
19/07/2005
Beppe
14/02/2020
Atma Ltda
[code:1:e0bfd50a0d]
type
pDataSet = ^TDataSet;[/code:1:e0bfd50a0d]
quer dizer que quando eu passo <b>^TDataSet</b> para <b>pDataSet</b> eu quero dizer que <b>pDataSet</b>, vai guardar o endereço de um <b>TDataSet</b>, tipo <b>Av. Paulista, 115 1o. andar</b> ...rs. ...no caso do computador ex: <b>$F2AE2200</b> ...
..quando eu passo ´pdsTemp<b>^</b>´ para a minha variável ´DataSet´:
[code:1:e0bfd50a0d] DataSet := pdsTemp^; [/code:1:e0bfd50a0d]
...eu estou passando o <b>CONTEÚDO</b> do endereço que está em <b>pdsTemp^</b>, ou seja, na <b>Av. Paulista, 115 1o. andar</b> tem o predio da Impacta, no caso do Delphi, seria o <b>DataSet</b> que tem naquele endereço....
...quando eu passo <b>@DmPrin.dsTabela.DataSet</b> para a minha função ´DataSetEmUso´ :
[code:1:e0bfd50a0d]if DataSetEmUso(@DmPrin.dsTabela.DataSet) then[/code:1:e0bfd50a0d]
...eu estou passando o <b>ENDEREÇO</b> de memoria do <b>DataSet</b> ´DmPrin.dsTabela.DataSet´, ou seja, <b>Av. Paulista, 115 1o. andar</b>...
...ou seja, quando eu falo que uma variável <b>A</b> vai ser <b>^Uma_Classe_Qualquer</b> eu quero dizer que a var <b>A</b>
var guardar endereços daquela classe...
..quando eu falo que variável B recebe @Variavel C, @ ( at) serve para passar o endereço, ou seja, @mkoch vai passar seu endereço ....
..e Variável^ vai passar o que tem naquele endereço, exemplo se Var A recebe @mkoch ....então <b>A^ = @mkoch</b>. ..
...espero que tenha ficado claro para vc.....
...qualquer coisa, estamos ai.. .
....flws
Me ajudou quase 15 anos depois kkkk
Clique aqui para fazer login e interagir na Comunidade :)