Função ou procedure para chamar variável

Delphi

13/02/2004

:?: 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]


Pr.mas

Pr.mas

Curtidas 0

Respostas

Lucas Silva

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

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


GOSTEI 0
Lucas Silva

Lucas Silva

13/02/2004

então faz sem o [b:0898890a44]with[/b:0898890a44]...

ele é muito importante assim???


GOSTEI 0
Cebikyn

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.


GOSTEI 0
Pr.mas

Pr.mas

13/02/2004

Olá Amigos,

Agradeço a ajuda de todos

Cebikyn, testei e funcionou legal, valeu pela dica!!!

Até mais

Marcos


GOSTEI 0
POSTAR