Função ou procedure para chamar variável
:?: Alguém sabe se existe alguma função ou procedure para chamar uma string? Tenho um nome de tabela em uma string e preciso manipular essa tabela, mas não sei como chamar a tabela com uma string.
Banco de dados Firebird dialilect 3, componentes IBDataset.
var Tabela : String;
begin
Tabela:=cbTabelas.SelText;
With Tabela do
Close;
SelectSQL[2]:=Condicao;
Open;
O Problema é que with não entende que a variável é o nome da tabela.
Existe alguma forma de resolver isso. Alguém conhece uma função ou
procedure que invoque uma tabela através de uma string?
Agradeço a atenção de todos
Marcos
[b:86461ce535][color=blue:86461ce535]Título editado pelo Moderador (AZ) - Removido: ´--- Urgente!!!´[/color:86461ce535][/b:86461ce535]
Banco de dados Firebird dialilect 3, componentes IBDataset.
var Tabela : String;
begin
Tabela:=cbTabelas.SelText;
With Tabela do
Close;
SelectSQL[2]:=Condicao;
Open;
O Problema é que with não entende que a variável é o nome da tabela.
Existe alguma forma de resolver isso. Alguém conhece uma função ou
procedure que invoque uma tabela através de uma string?
Agradeço a atenção de todos
Marcos
[b:86461ce535][color=blue:86461ce535]Título editado pelo Moderador (AZ) - Removido: ´--- Urgente!!!´[/color:86461ce535][/b:86461ce535]
Pr.mas
Curtidas 0
Respostas
Lucas Silva
13/02/2004
var Tabela : String;
begin
Tabela:=cbTabelas.SelText;
With Tabela do
Close;
SelectSQL[2]:=Condicao;
Open;
o código acima está errado... o with não esta funcionando pq precisa de um begin..end
Tabela:=cbTabelas.SelText; With Tabela do begin Close; SelectSQL[2]:=Condicao; Open; end;
GOSTEI 0
Pr.mas
13/02/2004
Olá Lucas,
Coloquei o begin end e mesmo assim não funcionou. O problema é que with não considera a variável como o nome da tabela. Se eu colocar o nome da tabela direto funciona, mas quando coloco como uma variável e compilo aparece o seguinte erro ´[Error] ConFiltro.pas(145): Record, object or class type required´.
Aguardando sua resposta
Marcos
Coloquei o begin end e mesmo assim não funcionou. O problema é que with não considera a variável como o nome da tabela. Se eu colocar o nome da tabela direto funciona, mas quando coloco como uma variável e compilo aparece o seguinte erro ´[Error] ConFiltro.pas(145): Record, object or class type required´.
Aguardando sua resposta
Marcos
GOSTEI 0
Lucas Silva
13/02/2004
então faz sem o [b:0898890a44]with[/b:0898890a44]...
ele é muito importante assim???
ele é muito importante assim???
GOSTEI 0
Cebikyn
13/02/2004
pr.mas,
Tente assim:
Pegue esta unit
http://www.href.com/pub/source/tprtti.pas.txt
Nela vc acha a função que converte [b:9e60d4e004]String[/b:9e60d4e004] para o componente com o nome correspondente. Basta fazer o typecast.
Seu código ficaria assim:
with TTable(FindComponentByName(Tabela)) do begin
...
end;
Vc pode trocar TTable por qq outra classe, dependendo de sua necessidade. E Tabela é a sua variável String.
Tente assim:
Pegue esta unit
http://www.href.com/pub/source/tprtti.pas.txt
Nela vc acha a função que converte [b:9e60d4e004]String[/b:9e60d4e004] para o componente com o nome correspondente. Basta fazer o typecast.
Seu código ficaria assim:
with TTable(FindComponentByName(Tabela)) do begin
...
end;
Vc pode trocar TTable por qq outra classe, dependendo de sua necessidade. E Tabela é a sua variável String.
GOSTEI 0
Pr.mas
13/02/2004
Olá Amigos,
Agradeço a ajuda de todos
Cebikyn, testei e funcionou legal, valeu pela dica!!!
Até mais
Marcos
Agradeço a ajuda de todos
Cebikyn, testei e funcionou legal, valeu pela dica!!!
Até mais
Marcos
GOSTEI 0