| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Qui Mai 22, 2008 1:25 am Assunto: Usar Variavel para CDS (RESOLVIDO) |
|
|
Ola pessoal,
Eu criei um formulario padrao. Uso ele para criar novos forms
Queria saber se tenho como fazer o seguinte:
Criar uma variavel tipo string que armazena o nome do CDS que esta no datamodule que vou usar tipo:
var NomeTabela: String;
procedure TFPadrao1.FormActivate(Sender: TObject);
begin
NomeTabela:= 'DM.CDSFluxoCaixa';
NomeTabela.open;
end;
Desta forma, ao criar um novo form com inherit era so eu trocar o NomeTabela para a que usaria e pronto. Nao precisava trocar tudo.
Entao seria Nometabela.applyuptades(-1) ou NomeTabela.Insert etc...
Tem como?
Editado pela última vez por aleshy em Sáb Mai 24, 2008 8:14 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Qui Mai 22, 2008 4:48 pm Assunto: |
|
|
| UP |
|
| Voltar ao Topo |
|
 |
wolverinefarah Colaborador

Registrado: Sábado, 17 de Junho de 2006 Mensagens: 1770
|
Enviada: Qui Mai 22, 2008 6:05 pm Assunto: Re: Usar Variavel para CDS |
|
|
| aleshy escreveu: | Ola pessoal,
Eu criei um formulario padrao. Uso ele para criar novos forms
Queria saber se tenho como fazer o seguinte:
Criar uma variavel tipo string que armazena o nome do CDS que esta no datamodule que vou usar tipo:
var NomeTabela: String;
procedure TFPadrao1.FormActivate(Sender: TObject);
begin
NomeTabela:= 'DM.CDSFluxoCaixa';
NomeTabela.open;
end;
Desta forma, ao criar um novo form com inherit era so eu trocar o NomeTabela para a que usaria e pronto. Nao precisava trocar tudo.
Entao seria Nometabela.applyuptades(-1) ou NomeTabela.Insert etc...
Tem como? |
o que acontece ?
bye _________________ Fernando Farah
PROGRAMADOR PROGRESS
PROGRAMADOR DELPHI + FIREBIRD |
|
| Voltar ao Topo |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Sex Mai 23, 2008 2:19 am Assunto: |
|
|
tem como fazer sim...
1- vc pode mudar a variavel para TDataSet (ou qq outra coisa compativel) e passar ela no activate do form
ai ficaria
| Código: |
var NomeTabela: TDataSet;
begin
NomeTabela:= DM.CDSFluxoCaixa;
NomeTabela.open;
|
e tb tem como fazer com string, mas ai tem q pensar... e ja sao 2 da manha  _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
| Voltar ao Topo |
|
 |
karlosrapanui Profissional


Registrado: Terça-Feira, 29 de Agosto de 2006 Mensagens: 538
|
Enviada: Sex Mai 23, 2008 7:30 am Assunto: |
|
|
no form padrão..
var
//define o nome da tabela em uso
nomeTabela: string;
no onActivate do form herdado
nomeTabela := 'SUA TABELA';
depois só passar
strSQL := 'SELECT * FROM '+ nomeTabela+'´';
Espero que seja isso
[]'s
Carlos |
|
| Voltar ao Topo |
|
 |
danielbuona Profissional


Registrado: Quinta-Feira, 30 de Junho de 2005 Mensagens: 576 Localização: São Paulo/SP
|
Enviada: Sex Mai 23, 2008 9:46 am Assunto: |
|
|
Olá!
Vc poderia deixar um DataSource no seu form, e quando herdar, só atribui o dataset do dm no ds...
Daniel Buona - danielbuona@hotmail.com
HK Consultoria |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Mai 23, 2008 9:52 am Assunto: |
|
|
Ola DanielBuona,
Olha, sua ideia é boa, mas quero mesmo deixar tudo no DataModule, Quero que todas as conexoes sejam buscadas la no DM.
A ideia de DomOctavioDelFlores é o que preciso, mas eu coloquei como ele disse e nao funcionou.
Coloquei var DSAtivo: TDataSet;
Deu este erro
FormularioPadrao.pas(43): Undeclared identifier: 'TDataSet'
Mas sinceramente preciso mesmo criar uma variavel e nao colocar um datasource no form. Mas valeu a dica. Se souber responde.
Quais os tipo de variaveis que posso criar para que eu possa testar todas.
Tipo, String, Integer, Float, TdataSet.. etc.... |
|
| Voltar ao Topo |
|
 |
danielbuona Profissional


Registrado: Quinta-Feira, 30 de Junho de 2005 Mensagens: 576 Localização: São Paulo/SP
|
Enviada: Sex Mai 23, 2008 10:05 am Assunto: |
|
|
Mas quem disse q as conexões não vão ficar no DM????
vc vai ter mais ou menos isso:
DM
|--- Connection
|---Query
|---Provider
|--- CDS
Form
|-- DataSource.DataSet = DM.CDS
Foi isso q eu quis dizer...
qq coisa eu ti mando um exemplo...
Daniel Buona - danielbuona@hotmail.com
HK Consultoria |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Mai 23, 2008 3:06 pm Assunto: |
|
|
Ok daniel, entendi!
Mas eu nao quero nem que o DataSource fique no form. Quero tudo no DM. Entao preciso mesmo criar a variavel para buscar no DM as coisas que quero.
Abracos
Ainda espero solucao |
|
| Voltar ao Topo |
|
 |
