Clique para saber mais...
  Home     Download     Produtos / Cursos     Revista     Vídeo Aulas     Fórum     Contato   Clique aqui para logar | 06 de Outubro de 2026
  Login

Codinome
Senha
Salvar informações

 Esqueci minha senha
 Novo Cadastro

  Usuários
116 Usuários Online

  Revista ActiveDelphi
 Assine Já!
 Edições
 Sobre a Revista

  Conteúdo
 Apostilas
 Artigos
 Componentes
 Dicas
 News
 Programas / Exemplos
 Vídeo Aulas

  Serviços
 Active News
 Fórum
 Produtos / Cursos

  Outros
 Colunistas
 Contato
 Top 10

  Publicidade

  [Artigos]  Correção Ortográfica no Delphi
Publicado por ActiveDelphi : Sexta, Agosto 11, 2006 - 08:47 GMT-3 (4799 leituras)
Comentários 3 Comentários   Enviar esta notícia a um amigo Enviar para um amigo   Versão para Impressão Versão para impressão
Administrador 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

Primeiramente precisamos baixar o arquivo TSpellers.zip que encontra-as em http://www.luziusschneider.com/SpellerHome.htm , é preciso também realizar o download o dicionário para português do Brasil. O arquivo chama-se ISpGaItPoSp.exe e pode ser encontrado em http://www.luziusschneider.com/Speller/English/index.htm.

Se desejar, baixe todos os arquivos e um exemplo clicando 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.

Figura 1. Componentes LS

Usando o corretor

Para construir o exemplo vou utilizar o Delphi 2006, porém sinta-se livre para utilizar a versão que você possuir.

Inicie um novo projeto do tipo VCL Forms Application. No formulário principal adicione um painel, configurando sua propriedade Align para alTop. Ao painel insira um TSpellLanguageComboBox , insira também um botão no painel, mudando seu caption para ‘Correção ortográfica’.

Ao formulário adicione um TMemo e configure a propriedade Align para alClient, e mude sua proprieda HideSelection para False. Arraste para o formulário o componente TSpellChecker. O formulário da aplicação deve se parecer com a Figura 2.

Figura 2. Exemplo de TSpellChecker

Ligue o SpellLanguageComboBox1 ao SpellChecker1 através da propridade SpellChecker. No evento onClick do botão adicione o código da Listagem 1.

Listagem 1. Evento onClick
procedure TForm1.Button1Click(Sender: TObject);
begin
    Spellchecker1.Check(Memo1);
end;


No evento onShow do formulário vamos configurar a língua padrão para o português do Brasil mudando a posição do SpellLanguageComboBox1 para 3, conforme Listagem 2.

Listagem 2. Definindo língua padrão
procedure TForm1.FormShow(Sender: TObject);
begin
  SpellLanguageComboBox1.ItemIndex := 3;
end;


Execute a aplicação, digite qualquer coisa grafada incorretamente e clique no botão “Correção Ortográfica”, você verá a tela da Figura 3.



Figura 3. 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 !
 

Paulo Roberto Quicoli

Paulo Roberto Quicoli (pauloquicoli@gmail.com) é analista e programador da Control-M Informática. Trabalha com Delphi, desde sua primeira versão, e Firebird desenvolvendo aplicações cliente-servidor. Formado em Tecnologia de Processamento de dados pela FATEC, na cidade de Taquaritinga/SP



Comentários Comentários
   Ordem:  
Comentários pertencem aos seus respectivos autores. Não somos responsáveis pelo seus conteúdos.


por: arthurzsr : Ago 22, 2006 - 09:31
(Informações sobre o membro | Enviar uma mensagem) http://
Olá! Utilizei o corretor e ele funcionou normalmente, mas só por 4 vezes. Quando reinstalo o delphi, o dicionário e a biblioteca ele volta a funcionar mais 4 vezes e depois não funciona mais. Quando tento corrigir o texto a janela de correção não aparece e a aplicação fecha sozinha. Alguém poderia me auxiliar com isso por favor? Muito obrigado.


por: Visitante : Set 22, 2006 - 11:14
Paulo, parabéns pelo artigo.
Me interessei bastante na parte da tradução da janela para o português utilizando as variáveis públicas. Gostaria de saber se você ou se algum leitor pode me ajudar na tradução da janela "CustomizeDlg", componente para configurar os menus e barra de ferramentas do Delphi.

Por exemplo, para alterar o Caption do botão Close, tentei fazer o seguinte (código no OnShow da minha aplicação):

CustomizeDlg1.CustomizeForm.CloseBtn.Caption := 'Fechar';

Mas na execução dá "Access Violation"...
  Edição 112

Revista ActiveDelphi

  50 Programas Fontes


  Produtos

Conheça Nossos Produtos

Copyright© 2001-2016 – Active Delphi – Todos os direitos reservados