Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Marcellobr Aprendiz
Registrado: Sábado, 30 de Julho de 2005 Mensagens: 111
|
Enviada: Qui Mar 04, 2010 3:31 pm Assunto: Exibir um aviso ao cliente as 9h e as 18h usando código |
|
|
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 |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Mar 04, 2010 3:43 pm Assunto: |
|
|
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 |
|
|
Marcellobr Aprendiz
Registrado: Sábado, 30 de Julho de 2005 Mensagens: 111
|
Enviada: Qui Mar 04, 2010 4:19 pm Assunto: |
|
|
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 |
|
|
rogerbetti Colaborador
Registrado: Quarta-Feira, 2 de Fevereiro de 2005 Mensagens: 1366 Localização: São Paulo/SP
|
Enviada: Qui Mar 04, 2010 4:25 pm Assunto: |
|
|
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 |
|
|
gilsonnrodrigues Moderador
Registrado: Quinta-Feira, 14 de Abril de 2005 Mensagens: 9009 Localização: Governador Valadares-MG
|
Enviada: Qui Mar 04, 2010 4:26 pm Assunto: |
|
|
grava a hora q fez backup.
e testa qdo ele abrir ou em determinados momentos se ja tiver aberto |
|
Voltar ao Topo |
|
|
kyros Novato
Registrado: Quarta-Feira, 9 de Janeiro de 2008 Mensagens: 33
|
Enviada: Qui Mar 04, 2010 4:31 pm Assunto: |
|
|
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 |
|
|
Marcellobr Aprendiz
Registrado: Sábado, 30 de Julho de 2005 Mensagens: 111
|
Enviada: Qui Mar 04, 2010 4:41 pm Assunto: |
|
|
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 |
|
|
rogerbetti Colaborador
Registrado: Quarta-Feira, 2 de Fevereiro de 2005 Mensagens: 1366 Localização: São Paulo/SP
|
Enviada: Qui Mar 04, 2010 4:44 pm Assunto: |
|
|
e qual a dificuldade de controlar se a mensagem já foi exibida????
pode ser uma var ou um campo |
|
Voltar ao Topo |
|
|
kyros Novato
Registrado: Quarta-Feira, 9 de Janeiro de 2008 Mensagens: 33
|
Enviada: Qui Mar 04, 2010 4:54 pm Assunto: |
|
|
Marcelo, o jeito que lhe informei vai funcionar normalmente para seu propósito. |
|
Voltar ao Topo |
|
|
Marcellobr Aprendiz
Registrado: Sábado, 30 de Julho de 2005 Mensagens: 111
|
Enviada: Qui Mar 04, 2010 6:29 pm Assunto: |
|
|
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 |
|
|
kyros Novato
Registrado: Quarta-Feira, 9 de Janeiro de 2008 Mensagens: 33
|
Enviada: Qui Mar 04, 2010 7:00 pm Assunto: |
|
|
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 |
|
|
|