Ir para conteúdo
Fórum Script Brasil
  • 0

Correção Ortográfica No Delphi


Maryllene

Pergunta

Olá pessoal,

Sou participante de outros fóruns de Delphi e encontrei esta dica e achei válido postar aqui pra todos nós.

Ainda não testei, mas espero que alguém possa fazê-lo e dar opiniões sobre o assunto.

Atenciosamente

Maryllene

*****************************************************************************************

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.

Corretor1.jpg

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.

Corretor2.jpg

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.

Corretor3.jpg

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

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...