como fazer um Array de variaveis por referencia?

Delphi

14/06/2006

Ola pessoal...
eu queria fazer o seguinte:

procedure Limpar(Eds : Array of Integer);
var x:integer;
begin
  for x:=low(Eds) to high(Eds) do
    Eds[x] := 0;
end;


e p chamar eu faria o seguinte

Limpar([Edcliente,Edfornecedor,EdProduto,MMProduto,MMCliente,MMFornecedor]);


ond
Edcliente,Edfornecedor,EdProduto,MMProduto,MMCliente,MMFornecedor

saum variaveis integer no meu sistema....

eu gostaria d poder zerar todas elas d uma so vez... mas da forma q esta sendo feito eu so passo o valor delas no array... mas eu gostaria d passar as proprias variaveis...

Se elas fossem objetos q nem um ´Edit´ por exemplo isso seria simples....
mas o prob. eh q saum variaveis.

espero q me ajudem
Obrigado.


Osocram

Osocram

Curtidas 0

Respostas

Massuda

Massuda

14/06/2006

Talvez a única forma de fazer isso seja usando um [b:1f97621eca]array of pointer[/b:1f97621eca] e tratar cada item do array como ^Integer.


GOSTEI 0
Osocram

Osocram

14/06/2006

Massuda...
eu pensei nisso... pois uma vez eu jah tinha visto... mas eu non sei como fazer.
vc poderia me dar um exemplo?

Vlw.

(estou tentando aqui... enqto isso)


GOSTEI 0
Massuda

Massuda

14/06/2006

procedure Limpar(Eds : Array of Pointer);
var 
  P: ^Integer;
  I: Integer;
begin
  for I:=Low(Eds) to High(Eds) do begin
    P := Eds[x];
    P^ := 0;
  end;
end;

// exemplo de uso
Limpar([@Edcliente,@Edfornecedor,@EdProduto,@MMProduto,@MMCliente,@MMFornecedor]);



GOSTEI 0
Osocram

Osocram

14/06/2006

procedure Limpar(Eds : Array of Pointer);
var 
  P: ^Integer;
  I: Integer;
begin
  for I:=Low(Eds) to High(Eds) do begin
    P := Eds[x];
    P^ := 0;
  end;
end;

// exemplo de uso
Limpar([@Edcliente,@Edfornecedor,@EdProduto,@MMProduto,@MMCliente,@MMFornecedor]);


Deu certo Massuda..
Vlw
XD


GOSTEI 0
POSTAR