wolverinefarah Colaborador

Registrado: Sábado, 17 de Junho de 2006 Mensagens: 1770
|
Enviada: Sex Mai 23, 2008 3:27 pm Assunto: |
|
|
| aleshy escreveu: | Ok daniel, entendi!
Mas eu nao quero nem que o DataSource fique no form. Quero tudo no DM. Entao preciso mesmo criar a variavel para buscar no DM as coisas que quero.
Abracos
Ainda espero solucao |
amigo, nao precisa criar uma variavel para buscar no DM, basta vc declarar a unit do DM no formulario..
aperte alt + F11 selecione a unit e clique em ok ou entao vai no menu File > use unit... apartir da ih vc consegue visualizar todos os componente procedures funções que estao presente no DataModule.
espero ter ajudado...
bye _________________ Fernando Farah
PROGRAMADOR PROGRESS
PROGRAMADOR DELPHI + FIREBIRD |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Mai 23, 2008 9:22 pm Assunto: |
|
|
wolverinefarah, entenda a ideia. O datamodule ja esta linkando no Form.
O que eu nao quero é sempre que for fazer uma acao ter de colocar tipo
DM.CDSFluxoCaixa.applyupdates (-1);
Se eu copiar este formulario, terei de alterar tudo que comecar com DM.CDSFluxoCaixa. Se eu declarar uma variavel e usa-la para fazer tudo no form TIPO minhavariavel.applyupdates (-1); ao precisarei trocar tudo. So copiar o form e trocar o CDS que carrega na variavel e ja estara pronto. A coisa é mais complicada do que parece |
|
| Voltar ao Topo |
|
 |
wolverinefarah Colaborador

Registrado: Sábado, 17 de Junho de 2006 Mensagens: 1770
|
Enviada: Sex Mai 23, 2008 10:06 pm Assunto: |
|
|
| aleshy escreveu: | wolverinefarah, entenda a ideia. O datamodule ja esta linkando no Form.
O que eu nao quero é sempre que for fazer uma acao ter de colocar tipo
DM.CDSFluxoCaixa.applyupdates (-1);
Se eu copiar este formulario, terei de alterar tudo que comecar com DM.CDSFluxoCaixa. Se eu declarar uma variavel e usa-la para fazer tudo no form TIPO minhavariavel.applyupdates (-1); ao precisarei trocar tudo. So copiar o form e trocar o CDS que carrega na variavel e ja estara pronto. A coisa é mais complicada do que parece |
amigo, veja se eu entendi...
vc pode colocar o nome do cds padrao para todos os forms(eu faço desse jeito) exemplo cdsForm assim sempre que preciso nao preciso ficar alterando tudo..
bye _________________ Fernando Farah
PROGRAMADOR PROGRESS
PROGRAMADOR DELPHI + FIREBIRD |
|
| Voltar ao Topo |
|
 |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sex Mai 23, 2008 11:53 pm Assunto: |
|
|
Bom, acho que nao consigo me expressar bem. Entao me diz uma coisa..
Se eu crio uma variavel do tipo TdataSet (var CDSAtivo: TDataSet;)
pq ele me retorna este erro: Undeclared identifier: 'TDataSet'
Se eu resolver isso resolvo a questao.
Grato |
|
| Voltar ao Topo |
|
 |
wolverinefarah Colaborador

Registrado: Sábado, 17 de Junho de 2006 Mensagens: 1770
|
Enviada: Sáb Mai 24, 2008 11:11 am Assunto: |
|
|
| aleshy escreveu: | Bom, acho que nao consigo me expressar bem. Entao me diz uma coisa..
Se eu crio uma variavel do tipo TdataSet (var CDSAtivo: TDataSet;)
pq ele me retorna este erro: Undeclared identifier: 'TDataSet'
Se eu resolver isso resolvo a questao.
Grato |
amigo, vc quer criar um variavel para o ClientDataSet ?
se sim, fica assim :
| Código: | | var ClientDataSet: TClientDataSet; |
e para cria-lo :
| Código: | | ClientDataSet := TClienteDataSet.Create(Application); |
espero que ajude...
bye _________________ Fernando Farah
PROGRAMADOR PROGRESS
PROGRAMADOR DELPHI + FIREBIRD |
|
| Voltar ao Topo |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Sáb Mai 24, 2008 12:34 pm Assunto: |
|
|
| Citação: | Se eu crio uma variavel do tipo TdataSet (var CDSAtivo: TDataSet;)
pq ele me retorna este erro: Undeclared identifier: 'TDataSet'
Se eu resolver isso resolvo a questao. |
Mas vc nao tem a minima ideia do q é esse erro?
pq sempre q vc usa uma classe, ela tem que estar localizada em algum lugar nao é?
e o delphi não é vidente (apesar do parentesco com o oraculo de delphos), para saber onde achar a classe...
logo, vc tem que dizer onde ela esta...
e como faz isso?
Ps: dá pra colocar ClientDataSet tb, é q TDataSet é o ancestral de todo mundo... _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
| Voltar ao Topo |
|
 |
|