Res: [delphi-br] showMessage
Sim voce pode criar o seu dialogo personalizado utilizando uma função base (verifique implementação de MessageDLG) e incluir um timer na mesma, assim quando o timer estourar a janela é fechada. Internamente MessageDLG chama a função 'CreateMessageDialog', voce pode seguir a mesma lógica e incluir um TTimer na criação da sua janela personalizada. Veja unit Dialogs, por volta da linha 1700. Atenc; Elazar De: brunolbra...@yahoo.com.br brunolbra...@yahoo.com.br Para: delphi-br@yahoogrupos.com.br Enviadas: Terça-feira, 11 de Agosto de 2009 15:55:16 Assunto: [delphi-br] showMessage Boa tarde! Seguinte... se eu dou o comando: showMessage( 'Teste'); o delphi exibe uma caixa com a msg: Teste na tela e essa msg só sai depois que alguém pressionar em OK. Tem como eu fazer algum comando para essa msg sair automaticamente? 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]
RES: [delphi-br] showMessage
Eu mesmo! Sds. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de EmbarcaDelphi Enviada em: terça-feira, 11 de agosto de 2009 15:10 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] showMessage Se não me engano, essa function foi desenvolvida pelo Rubem, copie e cole: function MessageBoxTimer(const AMsg, ATitle: String; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; MSecs: Cardinal = 0; ShowProgressBar: Boolean = True) : integer; var lMsgDialog: TForm; lTimerMethod: TNotifyEvent; procedure UpdateProgressBar(Data: Pointer; Sender: TObject); var lForm: TForm; lProgressBar: TProgressBar; begin if Sender is TTimer then if TTimer(Sender).Owner is TForm then begin lForm := TForm(TTimer(Sender).Owner); lProgressBar := TProgressBar(lForm.FindComponent('ProgressBar')); if Assigned(lProgressBar) then if lProgressBar.Position + 1 lProgressBar.Max then lProgressBar.StepIt else lForm.ModalResult := mrCancel; end; end; procedure TranslateCaptionButtons; const AButtonNames: array[TMsgDlgBtn] of String = ('YES', 'NO', 'OK', 'CANCEL', 'ABORT', 'RETRY', 'IGNORE', 'ALL', 'NOTOALL', 'YESTOALL', 'HELP'); AButtonCaptions: array[TMsgDlgBtn] of String = ('Sim', 'Não', 'Ok', 'Cancelar', 'Abortar', 'Retentar', 'Ignorar', 'Tudo', 'Não a Tudo', 'Sim a Tudo', 'Ajuda'); var lBtnType: TMsgDlgBtn; lButton: TButton; begin for lBtnType := Low(TMsgDlgBtn) to High(TMsgDlgBtn) do begin lButton := TButton(lMsgDialog.FindComponent(AButtonNames[lBtnType])); if Assigned(lButton) then lButton.Caption := AButtonCaptions[lBtnType]; end; end; begin // Cria a caixa de diálogo lMsgDialog := CreateMessageDialog(AMsg, DlgType, Buttons); lMsgDialog.Caption := ATitle; // Traduz botões existentes no diálogo TranslateCaptionButtons; // Checa se será necessário uma barra de progresso if MSecs 0 then begin with TProgressBar.Create(lMsgDialog) do begin Name := 'ProgressBar'; Parent := lMsgDialog; Align := alBottom; Max := MSecs div 1000; Min := 0; Step := 1; Position := 0; Visible := ShowProgressBar; end; lMsgDialog.Height := lMsgDialog.Height + (Ord(ShowProgressBar) * 10); with TTimer.Create(lMsgDialog) do begin Name := 'MsgTimer'; Interval := 1000; end; // Cria o timer, usando uma rotina 'solta' (stand-alone, desvinculada de // uma instância de objeto) para fazer o trabalho de atualização da barra // de progressão (caso exista) e também o tempo que será contado para // fechar a janela TMethod(lTimerMethod).Code := Addr(UpdateProgressBar); TMethod(lTimerMethod).Data := lMsgDialog.FindComponent('MsgTimer'); TTimer(lMsgDialog.FindComponent('MsgTimer')).OnTimer := lTimerMethod; try // Chama a caixa de diálogo e verifica o seu retorno Result := lMsgDialog.ShowModal; finally lMsgDialog.Free; end; end; end; blz brunolbra...@yahoo.com.br mailto:brunolbrasil%40yahoo.com.br escreveu: Boa tarde! Seguinte... se eu dou o comando: showMessage('Teste'); o delphi exibe uma caixa com a msg: Teste na tela e essa msg só sai depois que alguém pressionar em OK. Tem como eu fazer algum comando para essa msg sair automaticamente? Obrigado! . [As partes desta mensagem que não continham texto foram removidas]
Res: [delphi-br] showMessage
eu não quero personalizar a caixa de diálogo. eu só preciso fechar ela via comando ao invés de alguém clicar em ok. Será que tem como? Um abraço! ---Mensagem original--- De: Elazar Dornelles Ceza Data: 11/08/2009 16:18:56 Para: delphi-br@yahoogrupos.com.br Assunto: Res: [delphi-br] showMessage Sim voce pode criar o seu dialogo personalizado utilizando uma função base (verifique implementação de MessageDLG) e incluir um timer na mesma, assim quando o timer estourar a janela é fechada. Internamente MessageDLG chama a função 'CreateMessageDialog', voce pode seguir a mesma lógica e incluir um TTimer na criação da sua janela personalizada. Veja unit Dialogs, por volta da linha 1700. Atenc; Elazar De: brunolbra...@yahoo.com.br brunolbra...@yahoo.com.br Para: delphi-br@yahoogrupos.com.br Enviadas: Terça-feira, 11 de Agosto de 2009 15:55:16 Assunto: [delphi-br] showMessage Boa tarde! Seguinte... se eu dou o comando: showMessage( 'Teste'); o delphi exibe uma caixa com a msg: Teste na tela e essa msg só sai depois que alguém pressionar em OK. Tem como eu fazer algum comando para essa msg sair automaticamente? 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] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] ShowMessage('NAO FUNCIONA');
Veja se não esquece mais! A pior coisa é desenvolvedor esquecendo até como faz loop! Application.ProcessMessages Sds. De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em nome de wa...@oi.com.br Enviada em: quarta-feira, 6 de maio de 2009 09:36 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] ShowMessage('NAO FUNCIONA'); Pessoal, vcs já me ajudaram antes, mas não estou me lembrando e estou longe do meu computador principal. Para que ShowMessage funcione em threads, for e whiles, tenho que colocar antes uma chamada de um método que não me lembro agora, Algo como Appication. não sei se é por ai. Me ajudem a refrescar a velha memória, Sds Roberto -- Na Oi Internet você ganha ou ganha. Além de acesso grátis com qualidade, você pode ter contas ilimitadas de email com 1 giga cada uma, suporte grátis e muito mais. Baixe grátis o Discador Oi em http://www.oi.com.br/discador e comece a ganhar. Agora, se o seu negócio é voar alto na internet, assine Oi Internet Banda Larga e ganhe o modem grátis. Clique em http://www.oi.com.br/bandalarga e aproveite essa moleza! [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Showmessage com aplicacao minimizada
Parabéns por ter conseguido usar o TTimer. Tenta usar esse comando para forçar restaurar a aplicação minimizada. Application.restore; (acho que eh isso) De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Icaro Ferreira Enviada em: terça-feira, 18 de dezembro de 2007 14:26 Para: delphi br Assunto: [delphi-br] Showmessage com aplicacao minimizada Boa tarde!! Estou com um sistema minimizado ... coloco no TTimer q de 5 em 5 faz uma busca no banco verificando se tem uma Ordem de servico pra determinado usuario logado no momento.. se tiver um OS quero que apeca uma menssagem dizendo q ha uma OS .. mas o problema é que se o programa estiver minimizado a mensagem só aparece qdo o programa é restaurado .. tem jeito dessa menssagem aparecer imediatamente msm com o sistema minimizado Obrigado Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] showmessage
Declara a dialogs na clausula Uses da unit []s Walter Alves Chagas Junior Projeto e desenvolvimento Telemont Engenharia de telecomunicações Belo Horizonte - MG - Brazil [EMAIL PROTECTED] Fone: (31) 3389-8215 Fax: (31) 3389-8200 -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Cícero Enviada em: quarta-feira, 28 de setembro de 2005 16:10 Para: Listadelphi (E-mail) Assunto: [delphi-br] showmessage Mudeu agora para delphi7 com XP. Olha que mensagem de erro conviencente... [Error] adoconnection1.pas(44): Undeclared identifier: 'showmessage' showmessage('minha mensagem'); nao funciona.,. e agora. -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] ShowMessage
Se eu não tiver enganado tente assim: Essa ação não é válida + #13 + Tente novamente mais tarde, + #13 + ou procure o administrador. Ricardo Santos _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rodrigo Tognin Enviada em: quarta-feira, 6 de julho de 2005 14:25 Para: Delphi-Br Assunto: [delphi-br] ShowMessage Boa tarde. Tem como mandar mais de uma linha para o ShowMessage? Por exemplo: Essa ação não é válida. Tente novamente mais tarde, ou procure o administrador. Tem algum comando para pular linhas no ShowMessage? Obrigado Rodrigo Tognin Estudante e estagiário Técnico em informática ESALQ/USP - IPEF -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] _ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do http://br.yahoo.com/info/utos.html Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] ShowMessage
Na mosca!!! Obrigado! Mas perguntando mais uma coisa: Em um cadastro de clientes, alguns campos são obrigatórios... E, antes de gravar, serão verificado os campos que faltam. Gostaria de fazer aparecer os campos que não foram preenchidos. Na lógica ficaria assim: Exibe_mensagem 'Os seguintes campos faltam ser preenchidos:' + #pula_linha + Se (nome = '') Então Exibe_Mensagem 'Nome' + #pula_linha + Se (endereco = '') Então Exibe_Mensagem 'Endereço' E assim por diante. Se tiver um jeito melhor, gostaria de saber. Obrigado! Rodrigo Tognin -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Ricardo (Yahoo) Enviada em: quarta-feira, 6 de julho de 2005 14:33 Para: delphi-br@yahoogrupos.com.br Assunto: RES: [delphi-br] ShowMessage Se eu não tiver enganado tente assim: Essa ação não é válida + #13 + Tente novamente mais tarde, + #13 + ou procure o administrador. Ricardo Santos _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rodrigo Tognin Enviada em: quarta-feira, 6 de julho de 2005 14:25 Para: Delphi-Br Assunto: [delphi-br] ShowMessage Boa tarde. Tem como mandar mais de uma linha para o ShowMessage? Por exemplo: Essa ação não é válida. Tente novamente mais tarde, ou procure o administrador. Tem algum comando para pular linhas no ShowMessage? Obrigado Rodrigo Tognin Estudante e estagiário Técnico em informática ESALQ/USP - IPEF -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] _ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do http://br.yahoo.com/info/utos.html Yahoo!. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] ShowMessage
YES 'Essa ação não é válida.' + #$0a + #$0d + 'Tente novamente mais tarde,' + #$0a + #$0d + ' ou procure o administrador.' []s Walter Alves Chagas Junior Projeto e desenvolvimento Telemont Engenharia de telecomunicações Belo Horizonte - MG - Brazil [EMAIL PROTECTED] Fone: (31) 3389-8215 Fax: (31) 3389-8200 -Mensagem original- De: Rodrigo Tognin [mailto:[EMAIL PROTECTED] Enviada em: quarta-feira, 6 de julho de 2005 14:25 Para: Delphi-Br Assunto: [delphi-br] ShowMessage Boa tarde. Tem como mandar mais de uma linha para o ShowMessage? Por exemplo: Essa ação não é válida. Tente novamente mais tarde, ou procure o administrador. Tem algum comando para pular linhas no ShowMessage? Obrigado Rodrigo Tognin Estudante e estagiário Técnico em informática ESALQ/USP - IPEF -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] ShowMessage
Eu estava pensando em fazer o seguinte: ShowMessage ('Os campos selecionados são obrigatórios'); Daí troca a cor do funto dos campos If nome.text = '' Then Nome.color = clSilver; If endereco.text = '' Then endereco.color = clSilver; E assim por diante, por que até facilita para o usuávio ver os campos que estão faltando... Acho que vou adotar essa opção para meu sistema. Obrigado pela ajuda daqueles que ajudaram! Rodrigo Tognin -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Paulo Cesar Rohleder Enviada em: quarta-feira, 6 de julho de 2005 15:56 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] ShowMessage POR FALAR NISSO...ALGUÉM SABE MESMO UMA MANEIRA BEM PRÁTICA DE FAZER ISSO??? OU QUAL MELHOR MANEIRA -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [delphi-br] ShowMessage
Perdoe-me, mas não acho que isso seja uma boa prática! Se ele deixar de preencher vários campos, você listará todos eles imaginando que o usuário irá guardar isso na memória? Doce engano!!! Ele guardará alguns poucos e olhe lá. O correto é você dar a mensagem para o primeiro campo obrigatório não preenchido que encontrar. Se ele preencher esse que faltava e esquecer os outros, vá enviando uma à uma as mensagens até que todos os campos obrigatórios tenham sido preenchidos. Ex.: Bolando uma função para isso // Verifica se existem dados no componente passado como parâmetro. Function VerificaPreenchimento(Componente: TComponent): Boolean; Var Mascara, Texto: String; Begin Result := False; // Se for um TEdit, TComboBox, TCheckBox ou TRadioGroup // e não estiverem vazios... If ( (Componente is TEdit ) and (TEdit(Componente).Text '' )) or ( (Componente is TComboBox ) and (TComboBox(Componente).Text '' )) or ( (Componente is TCheckBox ) and (TCheckBox(Componente).Checked )) or ( (Componente is TRadioGroup ) and ( TRadioGroup(Componente).ItemIndex = 0 )) or ( (Componente is TSincComboBox ) and (TSincComboBox(Componente).ItemIndex = 0 )) then Result := True; // Se o componente for um TMaskEdit e não estiver vazio... If (Componente is TMaskEdit) then Begin // Recupera a máscara contida no componente. Mascara := TMaskEdit(Componente).EditMask; // Retira a máscara do componente. TMaskEdit(Componente).EditMask := ''; // Recupera o texto do TMaskEdit (sem a máscara). Texto := TMaskEdit(Componente).Text; // Repõe a máscara no componente. TMaskEdit(Componente).EditMask := Mascara; // Verifica se o TMaskEdit está vazio. If (Texto '') Then Result := True; End; End; Utilizando a função (exemplo simples): If VerificaPreenchimento(edt_matricula) Then Begin oFuncionario.Matricula := edt_matricula.Text; End Else Begin ShowMessage('A Matrícula do Funcionário não foi preenchida.'); edt_matricula.SetFocus; End; Espero ter ajudado! Sds, Romario Rodrigo Tognin escreveu: Na mosca!!! Obrigado! Mas perguntando mais uma coisa: Em um cadastro de clientes, alguns campos são obrigatórios... E, antes de gravar, serão verificado os campos que faltam. Gostaria de fazer aparecer os campos que não foram preenchidos. Na lógica ficaria assim: Exibe_mensagem 'Os seguintes campos faltam ser preenchidos:' + #pula_linha + Se (nome = '') Então Exibe_Mensagem 'Nome' + #pula_linha + Se (endereco = '') Então Exibe_Mensagem 'Endereço' E assim por diante. Se tiver um jeito melhor, gostaria de saber. Obrigado! Rodrigo Tognin ___ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.yahoo.com/ -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html