Fórum valor integer no MessageBox #314186
24/02/2006
0
estou tentando fazer assim:
if MessageBox(0,´Foi impresso ´+PAnsiChar(Impressos)+´.Você confirma esta informação?´
+#10+10+´ATENÇÃO: Se você concordar, atualize estas informações em seu livro de registros.´
+10+10+´´SIM´ para confirmar.´
+10+´´Não´ para cancelar.´,´Pergunta´,mb_yesno+mb_iconquestion)=6 then
begin
end else
end;
grato!
r@mos
Erivando
Curtir tópico
+ 0Posts
24/02/2006
Motta
Gostei + 0
24/02/2006
Erivando
amigo isso já fiz e faço constantemente, mas dar erro sempre!
....?
Gostei + 0
24/02/2006
Rjun
var msg: string; begin msg := ´Foi impresso ¬d. coloque aqui o resto da mensagem´; msg := Format(msg, [Impressos]); if MessageBox(0, msg ,´Pergunta´,mb_yesno+mb_iconquestion) = 6 then begin end; end;
Gostei + 0
24/02/2006
Erivando
var msg: string; begin msg := ´Foi impresso ¬d. coloque aqui o resto da mensagem´; msg := Format(msg, [Impressos]); if MessageBox(0, msg ,´Pergunta´,mb_yesno+mb_iconquestion) = 6 then begin end; end; Amigo Rjun, continua o mesmo erro, porque eu quero inserir éum valor inteber e não uma string. ?
Gostei + 0
24/02/2006
Rjun
Executei o seguinte código aqui e funcionou sem problemas.
var Msg: string; begin Msg := ´Foram impressos ¬d cupons.´; Msg := Format(Msg, [10]); MessageBox(0, PAnsiChar(Msg), ´Aviso´, mb_ok); end;
Gostei + 0
24/02/2006
Michael
[quote:7687862c1d=´Borland/Microsoft´]IDOK = 1;
ID_OK = IDOK;
IDCANCEL = 2;
ID_CANCEL = IDCANCEL;
IDABORT = 3;
ID_ABORT = IDABORT;
IDRETRY = 4;
ID_RETRY = IDRETRY;
IDIGNORE = 5;
ID_IGNORE = IDIGNORE;
IDYES = 6;
ID_YES = IDYES;
IDNO = 7;
ID_NO = IDNO;
IDCLOSE = 8;
ID_CLOSE = IDCLOSE;
IDHELP = 9;
ID_HELP = IDHELP;
IDTRYAGAIN = 10;
IDCONTINUE = 11;[/quote:7687862c1d]
[]´s
Gostei + 0
24/02/2006
Erivando
var Msg: string; begin Msg := ´Foram impressos ¬d cupons.´; Msg := Format(Msg, [10]); MessageBox(0, PAnsiChar(Msg), ´Aviso´, mb_ok); end;
oi Rjun
agora não deu erro mais não , mas quando faço executar a mensagem não acontece nada,
usei assim no Button:
procedure TFrmCertificado.Button1Click(Sender: TObject);
var
Msg: string;
begin
Msg := ´Foram impressos ¬d cupons.´;
Msg := Format(Msg, [10]);
MessageBox(0, PAnsiChar(Impressos), ´Aviso´, mb_ok);
end;
obs: (impressos) é o meu resultado integer.
Grato!
Gostei + 0
24/02/2006
Rjun
Coloquei alguns comentários no código.
procedure TFrmCertificado.Button1Click(Sender: TObject); var Msg: string; begin Msg := ´Foram impressos ¬d cupons.´; // O ´10´ era só um exemplo. Você deve colocar sua variável Impressos. Msg := Format(Msg, [Impressos]); // Troque Impressos por Msg. Você deve colocar a mensagem a ser // exibida. MessageBox(0, PAnsiChar(Msg), ´Aviso´, mb_ok); end;
Gostei + 0
24/02/2006
Erivando
[]´s[/quote:f76a56bab4]
Amigo Michael
mas assim as mensagens não sai em português não é isto!?
r@mos
Gostei + 0
24/02/2006
Michael
A API do Windows [b:520c0190f2]MessageBox [/b:520c0190f2]- que está encapsulada pelo método [b:520c0190f2]MessageBox [/b:520c0190f2]da classe [b:520c0190f2]TApplication [/b:520c0190f2]- usa as mensagens do sistema operacional. Portanto, só serão em inglês se o Windows onde o programa rodar for. Vc está confundindo esta função com a do Delphi, [b:520c0190f2]MessageDlg[/b:520c0190f2]. Essa por default exibe os captions em inglês, mas podem ser alterados no arquivo [b:520c0190f2]Const.pas[/b:520c0190f2].
Mas, a minha dica não tem nada a ver com isso. São constantes para vc não precisar fazer o que estava fazendo. Com elas vc pode trocar 6 por [b:520c0190f2]ID_YES[/b:520c0190f2], que é bem mais intuitivo, não acha?
if Application.MessageBox(...) = ID_YES then ...
[]´s
Gostei + 0
24/02/2006
Erivando
A API do Windows [b:bb78ffa599]MessageBox [/b:bb78ffa599]- que está encapsulada pelo método [b:bb78ffa599]MessageBox [/b:bb78ffa599]da classe [b:bb78ffa599]TApplication [/b:bb78ffa599]- usa as mensagens do sistema operacional. Portanto, só serão em inglês se o Windows onde o programa rodar for. Vc está confundindo esta função com a do Delphi, [b:bb78ffa599]MessageDlg[/b:bb78ffa599]. Essa por default exibe os captions em inglês, mas podem ser alterados no arquivo [b:bb78ffa599]Const.pas[/b:bb78ffa599].
Mas, a minha dica não tem nada a ver com isso. São constantes para vc não precisar fazer o que estava fazendo. Com elas vc pode trocar 6 por [b:bb78ffa599]ID_YES[/b:bb78ffa599], que é bem mais intuitivo, não acha?
if Application.MessageBox(...) = ID_YES then ...
[]´s[/quote:bb78ffa599]
om cereteza Michael compeendi perfeitamente, obrigado!
Gostei + 0
24/02/2006
Erivando
procedure TFrmCertificado.Button1Click(Sender: TObject); var Msg: string; begin Msg := ´Foram impressos ¬d cupons.´; // O ´10´ era só um exemplo. Você deve colocar sua variável Impressos. Msg := Format(Msg, [Impressos]); // Troque Impressos por Msg. Você deve colocar a mensagem a ser // exibida. MessageBox(0, PAnsiChar(Msg), ´Aviso´, mb_ok); end;
Muito Obrigado Rjun, graças a você consegui resolver meu problema
ajustei o código ao que eu queria e deu tudo certo agora.
eu fiz assim e ficou show!
procedure TFrmCertificado.Btn_ImprimirClick(Sender: TObject);
var
Msg: string;
begin
Msg := ´Foi impresso(s) ¬d certificado(s). Você confirma esta informação?´
+#10+10+´ATENÇÃO: Se você concordar, atualize estas informações em seu livro de registros.´
+10+10+´´Sim´ para confirmar.´
+10+´´Não´ para cancelar.´;
Msg := Format(Msg, [Impressos]);
if MessageBox(0, PAnsiChar(Msg),´Pergunta´,mb_yesno+mb_iconquestion)= 6 then
begin
...
end else
...
end;
valeu!
r@mos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)