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.
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
Pergunta
Maryllene
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.
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
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.