Fórum como fazer um Array de variaveis por referencia? #323369

14/06/2006

0

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

Responder

Posts

14/06/2006

Massuda

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.


Responder

Gostei + 0

14/06/2006

Osocram

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)


Responder

Gostei + 0

14/06/2006

Massuda

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]);



Responder

Gostei + 0

14/06/2006

Osocram

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


Responder

Gostei + 0

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

Aceitar