Função Parametro
Tenho o seguinte problema com a função:
tenho varias tabelas e uma var do tipo integer para cada uma.
Function abrirtabela(tabela:ttable; controle:?):boolean;
begin
tabela.open;
inc(controle);{aqui eu deveria informar através do parametro qual variavel desejo trabalhar}
end;
O que eu quero:
1º - Através da função passar como paramentro o nome do componente Ttable que quero abrir. Obs. isto já consegui.
2º - através do paramento eu aponte para o delphi com qual variavel desejo trabalhar.
ex. de uso:
abrirtabela(module.tableCLiente, varCliente);
onde varCliente é uma variavel já criada e tableCLiente e componente Ttable já criado.
tenho varias tabelas e uma var do tipo integer para cada uma.
Function abrirtabela(tabela:ttable; controle:?):boolean;
begin
tabela.open;
inc(controle);{aqui eu deveria informar através do parametro qual variavel desejo trabalhar}
end;
O que eu quero:
1º - Através da função passar como paramentro o nome do componente Ttable que quero abrir. Obs. isto já consegui.
2º - através do paramento eu aponte para o delphi com qual variavel desejo trabalhar.
ex. de uso:
abrirtabela(module.tableCLiente, varCliente);
onde varCliente é uma variavel já criada e tableCLiente e componente Ttable já criado.
Sistemald
Curtidas 0
Respostas
Delphi32
10/05/2004
kra, se não estou enganado, vc deveria declarar a função da seguinte forma:
Function abrirtabela(tabela:ttable; var controle:integer):boolean; begin tabela.open; inc(controle); end;
GOSTEI 0
Sistemald
10/05/2004
Delphi32, vc não me entedeu(talvez eu tenha explicado mal), no segundo parametro devo passar o nome da varial(já criada) devo trabalhar.
ex.
//agora deveria passar o parametro com valor X,ou seja a instrução [b:92f11f60a6]Inc[/b:92f11f60a6] seria executado na var X,
ex.
...
[b]private[/b]
{ Private declarations }
[b]public[/b]
x, y, z:integer;
{ Public declarations }
end;
...
function aumenta(varnome:?):integer;
begin
inc(varnome);
end;
...
aumenta(x);
//agora deveria passar o parametro com valor X,ou seja a instrução [b:92f11f60a6]Inc[/b:92f11f60a6] seria executado na var X,
GOSTEI 0
Paulo_amorim
10/05/2004
kra, se não estou enganado, vc deveria declarar a função da seguinte forma:
Function abrirtabela(tabela:ttable; var controle:integer):boolean; begin tabela.open; inc(controle); end;
Olá
Eu entendi a mesma coisa que o delphi32...
se vc tem na classe:
function Aumenta( Tabela: TTable; controle: INTEGER) : boolean;
vc pode chamar essa função assim p.ex.
[code]var
x,y,z: Integer;
a,b,c: Boolean;
begin
a := Aumenta(minhatabela, x);
b := Aumenta(minhatabela, y);
c := Aumenta(minhatabela, z);[/cod]
vc não precisa passar um [b:1f22577e81]número[/b:1f22577e81] soh porque o parâmetro é Integer...vc pode passar uma variável inteira tambem...
Até+
GOSTEI 0
Comodelphi
10/05/2004
Caros colegas, só para ilustrar. Essa técnica de programação é chamada de passagem de parâmetros por referência, onde a rotina chamada acessa o mesmo endereço de memória da variável passada, podendo assim alterá-la.
GOSTEI 0