Agenda
[#VIDEO-107#]
Carlos Faria
Respostas
Wesley Yamazack
07/05/2009
Estou com o seu chamado, irei analisar, e juntamente criarei a video sobre o Chamado do Menu. Peço que aguarde um pouco.
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Acabei de assistir a vídeo da Agenda.
Bom pelo que entendi você quer agendar um horário para que a moto vá ate o cliente, me corrija se estiver errado! Certo ?
A sua dúvida é como fazer isso ? Daí vem a minha dúvida, como funciona este sistema de terceiro ? Como ele faz ? Como você sabe que as 8:30 (sendo que agora são 7:40), o motoqueiro 1000 vai ter que ir no endereço XXX, no horário YYY, você tem algum form? É gerado um relatório ? Como o motoqueiro sabe onde e quando ele deve ir ?
Já estou pensando no seguinte. Criamos um XML para agenda, nele conterá informações do Cliente(endereço,nome, etc) e o horário, e motoqueiro), isso ficará salvo no XML. Aqui acho que seria interessante termos um Timer na aplicação, para ficar verificando este XML dando select, no xml e vendo se ta na hora do motoqueiro ir para o endereço. Porém um timer na tua aplicação ficaria meio chato, como te falei no outro chamado, o que poderiamos fazer era cria um outro EXE, este sim com um timer, ele fica vendo o XML, caso de a hora de um chamado, disparamos uma mensagem alertando de que tem um cliente a ser atendido, dai criamos uma tela no teu programa, para poderver "Baixar" do XML para o teu banco de dados. Ficou meio confuso ? Acho que sim, e pra mim também esta meio confuso como funcionará esta agenda. Precisamos esclarecer mais um pouco as ideias.
Fico no aguardo de mais informações.
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Então irei preparar uma vídeo com :
Gerando o XML
Disparando a Mensagem
Mostrando em uma grid os Horarios dai você em um botão por exemplo, clica nele e gravar no banco de dados.
Peço que aguarde um pouco.
Att,
Wesley Y
Carlos Faria
07/05/2009
Carlos Faria
07/05/2009
Carlos Faria
07/05/2009
Rodrigo Mourão
07/05/2009
Então, a maneira mais simples e criar uma tabela com o agendamento com o
IDDacorrida,
DataCadastro,
horaCadastro,
DataAgendada,
HoraAGendada,
IDUSUARIO,
Quando o usuario clicar em agendar vc grava a corrida, pega o id dela e grava na tabela de agendamento com Data e hora de agendamento.
O caminho e este, agora voce precisa implementar algo para que possamos ajudá-lo. DO zero assim sem ter ao menos uma rotina fica complicado.
Bem como você pede uma ideia de como fazer a ideia foi dada. Agora voce tem que entrar em ação para pelo menos tentar colocar em prática !!
Abs !!!
Carlos Faria
07/05/2009
Rodrigo Mourão
07/05/2009
Abs !!!
Carlos Faria
07/05/2009
Carlos Faria
07/05/2009
Rodrigo Mourão
07/05/2009
Estou trabalhando nos chamados do FireBird e da Foto. Eles estão tomando um certo tempo. Em breve estarei fazendo o exxemplo para te mandar.
Se quiser tente fazer algo e me enviar assim voce pode ir adiantando algo e eu apenas vejo o uqe esta errado !!
Abs !!
Carlos Faria
07/05/2009
Carlos Faria
07/05/2009
Devmedia
07/05/2009
recomendamos que sejam trocadas as informações dos chamados nos seus respectivos, ok!
Carlos Faria
07/05/2009
Rodrigo Mourão
07/05/2009
Estamos trabalhando no seu chamado, porém este é um assutno que está me tirando o sono. rsrsrsrsrsrsrs
Não é tão simples quanto parece pois tem varias variantes como poe exemplo não posso te avisar agora que tem uma corrida para agora, tem que avisar com certo tempo de antecedencia, correto.
Ja passei por time, indo por criar um servico no Windows NT e cheguei a Thread.kkkkk Mas o problema e mais conceitual.
Poderia me descrver um cenario completo por favor, estilo requisito mesmo. Ex: O funcionario agenda a corrida, seleciona o motoqueiro e coloca data e hora. O sistema salva no banco. Com x minutos de antecedencia o sistema manda uma mensagem informando que x horas tem um corrido para tal lugar. Etc etc etc .
Assim pode ter uma visão mehor do negocio para pode tentar algo mais simples e principalmente eficiente.
Agradeço a compreensão. Fico no aguardo !!
Att,
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Este chamado esta comigo novamente. Irei gravar uma video pra ti como num post que eu respondi.
Então irei preparar uma vídeo com :
Gerando o XML
Disparando a Mensagem
Mostrando em uma grid os Horarios dai você em um botão por exemplo, clica nele e gravar no banco de dados.
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Hoje irei te mandar mais a noite, o exemplo.
Grato pela compreensão.
Att,
Wesley Y
Wesley Yamazack
07/05/2009
Você poderia me passar os campos que você quer na agenda?
Veja se minha ideia esta indo pelo caminho certo.
1 - Criar um .exe, que ficará rodando o tempo todo. Nele você irá marcar as corridas? Ou isso será marcado pelo teu sistema? Dai eu vou ter que dar um Select, em uma tabela sua e buscar estas informações ?
2 - Depois que a estrutura estiver pronta, como vamos fazer para você confirmar a corrida?
Vamos clarear um pouco mais esta ideia, pode ser ?
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
O exemplo esta quase pronto. Hoje estou terminando ele para você.
Estou implementando a parte também para que o usuário não consiga fechar o mesmo, ocultar o programa da barra de tarefas ou algo do tipo, estou analisando as diversas possibilidades, e logo retornarei.
Grato pela compreensão
Att,
Wesley Y
Wesley Yamazack
07/05/2009
Irei precisar de um pouco mais de tempo, esta meio chato controlar o tempo da mensagem.
Grato pela compreeensão.
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Obrigado pela compreensão.
Att,
Wesley Y
Wesley Yamazack
07/05/2009
Acho que o negócio é bem mais fácio do que estava pensando. Segue o link
http://www.4shared.com/file/110676879/76a8abc7/Chamado_Agenda.html
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Primeiramente peço enormes desculpas pela demora ao responder o chamado, tive problemas pessoais.
Vamos ao que interessa eu consigo fazer o executável rodar como serviço, mas da um trabalho mais chato fazer isso, porém também consigo fazer o executável não ser fechado. Teria como ser assim? Ou você prefere um Serviço ?
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Estarei desenvolvendo um serviço então. Peço que aguarde um pouco, devido a complexibilidade.
Att,
Wesley Y
Carlos Faria
07/05/2009
Wesley Yamazack
07/05/2009
Segue forma de como criar um serviço com tua aplicação.
Criando o serviço
Antes de tudo, é claro, você deve ter uma aplicação normal para transformá-la em um serviço. Com ela aberta no Delphi, vá até o menu File / New / Other e escolha o item Service. Veja:
Com o serviço criado (chame o de srvServidor) você deve fazer as seguintes alterações:
Projeto (dpr): o uses Forms deve ser removido e o SvcMgr adicionado. Além disso, o único objeto que deve ser criado na inicialização é o serviço. Veja:
program servicos_teste;
uses
SvcMgr,
FrmPrincipal in 'FrmPrincipal.pas' ,
srvServidor in 'srvServidor.pas' {SERVICO_TESTE: TService};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TSERVICO_TESTE, SERVICO_TESTE);
Application.Run;
end.
Implementar o método Execute: o serviço possui um método chamado Execute. É nele que você deverá criar a tela principal da sua aplicação. Veja:
Evento do Seriço
procedure TSERVICO_TESTE.ServiceExecute(Sender: TService);
begin
try CoInitialize(nil);
Try
FormPrincipal := TFormPrincipal.Create(Nil);
FormPrincipal.Show;
except
on e: exception do
ShowMessage('Erro : ' + e.Message);
end;
while (not (Self.Terminated)) do
ServiceThread.ProcessRequests(True);
finally
CoUninitialize;
end;
end;
Instalar o serviço: a instalação de um serviço no windows é feita executando a aplicação com o parâmetro /INSTALL. A desinstalação é feita com o /UNINSTALL. Veja um exemplo:
c:\Servico\servicos_teste.exe /install
Objeto TService
A primeira alteração deve ser feita no objeto TService criado anteriormente. Você precisa definir as seguintes propriedades:
* DisplayName: nome que aparecerá na lista de serviços;
* Interactive: define se o serviço poderá se comunicar com o Desktop ou não. Para mostrar um form ou até mesmo uma simples mensagem (ShowMessage, por exemplo), esta propriedade deve estar definida como true.
FormStyle
O form principal de uma aplicação normalmente é do tipo fsMDIForm. Em um serviço você deverá alterar esta propriedade para fsNormal.
Att,
Wesley Y
Devmedia
07/05/2009
a resposta do consultor respondeu sua dúvidas? Podemos encerrar o chamado?
Devmedia
07/05/2009
por falta de retorno estamos mudando o status do seu chamado para concluído. caso ainda tenha dúvidas sobre o assunto desse post, coloque aqui a sua dúvida q o consultor voltará a lhe atender.