Chega de "Yes" e "No" no Delphi
Quem nunca se deparou com o MessageDlg e se perguntou: Por que Yes? Neste artigo veremos de forma simples um modo de traduzir o Caption dos botões e Title do MessageDlg.
Neste artigo apresentaremos uma maneira fácil de traduzir as mensagens do MessageDlg. Para isso abra o Delphi 7 e vá em "File/New/Application", "File/Save All" ou "Shift+Ctrl+S". Na janela que aparece "Save Unit# As" salve o arquivo como uMensagem e na próxima janela "Save Project# As" - salve o arquivo como Mensagem. Clique na janela criada e em "Object Inspector" altere algumas propriedades na aba "Properties" como descrito a seguir:
Caption Mensagem no Delphi 7
Name fMensagem
Clique "Shift+Ctrl+S" para salva todas as alterações feita no projeto. Em seguida clique na aba "Events" no "Objector Inspector" como mostra a Figura 1.
Figura 1. Object Inspector
Selecione o evento OnClose e pressione "Ctrl+Enter" para irmos a nossa linha de código. Então, digite o código a seguir entre begin...end:
if MessageDlg('Deseja mesmo encerrar a aplicação?', mtConfirmation,
Veja como fica a inserção do código na Figura 2.
Figura 2. Inserção do código de mensagem
Salve a aplicação com "Shift+Ctrl+S" e execute a aplicação com "F9". Ao tentar fechar a aplicação é apresentada uma caixa de mensagem com botões "Yes, No" e Título "Confirm" em inglês como mostra a Figura 3.
Figura 3. Confirmação de encerramento da aplicação
Clique no botão "Yes" para que a aplicação encerre.
Voltando ao Delphi 7, vá em "File/Open...". Na janela que aparece, no campo "Nome do arquivo" digite "C:\Arquivos de programas\Borland\Delphi7\Source\Vcl\Consts.pas" (sem aspas). Abra então a aba com a classe "Consts", onde encontramos alguns captions da aplicação Delphi. Procure por MessageDlg para traduzi-la e compila-la. Para isso encontre a palavra "SMsgDlgConfirm" pressionando as teclas "Ctrl+F" e logo após pressionando "Enter". A tradução para os captions e títulos do MessageDlg ficará como apresentado nas Figuras 4 e 5 (fique a vontade para colocar sua própria tradução):
Figura 4. Sem tradução
Figura 5. Com tradução
Pressione as teclas "Shift+Ctrl+S" e logo após pressione as teclas "Ctrl+F9" para copilar o nosso projeto. E pressione "F9" para rodar nossa aplicação. Com aplicação já sendo executada tente fechá-la. Veja o que acontece, como mostra a Figura 6.
Figura 6. Tela de encerramento sem tradução
A mesma mensagem anterior aparece em inglês. Isso acontece, pois o Delphi não copila suas classes. O Delphi apenas procura as suas *.dcu (arquivo *.pas copilado) e anexa os dados junto com o nosso projeto. Clique em "Yes" para encerrar a aplicação.
No Delphi, vá em "File/Exit" para fechar o Delphi 7. Vá em "Iniciar/Executar...", digite "cmd" e pressione "Enter". Em seguida digite o caminho apresentado com base na instalação padrão do Delphi 7, sem alteração de caminhos: "C:\Arquivos de programas\Borland\Delphi7\Bin\DCC32.exe" "C:\Arquivos de programas\Borland\Delphi7\Source\Vcl\Consts.pas", e pressione "Enter". A tela da Figura 7 aparecerá.
Figura 7. Tela CMD
Devemos ir então a pasta de instalação do Delphi 7 e depois em ".\Source\Vcl" ("C:\Arquivos de programas\Borland\Delphi7\Source\Vcl\"). Recorte o arquivo "Consts.dcu", que está dentro desse caminho e vá até a pasta "..\..\Lib\" ("C:\Arquivos de programas\Borland\Delphi7\Lib\"). Cole o arquivo recortado ("Consts.dcu") dentro da pasta "Lib".
Na janela "Confirmar substituição de arquivo" clique no botão "Sim". Abra o Delphi 7 e o nosso projeto salvo e então pressione a tecla "F9" para rodar a nossa aplicação, e tente fechá-la novamente. Agora acontece o que nós esperávamos, como mostra a Figura 8.
Figura 8. Tela de encerramento traduzida
Clique em "Sim" para encerrar a aplicação.
É isso aí, uma maneira simples e fácil sem precisar desenvolver, para traduzir as mensagens em Delphi 7. Lembrando que todas as vezes que vocês precisarem usá-las, elas estarão em Português, deixando assim sua aplicação mais profissional.