KADILLO 0 Denunciar post Postado Novembro 12, 2006 olá !gostaria de que me ajudasse na seguinte rotina- ela deve, ao abrir o programa, mostrar os dependentes que fazem aniversário naquele dia.-os dependentes estão numa tabela no interbase.-os aniverssariantes devem ser exibidos numa grid- a rotina só deve funcionar na primeira vez que o programa rodar no dia. não deve aparecer sempre que o programa rodar. só na primeira vez do dia.já tentei de várias formas, não consigo.pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 12, 2006 O que você já têm pronto até o momento ? Já tem a tabela com os campos ? Já têm a consulta SQL ? O que realmente precisa ser feito ? Compartilhar este post Link para o post Compartilhar em outros sites
Pantoja 5 Denunciar post Postado Novembro 14, 2006 O que você já têm pronto até o momento ? Já tem a tabela com os campos ? Já têm a consulta SQL ? O que realmente precisa ser feito ?pelo visto todo o programa!kkkposta ae cara o q você ja tem pra galera te ajudar! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
KADILLO 0 Denunciar post Postado Novembro 15, 2006 O que você já têm pronto até o momento ? Já tem a tabela com os campos ? Já têm a consulta SQL ? O que realmente precisa ser feito ?pelo visto todo o programa!kkkposta ae cara o q você ja tem pra galera te ajudar! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gifOlá... bom dia !obrigado pela atenção ao meu problema.bem, na verdade sou iniciante em Delphi e só tenho montada a tabela no interbase.a tebela(DEPENDENTES), contem os campos iddep,nomedep,datanasdep e sexodep.no meu form principal, possuo os menus CADASTRO/funcionários/dependentes , RELATÓRIOS/funcionários/dependentes e SAIR.a montagem dos forms estão prontas, juntamente com os códigos dos botôes e procedimentos que preciso.o que preciso é do procedure para os aniversariantes(que não faço a mínima idéia de como fazer) e deste detalhe, que esta procedure só aconteça uma vez por dia, quando o programa for aberto, e não aconteça de novo em nenhum momento do dia. apenas na primeira vez que o programa for iniciado.é isso que tenho.obrigado novamente.abraços !O que você já têm pronto até o momento ? Já tem a tabela com os campos ? Já têm a consulta SQL ? O que realmente precisa ser feito ?Olá... bom dia !obrigado pela atenção ao meu problema.bem, na verdade sou iniciante em Delphi e só tenho montada a tabela no interbase, o formulário principal,cadastro de funcionários e dependentes, relatório de funcionários e dependentes e sair.até aqui está tudo pronto e operacional.*a tabela(DEPENDENTES), contém os campos iddep,nomedep,datanasdep e sexodep.*no meu form principal, possuo os menus CADASTRO/funcionários/dependentes , RELATÓRIOS/funcionários/dependentes e SAIR.*a montagem dos forms estão prontas, juntamente com os códigos dos botôes e procedimentos que preciso.*o que preciso é do procedure para os aniversariantes(que não faço a mínima idéia de como fazer) e deste detalhe, que esta procedure só aconteça uma vez por dia, quando o programa for aberto, e não aconteça de novo em nenhum momento do dia. apenas na primeira vez que o programa for iniciado.*é isso que preciso.obrigado novamente.abraços ! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 15, 2006 No caso o que poderia fazer é controlar através do BD, possivelmente você deve de ter uma tabela com informações da empresa, caso tenha pode armazenar ali uma data com a informação da data, no caso quando entrar no sistema verifica esta data, caso ela seja menor que o dia de hoje, então faz a consulta e atualiza este campo com a data de hoje, para que o mesmo nao seja mais apresentado durante o dia, você poderia tb controlar a data para cada usuario que se logar, no caso teria de colocar o campo na tabela de usuarios e quando ele se logar fazer o mesmo controle.... se quiser pode ainda usar o registro do windows... sem preicsar de bd... Compartilhar este post Link para o post Compartilhar em outros sites
KADILLO 0 Denunciar post Postado Novembro 15, 2006 AH SIM, EU ENTENDI.ACREDITO QUE PARA O MEU CASO, EU TERIA DE USAR O REGISTRO DO WINDOWS.COMO FAÇO ?MUITO AGRADECIDO ! Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Novembro 15, 2006 Bom, uma forma seria você criar um arquivo de texto mesmo, ou .Ini,gravando a data dentro dele e que assim que o programa fosse aberto você iria verificar se ele existe...se ele existir: você verifica se a data é a mesma do sistema, se for ai você ñ mostra, do contrário você grava a data atual nele e mostra...se ele não existir: você cria ele, grava a data e mostra...sendo assim ele somente seria exibido na primeira vez... Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 15, 2006 Veja este post, fala como trabalhar com o registro do windows, para ler e gravar... Compartilhar este post Link para o post Compartilhar em outros sites
KADILLO 0 Denunciar post Postado Novembro 17, 2006 Bom, uma forma seria você criar um arquivo de texto mesmo, ou .Ini,gravando a data dentro dele e que assim que o programa fosse aberto você iria verificar se ele existe...se ele existir: você verifica se a data é a mesma do sistema, se for ai você ñ mostra, do contrário você grava a data atual nele e mostra...se ele não existir: você cria ele, grava a data e mostra...sendo assim ele somente seria exibido na primeira vez...Amigão, obrigado pela atenção.vamos lá..não foi por falta de tentar.li e achei muito show o post que me indicou.mas para falar a verdade, iniciante é uma merd....não consigo nem montar o form que me mostre os aniversariantes na grid.poderia me explicar tipo um passo a passo?muito obrigado e desculpe a amolação. Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 17, 2006 Putz... Mais passo-a-passo que isto acho que não consigo, hehehe unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, Registry;type TForm1 = class(TForm) dbgAniversariantes: TDBGrid; Database1: TDatabase; qryAniversariante: TQuery; dtsAniversariante: TDataSource; qryAniversarianteNMCLIENTE: TStringField; qryAniversarianteDTNASCIMENTO: TDateTimeField; procedure FormCreate(Sender: TObject); private { Private declarations } function LeRegWin(root: HKey; chave, valor: string): string; procedure GravaRegWin(root: HKey; chave, valor, conteudo: string); procedure VerificaAniversariantes; public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}procedure TForm1.GravaRegWin(root: HKey; chave, valor, conteudo: string);var reg: TRegistry; ins: boolean;beginreg:=TRegistry.Create;reg.RootKey:=root;ins:=True;reg.OpenKey(chave, True);if reg.ValueExists(valor) then if Reg.ReadString(valor) = conteudo then ins:=False;if ins then reg.WriteString(valor, conteudo);reg.CloseKey;reg.Free;end;function TForm1.LeRegWin(root: HKey; chave, valor: string): string;var reg: TRegistry; ret: string;beginret:='';reg:=TRegistry.Create;reg.RootKey:=root;if reg.OpenKey(chave, False) then if reg.ValueExists(valor) then ret:=Reg.ReadString(valor);reg.CloseKey;reg.Free;LeRegWin:=ret;end;procedure TForm1.FormCreate(Sender: TObject);beginVerificaAniversariantes();end;procedure TForm1.VerificaAniversariantes;var data: string; consultar: boolean; ano, mes, dia: Word;begindbgAniversariantes.Visible:=False;consultar:=True;data:=LeRegWin(HKEY_LOCAL_MACHINE,'SOFTWARE\MeuPrograma','DataVerificado');if data <> '' then if StrToDate(data) >= Date then consultar:=False;if consultar then begin DecodeDate(Date,ano,mes,dia); GravaRegWin(HKEY_LOCAL_MACHINE,'SOFTWARE\MeuPrograma','DataVerificado',DateToStr(Date)); qryAniversariante.Close; qryAniversariante.SQL.Clear; qryAniversariante.SQL.Add('select cliente.nmcliente, cliente.dtnascimento'); qryAniversariante.SQL.Add('from cliente'); qryAniversariante.SQL.Add('where extract(day from dtnascimento) = ' + IntToStr(dia)); qryAniversariante.SQL.Add('and extract(month from dtnascimento) = ' + IntToStr(mes)); qryAniversariante.Open; if not qryAniversariante.IsEmpty then dbgAniversariantes.Visible:=True; end;end;end. No caso somente utilizei um DBGrid, uma Query, DataSource e Database... sendo que executa o comando SQL buscando os registros, mas antes verifica o registro na máquina para ver se pode consultar... Compartilhar este post Link para o post Compartilhar em outros sites
KADILLO 0 Denunciar post Postado Novembro 17, 2006 hoje, 17/11 12:45Meu mais novo amigomuito, mas muito onrigado mesmo !É de pessoas como você que o mundo precisa !Já estou colocando em prática os códigos que me passou.Novamente meu muito obrigado e desculpe pela amolação !Um grande abraço, quente e forte como deve ser seu coração ! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Novembro 17, 2006 E nóis... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites