showmessage com os botões de yes e no mas, como sim e não
preciso fazer um showmessage com os botões de sim e não de forma que se o usuario clicar em sim ele execute uma função e se clicar em não execute outra função.
T+ pessoal
T+ pessoal
Machado
Curtidas 0
Respostas
Abueno_silva
19/08/2003
Você pode utilizar o messagebox do application:
if Application.MessageBox(´<sua mensagem>´,´<titulo do box>´,mb_yesno + mb_iconquestion) = id_yes then
Begin
comandos para sim
End
else
Begin
comandos para nao
End;
if Application.MessageBox(´<sua mensagem>´,´<titulo do box>´,mb_yesno + mb_iconquestion) = id_yes then
Begin
comandos para sim
End
else
Begin
comandos para nao
End;
GOSTEI 0
Machado
19/08/2003
Ok assim como você passou funciona mas, eu queria entender o porque do ´if Application´.
Existe outra forma?
Existe outra forma?
GOSTEI 0
Bacalhau
19/08/2003
No site da borland (www.borland.com) existem os downloads das units CONTROL e DBCONTROL, responsáveis pela língua utilizada nesses diálogos.
Faz o dowload, edita essas units e verás que podem ser traduzidas muito mais mensagens do que as que perguntas.
Traduzes tudo o que quiseres, compilas os teus projectos com essas units e farás os teus clientes felizes para sempre
abraço do bacalhau
Faz o dowload, edita essas units e verás que podem ser traduzidas muito mais mensagens do que as que perguntas.
Traduzes tudo o que quiseres, compilas os teus projectos com essas units e farás os teus clientes felizes para sempre
abraço do bacalhau
GOSTEI 0
Arc
19/08/2003
Caro abueno_silva:
Eu utilizo o mesmo comando indicado por vc
´if Application.MessageBox(´<sua mensagem>´,´<titulo do box>´,mb_yesno + mb_iconquestion) = id_yes´ ...
Mas como ficariam os ifs se no lugar de [i:f788494a35][b:f788494a35]mb_yesno[/b:f788494a35][/i:f788494a35] eu colocasse mb_yesnocancel ...
Abraço
Édson[/u]
Eu utilizo o mesmo comando indicado por vc
´if Application.MessageBox(´<sua mensagem>´,´<titulo do box>´,mb_yesno + mb_iconquestion) = id_yes´ ...
Mas como ficariam os ifs se no lugar de [i:f788494a35][b:f788494a35]mb_yesno[/b:f788494a35][/i:f788494a35] eu colocasse mb_yesnocancel ...
Abraço
Édson[/u]
GOSTEI 0
Rafael Heise
19/08/2003
seguinte.. Application é uma variável global da Unit Forms, para identificar a sua aplicação. Ela é criada sozinha e referencia sua aplicação. Essa variável Application é do tipo TApplication e possui diversas propriedades, eventos e procedimentos que são bem úteis... e no Help você pode ter um detalhamento maior dessa variável. Quando ao porque, é o seguinte:
Application é uma variável do tipo TApplication e a classe TApplication tem uma função chamada MessageBox que retorna um valor Cardinal, e que pode ser usadas as constantes indicando o botão clicado IDYES,YDNO,IDCANCEL e assim por diante. Quando você chama esta função e passa os parâmetros, a mensagem aparece e o resultado é o botão clicado. E por isso, é usado assim...
abraços
Application é uma variável do tipo TApplication e a classe TApplication tem uma função chamada MessageBox que retorna um valor Cardinal, e que pode ser usadas as constantes indicando o botão clicado IDYES,YDNO,IDCANCEL e assim por diante. Quando você chama esta função e passa os parâmetros, a mensagem aparece e o resultado é o botão clicado. E por isso, é usado assim...
abraços
GOSTEI 0
Bacalhau
19/08/2003
Isto são soluções tremendamente pesadas. Façam o download das units control e dbcontrol da Borland.
Não matem moscas com tanques de guerra!!
Não matem moscas com tanques de guerra!!
GOSTEI 0
Marcos Bug
19/08/2003
Aqui o código
[code]procedure btnSimClick (Sender: TObject);
[code]begin
[code] ShowMessageFmt('Titulo','Selecione a sua mensagem assim',mb_yesno + mb_iconquestion) = id_yes;
[code]end;
GOSTEI 0
Luis Fessel
19/08/2003
Revivendo em 3, 2, 1...
Desculpa ai gente mas, procurando uma coisa, achei este post. Creio que, algumas coisas não ficaram bem claras por aqui.
A vantagem de utilizar o Application.MessageBox é que, como o Rafael Heise explicou, esta é uma função do APLICATIVO e, sendo assim, os textos dos botões e mensagens que serão utilizados serão puxados do aplicativo. Este, por sinal, puxa do sistema e, com isto, você terá seus textos sempre no mesmo idioma do S.O.
Caso você queira fixar os texto num determinado idioma, faça como o Bacalhau escreveu mas, não precisa baixar de lugar nenhum. Procure ns pastas de instalação do Delphi que estão lá. E, tem outras units que também podem ser traduzidas, na mesma pasta (não me lembro agora qual é), que permitirão que você traduza TUDO no seu sistema. Lembre-se de fazer uma cópia dos arquivos antes de traduzi-los pois, depois que fizer as kakas, fica difícil corrigir.
Quando você utiliza as outras funções, que não são funções de Application, elas buscam os textos nestas units e, dessa maneira, você pode fixar os textos no idioma desejado.
Desculpa ai gente mas, procurando uma coisa, achei este post. Creio que, algumas coisas não ficaram bem claras por aqui.
A vantagem de utilizar o Application.MessageBox é que, como o Rafael Heise explicou, esta é uma função do APLICATIVO e, sendo assim, os textos dos botões e mensagens que serão utilizados serão puxados do aplicativo. Este, por sinal, puxa do sistema e, com isto, você terá seus textos sempre no mesmo idioma do S.O.
Caso você queira fixar os texto num determinado idioma, faça como o Bacalhau escreveu mas, não precisa baixar de lugar nenhum. Procure ns pastas de instalação do Delphi que estão lá. E, tem outras units que também podem ser traduzidas, na mesma pasta (não me lembro agora qual é), que permitirão que você traduza TUDO no seu sistema. Lembre-se de fazer uma cópia dos arquivos antes de traduzi-los pois, depois que fizer as kakas, fica difícil corrigir.
Quando você utiliza as outras funções, que não são funções de Application, elas buscam os textos nestas units e, dessa maneira, você pode fixar os textos no idioma desejado.
GOSTEI 0