Re: Res: [delphi-br] Dúvidas iniciais

2009-09-26 Por tôpico pastoreantenas
Adriano, eu fiz um programinha modelo para trabalhar com forms MDI e funcionou, 
porém tive que fazer algumas coisas:

Para abrir o form estou utilizando assim:

procedure TFPrincipal.ToolButton1Click(Sender: TObject);
var
  MDIAtividade: TFAtividade;
begin
  MDIAtividade := TFAtividade.Create(Application);
  // coloquei o contador de forms MDI mas vou implementar uma
  // rotina de verificacao e contagem de form. Creio que 2 ou 3 forms
  // iguais abertos sejam mais que suficiente.
  MDIAtividade.Caption := 'Cadastro de Atividades '+IntToStr(MDIChildCount+1);
  // seto o tamanho das janelas, pois elas não obedecem ao design do delphi 
(tem vida própria... rsrsrs)
  MDIAtividade.Width := 383;
  MDIAtividade.Height := 283;
  MDIAtividade.Show;
end;

Coloquei um DataSet e um DataSource no form dos cadastros básicos, pois senão, 
sempre que abria uma nova janela e movimentava os registros nelas, as 
alterações se refletiam nos outros dbgrids das janelas abertas.

Consegui abrir as janelas normalmente, porém sempre que troco de uma janela 
para outra o pointer do dbgrid é movido para o primeiro registro selecionado.
Para minhas consultas básicas isto é suficiente, porém gostaria de guardar a 
posição do pointer e restaurá-la sempre que selecionar novamente o form, 
porém não sei em quais eventos colocar, seria algo assim:

Sempre que o dbgrid for movido, atualiza uma variavel com 
registro := dataset.recno;
e sempre que for retornar para a janela em questão, 
dataset.recno := registro;

porém não sei onde mecher.

Se alguém puder me dar uma luz.

Obrigado.

Eduardo Moraes


--- Em delphi-br@yahoogrupos.com.br, Adriano Barbosa adriano.barb...@... 
escreveu

 Também estou com o mesmo problema, estou fazendo uns testes aqui se der certo 
 posto a resposta aqui.
 
 
 De: pastoreantenas pastoreante...@...
 Para: delphi-br@yahoogrupos.com.br
 Enviadas: Domingo, 20 de Setembro de 2009 15:34:05
 Assunto: [delphi-br] Dúvidas iniciais
 
   
 Estou iniciando a migração de um sistema de FlagShip para Delphi e
 consequentemente aprendendo algumas coisas (muitas coisas).
 Estou com algumas dúvidas:
 1a. Como passar um DataSet como parâmetro? Tenho alguns cadastros
 básicos que utilizam o mesmo form e quase sempre a mesma lógica de
 programação, então gostaria de fazer um form padrão e depois herdar as
 propriedades deste form para outros cadastros, porém estou usando um
 DataModule para os DataSet e DataSource. Gostaria de informar assim
 DataSetConsulta := DataSetCadastro mas não sei como passar um dataset
 como parâmetro, nem sei se é possível.
 



Res: [delphi-br] Dúvidas iniciais

2009-09-22 Por tôpico Adriano Barbosa
Também estou com o mesmo problema, estou fazendo uns testes aqui se der certo 
posto a resposta aqui.




De: pastoreantenas pastoreante...@gmail.com
Para: delphi-br@yahoogrupos.com.br
Enviadas: Domingo, 20 de Setembro de 2009 15:34:05
Assunto: [delphi-br] Dúvidas iniciais

  
Estou iniciando a migração de um sistema de FlagShip para Delphi e
consequentemente aprendendo algumas coisas (muitas coisas).
Estou com algumas dúvidas:
1a. Como passar um DataSet como parâmetro? Tenho alguns cadastros
básicos que utilizam o mesmo form e quase sempre a mesma lógica de
programação, então gostaria de fazer um form padrão e depois herdar as
propriedades deste form para outros cadastros, porém estou usando um
DataModule para os DataSet e DataSource. Gostaria de informar assim
DataSetConsulta := DataSetCadastro mas não sei como passar um dataset
como parâmetro, nem sei se é possível.

2a. Quero que meu sistema permita a abertura do mesmo cadastro (form)
diversas vezes, por exemplo:
Estou lançando um pedido e o cliente gostaria de saber o que comprou
nas últimas 3 vezes. Vou abrir uma nova consulta de pedidos.
Ele ainda gostaria de saber o que está devendo. Vou abrir uma consulta
de Contas a Receber.
Eu abro os form´s assim:

Try
FAtividade := TFAtividade. Create(Applicati on);
FAtividade.ShowModa l;
Finally
FAtividade.Free;
End;

Tenho que fazer algum controle para verificar se o form já está
carregado na memória e então abrí-lo com outro nome (FAtividade2, 3, 4
e etc)... E abrindo assim, o que seria melhor, concentrar os DataSets
e DataSource no DataModule ou no Form, já que ele seria instanciado
diversas vezes?
E quanto às consultas SQL, se instanciá-las pelo DataSet (um único dataset no 
Data Module, quando abrir uma outra consulta igual (mesmo form) ela iria 
automaticamente ser sobreposta, então deveria prover um recurso nos eventos 
create e destroy do form para salvar a consulta anterior e depois restaurá-la 
posteriormente, correto?
Mesmo recebendo o dataset como parâmetro precisaria fazer desta maneira?

Desde já, obrigado 


   


  

Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]