ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Exibir um aviso ao cliente as 9h e as 18h usando código

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Marcellobr
Aprendiz
Aprendiz


Registrado: Sábado, 30 de Julho de 2005
Mensagens: 111

MensagemEnviada: Qui Mar 04, 2010 3:31 pm    Assunto: Exibir um aviso ao cliente as 9h e as 18h usando código Responder com Citação

Boa tarde pessoal... estou com um probleminha aqui...
Tenho um software que exibe mensagens em determinados horários aos clientes, porém não consigo fazer uma regra do jeito que desejo...
Queria que fosse exibido uma mensagem de aviso ao cliente as 9h da manhã quando ele abrisse o software, e as 18h outra mensagem fosse exibida... porém quando o cliente não utilizasse o software as 9h e sim ao meio dia por exemplo, a mensagem das 9h fosse exibida mesmo assim, e fosse exibida apenas 1 vez ao dia, ou seja, se ele abrir o software as 10h e depois as 15h a mensagem não fosse exibida, e a partir das 18h outra mensagem fosse exibida na tela...

Não sei se fui muito claro no que desejo, e por isso gostaria da ajuda de vocês...
Desde já muito obrigado
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Mar 04, 2010 3:43 pm    Assunto: Responder com Citação

eu não entendi!

exemplo:

Citação:
Queria que fosse exibido uma mensagem de aviso ao cliente as 9h da manhã quando ele abrisse o software,


as 9 ou qdo ele abrisse e programa?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcellobr
Aprendiz
Aprendiz


Registrado: Sábado, 30 de Julho de 2005
Mensagens: 111

MensagemEnviada: Qui Mar 04, 2010 4:19 pm    Assunto: Responder com Citação

Então... imaginei que tava complicado de entender mesmo... vou tentar explicar dando exemplos...

O Cliente liga seu computador as 9h da manhã e abre o software... um aviso é emitido... "Bom dia cliente, você precisa fazer o backup agora pois é a primeira vez que você utiliza o software hoje".

Ou então...

O Cliente ligar o computador as 10h e 30 minutos, e abre o software... mensagem: "Bom dia cliente, você precisa fazer o backup agora pois é a primeira vez que você utiliza o software hoje"

Beleza... Agora o cliente fecha o programa para almoçar, e depois do almoço abre novamente, 13h, nenhuma mensagem é emitida pois o cliente já havia aberto o software as 10:30...

Agora suponhamos que seja 18h e o cliente esteja com o software aberto desde as 13:00, o programa avisa: "Senhor cliente, é necessário fazer o backup novamente pois já está desde as 9h sem backup".

Ou então... o Cliente abre o software pela primeira vez no dia, as 20h.
O Programa vai dar o aviso das 18h....

Acho que consegui descrever o que desejo.

Obrigado pela ajuda.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rogerbetti
Colaborador
Colaborador


Registrado: Quarta-Feira, 2 de Fevereiro de 2005
Mensagens: 1366
Localização: São Paulo/SP

MensagemEnviada: Qui Mar 04, 2010 4:25 pm    Assunto: Responder com Citação

na verdade o que vc precisa é parametrizar qual o tempo maximo que o user pode ficar sem fazer o backup, feito isso vc vai verificar com uma thread a cada n minutos quem está com o backup atrasado. Caso queira arriscar usa um TTimer
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Qui Mar 04, 2010 4:26 pm    Assunto: Responder com Citação

grava a hora q fez backup.

e testa qdo ele abrir ou em determinados momentos se ja tiver aberto
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kyros
Novato
Novato


Registrado: Quarta-Feira, 9 de Janeiro de 2008
Mensagens: 33

MensagemEnviada: Qui Mar 04, 2010 4:31 pm    Assunto: Responder com Citação

Amigo, não sei se é isso que você quer, mas foi o que entendi:

Citação:
var
Hora:string;
begin
Hora:=timetostr(time);
if Hora >='09:00:00' then
showmessage('Mensagem a ser exibida apos as 09:00');


