Como criar um corretor ortográfico no Delphi?

Em sistemas onde o usuário precisar digitar textos como observações, emails um diferencial para a aplicação seria que o texto pudesse ser corrigido ortograficamente. Então você pode se perguntar... como faço isso ?

A resposta é: Speller

O Speller é um componente não visual que poder adicionar o recurso de correção ortográfica a qualquer aplicação. O dicionário utilizado é o ISpell, que é free.

Instalando o Speller

Corretor ortográfico Delphi em ação
Figura 1. Configuração do Speller.

Primeiramente precisamos baixar o arquivo TSpellers.zip, é preciso também realizar o download o dicionário para português do Brasil. O arquivo chama-se ISpGaItPoSp.exe e pode ser encontrado aqui.

Instale o dicionário antes de instalar o componente.

Para instalar o componente siga os passos:

  1. Descompacte o arquivo, a pasta TSpellers será criada.
  2. Adicione o caminho da pasta no Library do Delphi, indo em Tools > Environment Option > Library.
  3. No delphi, abra o pacote de runtime SpellersRT7.dpk, veja que existe um para cada versão de delphi, e compilo o pacote.
  4. Faça o mesmo para o pacote de design, chamado SpellersD6.dpk, veja que também possui um para cada versão do delphi, compile o pacote e então clique em Install.

Será adicionada à paleta de componentes uma guia LS contento dois componentes, SpellChecker e SpeelLanguageComboBox, conforme visto na Figura 1.

Corretor ortográfico Delphi em ação
Figura 2. Corretor em ação.

Melhorando o visual

Veja que a janela de correção (Figura 3) está toda em inglês. Existe a possibilidade de traduzi-la para o português. O TSpellChecker oferece algumas variáveis públicas que podem ser alteradas durante execução e só são utilizadas quando a propriedade UserLanguage é configurada para ulOther.

Adicione o código da Listagem 3 no evento onCreate do formulário e execute a aplicação e você que agora tudo foi traduzido.

Listagem 3. Traduzindo

procedure TForm1.FormCreate(Sender: TObject);

begin

  spOVariants := '&Variantes';

  spODelete := '&Deletar';

  spOChange := '&Alterar';

  spOChangeAll := 'Alterar &Todas';

  spOSkip := '&Ignorar';

  spOSkipAll := 'I&gnorar Todas';

  spOAdd := 'In&cluir';

  spOCancel := 'Ca&ncelar';

  spOCancelEdit := 'Desfa&zer Edição';

  spONotFound := 'Palavra desconhecida';

  spOHyphen := 'Hifenização incorreta';

  spOCaps := 'Erro em Maiúsculas';

  spOAbbrev := 'Possivel abreviação';

  spONoSentenceCap := 'Erro em maíusculas da sentença';

  spOExtraSpaces := 'Espaços extras';

  spOMissingSpace := 'Falta de espaço';

  spOInitialNumeral := 'Numerais no início da palavra';

  spORepeatedWord := 'Palavra repetida';

  spOFinish := 'Correção ortográfica concluida';

  spOFinishCaption:= 'Mensagem';

  spOCaption := 'Verificando — %s';

  spOError := 'Erro de verificação No %d';

  spOErrorLoad := 'Erro ao carregar DLL %s';

  spOErrorUnload := 'Erro ao descarregar DLL %s';

  spOErrorNoSpellChecker := 'Idioma %s não instalado';

  spOStart := 'Iniciar';

  Spellchecker1.UserLanguage := ulOther;

end;
Conclusão

Esta aí uma ferramenta simples, fácil de usar e que pode agregar algum diferencial em suas aplicações. Até a próxima!

Saiu na DevMedia!

  • Autenticação em Aplicações Web:
    Tornar algumas páginas acessíveis apenas a um grupo de usuários autenticados é uma tarefa trivial em aplicações web. Existem diferentes frameworks para isso, mas a maioria deles cobre desde o cadastro até as credenciais, passando pela autenticação e controle de acesso.
  • React com Redux:
    O Redux atende as necessidades de pelo menos um cenário comum em aplicações cliente, facilitando a comunicação entre componentes sem acoplá-los. Sua importância é tanta atualmente que muitos programadores têm aconselhado seu uso independente do tamanho da aplicação, embora ele facilite o seu crescimento.

Saiba mais sobre Delphi ;)

  • Guia de Estudos Delphi:
    Aqui você encontra os Guias de estudo da linguagem Delphi. Descubra como dominar o Delphi, desde o recurso mais básico ao mais avançado. Escolha o seu!
  • Programador Delphi:
    Neste guia de estudos você encontra os conteúdos que precisará para se tornar um programador Delphi completo. Confira a sequência de cursos e exemplos que te guiarão do básico ao avançado em Delphi.