Artigo Clube Delphi Edição 11 - Crie um Editor de Texto

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (1)  (0)

Artigo da Revista Clube Delphi Edição 11.

Esse artigo faz parte da revista Clube Delphi edição 11. Clique aqui para ler todos os artigos desta edição



Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.

Crie um Editor de Texto

Aprenda a programar na melhor ferramenta do mercado através de exemplos práticos

 

O objetivo deste nova coluna, voltada para iniciantes na ferramenta, é demonstrar o uso dos objetos básicos do Delphi, a criação de menus e a funcionalidade das DialogBoxes, que podem ser encontradas na palheta Dialogs.

Um exemplo bem prático, que reúne todos estes conceitos, é a construção de um editor de textos - como o WordPad do Windows.

         Para criarmos nosso novo Word, não precisaremos de mais do que um formulário - que será nosso próprio editor, contendo um menu com todas as opções .

         Para iniciar, insira um objeto MainMenu (palheta standard) no formulário. Este objeto é chamados de não-visual, pois não é exibido quando o programa é executado.

         O próximo passo é montar nossa estrutura de menus. Dê um duplo clique sobre o objeto MainMenu1, para abrir o criador de menus do Delphi.

 

 

         A primeira opção de menu, em branco, já aparece selecionada. Modifique sua propriedade Name para identificá-lo futuramente. Você também deve alterar a propriedade Caption, digitando o texto que será exibido para o usuário. Preencha de acordo com a tabela abaixo:

 

Name = MnuArquivo (Mnu é uma abreviatura para menu)

Caption = &Arquivo

 

         O caracter &, utilizado antes do caption 'Arquivo', server para sublinhar a letra 'A' no item de menu. Este recurso cria uma tecla de atalho, acionada através de ALT + letra sublinhada. Neste exemplo, se o usuário pressionar ALT+A, o menu Arquivo será aberto.

         Após configurar as propriedades, já é possível visualizar o menu com a opção 'Arquivo' dentro de nosso formulário.

 

 

         Na figura acima, você pode visualizar como é criado um menu de opções no Delphi. Para criar um menu filho de 'Arquivo', clique no menu dentro do Montador de menus do Delphi. Um submenu será automaticamente aberto.

 

 

Siga a lista abaixo e crie sete submenus para o menu 'Arquivo':

 

 

         A sigla ITM, que vem na frente do nome do menu, é apenas uma abreviatura para Item de Menu (ITM). O quarto item será utilizado como um traço de divisão dentro das opções de Menu. Este serve como divisão e organização dos menus.

 

         A estrutura completa de  Menus do nosso editor deverá ser criada de acordo com a lista abaixo:

 

 

         Em seguida, insira um objeto TrichEdit (palheta Win95), no formulário, e configure suas propriedades:

 

Name :        AreaTexto

Font :                    Times New Roman , 12, Normal , Cor Preta

Align :          alClient

Lines :         (clique duas vezes e elimine o conteúdo desta propriedade)

 

         A propriedade align, setada para  alClient, fará com que o objeto RichEdit se estenda por toda a área do Formulário, independente do seu tamanho. Por exemplo, se o formulário for maximizado, o objeto RichEdit será automaticamente redimensionado.

         Quando o usuário clicar com o botão inverso do mouse sobre o objeto Richedit, um menu flutuante será exibido, com algumas opções. Para criar este menu, insira um objeto TpopMenu (palheta standard) no form. Em seguida, configure a propriedade PopMenu, do objeto RichEdit1, setando como valor 'PopMenu1'.

 

         A criação do PopMenu (Menu de Atalho), é idêntica à criação do Menu principal. Clique duas vezes sobre o objeto PopMenu, e configure-o da seguinte forma:

 

 

 

        

         Na figura acima, você pode visualizar como ficará o PopMenu já configurado (em tempo de edição) .

         Já que progredimos bastante no projeto, salve o seu aplicativo o mais rápido possível.

         Depois de salvo, o seu projeto irá  receber as primeiras linhas de código.  Ao clicar sobre a opção 'Novo' do menu 'Arquivo', automaticamente será exibida a tela de código referente ao evento OnClick, que será executado quando o usuário clicar no menu.

          O Item Novo criará  um documento em branco. Para isto, escreva a linha de código abaixo:

        

procedure TForm1.ItmNovoClick(Sender: TObject);

begin

  AreaTexto.Clear;

end;

 

         Lembre-se que configuramos a propriedade Name do objeto RichEdit para AreaTexto. Isto significa que o objeto de nome AreaTexto executará o método Clear (Apagar). Caso prefira, você pode colocar um comentário ao lado da linha de código, para, no futuro, lembrar o  seu significado.

 

procedure TForm1.ItmNovoClick(Sender: TObject);

begin

    AreaTexto.clear ;

  // Apagará todo o conteúdo da area de texto do editor.

end;

 

         Para iniciar a construção dos menus 'Abrir' e 'Salvar', insira um objeto TopenDialog e um TsaveDialog, ambos da palheta Dialogs. Configure suas propriedades de acordo com a tabela abaixo:

 

TopenDialog

Name:   OpenDialog1

Filter:    *.RTF|*.RTF|*.TXT|*.TXT

 

TsaveDialog

Name:             saveDialog1

Filter:   *.RTF|*.RTF|*.TXT|*.TXT

 

No item de menu 'Abrir', digite  a seguinte instrução:

 

procedure TForm1.ItmAbrirClick(Sender: TObject);

begin

if  opendialog1.execute  then

 // se objeto OpenDiaolog for executado então

Areatexto.Lines.loadFromFile (Opendialog1.filename);

// Objeto AreaTexto na propriedade Lines através do método loadfromfile

// (carregar do arquivo) irá receber como parâmetro o documento escolhido pelo usuário

end;

 

         Este código utiliza o comando IF para verificar se o objeto OpenDialog1 foi executado e se usuário confirmou a janela. Caso positivo, o documento escolhido será aberto na área de texto do editor.

Para o menu Salvar, temos o código abaixo:

 

procedure TForm1.itmSalvarClick(Sender: TObject);

begin

   if  SaveDialog1.execute  then

   // Se o objeto Save Dialog1 for executado então

   AreaTexto.Lines.SaveToFile (SaveDialog1.filename);

  // Objeto AreaTexto na propriedade Lines através do método SaveToFile

  // (SalvaArquivo) irá receber como parâmetro um nome de documento  escolhido pelo usuário.

end;

 

Menu Editar - Recortar:

 

procedure TForm1.itmCutClick(Sender: TObject);

begin

AreaTexto.CutToClipBoard;

// recorta o texto selecionado para a área de transferência

end;

 

Menu Editar - Copiar:

 

procedure TForm1.itmCopyClick(Sender: TObject);

begin

AreaTexto.CopyToClipBoard;

// copia o texto selecionado para a área de transferência

End;

 

Menu Editar -  Colar:

 

procedure TForm1.itmPasteClick(Sender: TObject);

begin

AreaTexto.PasteFromClipBoard;

// Cola o texto selecionado para a área de transferência

End;

 

Menu Sair:

 

procedure TForm1.itmSairClick(Sender: TObject);

begin

close; // fechar aplicação

End;

 

         Como exercício, implemente o código das opções do menu flutuante (popmenu). No site do ClubeDelphi (, na seção Primeiros Passos, é possível acessar a segunda parte desta matéria, onde alguns recursos mais rebuscados são inseridos. Lá também é possível baixar o aplicativo completo.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?