Você pode colocar isso no evento oncreate do formulário só que ai se o cara abrir o programa as 08:00 e ficar com ele aberto não vai aparecer mais a mensagem, só vai aparecer se ele abrir das nove para cima.
Por isso, tu poderia fazer uso de dois componentes Timer.
ficando o codigo assim:

Citação:

procedure TForm1.Timer1Timer(Sender: TObject);

var
Hora:string;
begin
Hora:=timetostr(time);
if Hora >='09:00:00' then
Showmessage('Mensagem a ser exibida apos as 09:00');
Timer1.Enabled:=False;


e no timer2 tu coloca a mesma coisa, só que fazendo em função para exibir a mensagem após as 18:00.

acho que foi isso que voce se referiu, se não for desconsidere.
abraços
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcellobr
Aprendiz
Aprendiz


Registrado: Sábado, 30 de Julho de 2005
Mensagens: 111

MensagemEnviada: Qui Mar 04, 2010 4:41 pm    Assunto: Responder com Citação

Pessoal não é bem isso... o exemplo do backup foi apenas exemplo...

A mensagem só pode ser exibida para o cliente 1 vez por dia...
No periodo de 9:00h até as 17:59h deverá ser exibida 1 mensagem, apenas 1 vez nesse periodo... e depois das 18:00 até as 9:00h do outro dia outra mensagem... e essas mensagens só podem ser exibidas 1 vez, independente de quantas vezes o cliente abrir o software...
Por isso que não pode ser assim como vocês estão tentando me ajudar...

Software aberto entre: 9:00 até 17:59 - "Mensagem 1"
Software aberto entre: 18:00 até 9:00 do outro dia - "Mensagem 2"
Uma vez mostrada a mensagem naquele periodo ela não pode aparecer mais... sacaram a idéia? hehe

Muito obrigado por estarem tentando me ajudar...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rogerbetti
Colaborador
Colaborador


Registrado: Quarta-Feira, 2 de Fevereiro de 2005
Mensagens: 1366
Localização: São Paulo/SP

MensagemEnviada: Qui Mar 04, 2010 4:44 pm    Assunto: Responder com Citação

e qual a dificuldade de controlar se a mensagem já foi exibida????

pode ser uma var ou um campo
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kyros
Novato
Novato


Registrado: Quarta-Feira, 9 de Janeiro de 2008
Mensagens: 33

MensagemEnviada: Qui Mar 04, 2010 4:54 pm    Assunto: Responder com Citação

Marcelo, o jeito que lhe informei vai funcionar normalmente para seu propósito.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Marcellobr
Aprendiz
Aprendiz


Registrado: Sábado, 30 de Julho de 2005
Mensagens: 111

MensagemEnviada: Qui Mar 04, 2010 6:29 pm    Assunto: Responder com Citação

kyros escreveu:
Marcelo, o jeito que lhe informei vai funcionar normalmente para seu propósito.


Kyros, não vai funcionar por 1 simples motivo... o software pode ser fechado nesse periodo... fechando o programa as informações do timer serão perdidas... para isso precisaria gravar essa informação em 1 arquivo .ini... criar o arquivo é fácil... porém fazer com que o software acesse esse arquivo, verifique as informações é que é o problema...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
kyros
Novato
Novato


Registrado: Quarta-Feira, 9 de Janeiro de 2008
Mensagens: 33

MensagemEnviada: Qui Mar 04, 2010 7:00 pm    Assunto: Responder com Citação

pior que é, havia esquecido o detalhe de fechar o programa.

Até com um arquivo de texto tu conseguiria.
quando mandasse o aviso para o usuário, ele criasse um arquivo de texto com alguma mensagem padrão na primeira linha, para saber que o aviso ja foi informado.
Então quando o programa fosse executado denovo, no evento oncreate do formulário tu colocaria para ver se existe o arquivo de texto com tal mensagem padrão na primeira linha.
Se quiser carregue o texto em um memo, e compare através do memo.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB