Programa Bloco de Notas

Olá galera, tudo certo?

No post de hoje vamos fazer um bloco de notas no Lazarus.

Vamos começar!

O nosso próximo projeto será um editor de texto simples do tipo caractere, com ele poderemos alterar o tipo e tamanho da fonte utilizada em todo o texto, recortar, colar e copiar partes selecionadas, salvar e abrir nosso texto utilizando as caixas de diálogo padrão fornecidas pelo Delphi.

Monte o formulário conforme o exemplo:

Defina a propriedade Align do componente Memo como alCliente. Esta propriedade faz com que o Memo ocupe toda a área do cliente do formulário, mesmo que ele seja redimensionado.

 

O Delphi possui componentes visíveis e não visíveis. Os componentes visíveis são aqueles que durante a execução do programa são vistos pelo usuário. Até aqui todos os componentes que trabalhamos são visíveis, como TEdit, TButton, TForm e outros.

Os componentes não visíveis, não aparecem na janela do usuário em tempo de execução.
São eles, Timer, Menus, Caixas de diálogo comuns e controle de acesso a dados.

O nosso exemplo de Bloco de Notas, usará um menu e quatro caixas de diálogo.

Para começar a editar o menu, dê um duplo clique no controle MainMenu que está dentro do formulário, para que a janela Menu Designer apareça.

Vá até a janela Object Inspector e mude a propriedade Caption para &Arquivo e pressione Enter – para acesso via teclado, usamos o “&” comercial antes da letra que queremos que seja o atalho. Este procedimento, cria o menu Arquivo e move a barra de destaque para o lado, dê um clique logo abaixo da opção Arquivo inserindo um item deste menu. Repare que o Delphi coloca um nome para este menu baseado na propriedade Caption, neste caso Name:=Arquivo.

 

Monte as demais opções do nosso menu seguindo a janela Menu Designer mostrada abaixo. Para criar um separador no menu, digite apenas um sinal de menos ( – ) na propriedade Caption do item abaixo de Salvar.

Terminado o menu Arquivo, inicie o menu Editar, como segue abaixo. Defina as teclas de atalho na propriedade ShortCut dos itens de menu.

Quando chegarmos ao item Formatar Fonte…, vamos criar um submenu, basta você clicar ao lado onde está escrito “Adicionar submenu”, e colocar os nomes conforme o exemplo abaixo, lembrem de alterar o Caption.

Feche a Menu Designer, voltando ao formulário principal. Insira nele as caixas de diálogo que irão formatar a fonte exibida no componente Memo, e as caixas que irão operar com o disco (HD). Os componentes destas caixas estão na paleta Dialogs do Delphi.

Pode ser adicionado os itens que eu mostrei aqui acima.

Acabamos de desenhar o nosso formulário, colocando todos os componentes a ele pertencentes. Os visíveis e os não visíveis. Mesmo os componentes não visíveis estando em cima do Memo, não atrapalharão a apresentação do texto.

Salve seu trabalho para darmos início à construção do código.

As caixas de diálogo são mostradas através do método Execute. Este método responde True se o usuário selecionou Ok, indicando que o programa deverá responder às alterações da caixa de diálogo exibida. Se o usuário não quiser efetuar as mudanças, será retornado False.

Dê um clique no item Novo do menu, para chamar o procedimento associado. Este procedimento irá limpar a caixa Memo1 e desabilitar as opções de edição do texto. Estas opções estarão desabilitadas até que se tenha um texto para Recortar, Copiar ou Colar.
Siga o código mostrado a seguir:


Novo

procedure TForm1.NovoClick(Sender: TObject);
begin
   Memo1.Clear;
   Recortar1.Enabled:=False;
   Copiar1.Enabled:=False;
   Colar1.Enabled:=False;
end;

A opção Abrir trabalhará com a caixa de diálogo OpenDialog, verificando o valor retornado por Execute e carregando o conteúdo do arquivo selecionado, na propriedade Lines do objeto Memo.

procedure TForm1.AbrirClick(Sender: TObject);
begin
  if OpenDialog1.Execute then
    Memo1.Lines.LoadFromFile(OpenDialog1.Filename);
end;

Digite o código para as outras caixas de diálogo. Elas trabalham alterando as propriedades do Memo após as mudanças realizadas pelo usuário.

procedure TForm1.SalvarClick(Sender: TObject);
begin
  if SaveDialog1.Execute then
    Memo1.Lines.SaveToFile(SaveDialog1.Filename);
end; 

procedure TForm1.Fonte1Click(Sender: TObject);
begin
  FontDialog1.Font:=Memo1.Font;
    if FontDialog1.Execute then
      Memo1.Font:=FontDialog1.Font;
end; 
procedure TForm1.Cor1Click(Sender: TObject);
begin
  ColorDialog1.Color:=Memo1.Color;
    if ColorDialog1.Execute then
      Memo1.Font.Color:=ColorDialog1.Color;
end;

Quando o programa começa a ser executado, o evento OnCreat ocorre com o Formulário, no  procedimento deste evento, iremos apagar o conteúdo do Memo e desabilitar as opções do menu Editar.

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Clear;
 Recortar1.Enabled:=False;
 Copiar1.Enabled:=False;
 Colar1.Enabled:=False;
end;

 

As opções Recortar e Copiar do menu Editar, estarão ativas assim que o Memo contiver algum texto. Cada vez que ocorre uma mudança no Memo, o evento OnChange é gerado.

procedure TForm1.Memo1Change(Sender: TObject);
begin
  Recortar1.Enabled:=True;
    Copiar1.Enabled:=True;
end;

Os recursos de Recortar, Colar e Copiar utilizam o objeto TClipBoard. Com ele nós usamos a área de transferência do Windows e podemos trocar informação entre programas.

O objeto TMemo possui métodos próprios de trabalhar com o Clipboard, eles estão nos  procedimentos para os itens do menu Editar mostrados abaixo.

procedure TForm1.Recortar1Click(Sender: TObject);
begin
  Memo1.CutToClipboard;
  Colar1.Enabled:=True; {habilita o item Colar}
end;
procedure TForm1.Copiar1Click(Sender: TObject);
begin
  Memo1.CopyToClipboard;
  Colar1.Enabled:=True;
end;
procedure TForm1.Colar1Click(Sender: TObject);
begin
  Memo1.PasteFromClipboard;
end;

As opções Negrito e Itálico, formatarão o texto e mudarão também a propriedade Checked do item no menu, indicando que elas estão selecionadas. Os procedimentos associados à negrito e itálico, trabalham juntos com o procedimento Fonte que verificará o estado das
opções alterando as propriedades da fonte do Memo.

Inicie declarando o procedimento Fonte na seção de definição do tipo TPrincipal – nosso formulário. E depois, implemente-o na seção Implementation.

procedure Fonte;

procedure TPrincipal.Fonte ();
begin
  if (Negrito1.Checked=False) and (Itlico1.Checked=False) then
    Memo1.Font.Style:= [];
  if (Negrito1.Checked=True) and (Itlico1.Checked=False) then
    Memo1.Font.Style:= [fsBold];
  if (Negrito1.Checked=False) and (Itlico1.Checked=True) then
    Memo1.Font.Style:= [fsItalic];
  if (Negrito1.Checked=True) and (Itlico1.Checked=True) then
    Memo1.Font.Style:= [fsBold, fsItalic];
end;
procedure TForm1.Negrito1Click(Sender: TObject);
begin
  Negrito1.Checked:= Not Negrito1.Checked;
  Fonte;
end;
procedure TForm1.Italico1Click(Sender: TObject);
begin
  Itlico1.Checked:= Not Itlico1.Checked;
  Fonte;
end;

 

Quando o usuário clicar no menu Sair, fechará o formulário, finalizando a execução do programa pois este é o único formulário do nosso aplicativo. Isto é feito com o uso do método Close.

procedure TForm1.Sair1Click(Sender: TObject);
begin
  Close;
end;

 

Salve seu trabalho, e teste o programa.

 

Espero que tenham gostado e entendido, até a próxima!

  • Publicado por Giovani Da Cruz
  • 0 comentarios
  • 24 de novembro de 2022

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Computação

Continue aprendendo

Aumente o seu conhecimento
O que é o recAPTCHA? Como ele Funciona?

Oi gente, tudo bem com vocês? O Assunto de hoje é reCAPTCHA. Vamos descobrir como o ele protege seu site contra bots e abusos automatizados, enquanto equilibra segurança e experiência do usuário!  Venha saber mais sobre essa poderosa ferramenta do Google e suas evoluções.   Introdução Há poucas coisas neste mundo tão irritantes e difundidas […]

4 de julho de 2024
Como Abrir um Executável pelo Prompt de Comando

Fala galera da programação, tudo beleza? O Prompt de Comando, também conhecido como CMD, é uma ferramenta poderosa disponível nos sistemas operacionais Windows. Ele permite aos usuários interagir com o sistema operacional por meio de comandos digitados. Abrir um executável (.exe) pelo Prompt de Comando pode ser útil em várias situações, como ao solucionar problemas, […]

29 de junho de 2024
Como Fazer Comentários em Instruções de um Arquivo PowerShell no Windows

Fala galera da programação, tudo beleza?   Venha aprender a usar comentários de linha única e múltiplas linhas, e veja as melhores práticas para documentar e organizar seu código. Transforme seus scripts de PowerShell em ferramentas mais claras e fáceis de manter!   Introdução Comentários são essenciais em scripts de PowerShell para aumentar a legibilidade […]

22 de maio de 2024
Explorando a Tokenização: Uma Abordagem Crucial no Processamento de Dados

Oi gente, tudo bem com vocês? Nos últimos anos, o avanço da tecnologia tem proporcionado uma explosão de dados em todas as esferas da vida. Diante dessa enorme quantidade de informações, surgem desafios significativos para extrair insights úteis e significativos. É aqui que entra em cena a tokenização, uma técnica fundamental no processamento de dados […]

4 de abril de 2024
Conheça o GPT: A Revolução da Inteligência Artificial no Processamento de Linguagem Natural

Oi gente, tudo bem com vocês? No mundo cada vez mais digitalizado de hoje, interagimos diariamente com assistentes virtuais, sistemas de tradução automática e uma miríade de outras ferramentas que dependem do processamento de linguagem natural. Mas o que está por trás dessa incrível capacidade de entender e produzir texto de maneira tão precisa? A […]

4 de abril de 2024
Qual a diferença entre software livre e software open source?

Oi gente, tudo bem com vocês? No universo da tecnologia, duas ideologias distintas têm moldado o desenvolvimento de software: o software livre e o software de código aberto. Embora frequentemente utilizados como sinônimos, esses conceitos diferem em suas abordagens fundamentais em relação à liberdade do usuário e ao acesso ao código-fonte. Vamos explorar em detalhes […]

1 de abril de 2024
A Importância de Protótipos na Área de Desenvolvimento de Software

Oi gente, tudo bem com vocês? O desenvolvimento de software é um processo complexo que requer uma abordagem cuidadosa e iterativa para alcançar resultados eficazes e satisfatórios. Nesse contexto, os protótipos desempenham um papel crucial, oferecendo uma representação tangível e visual das ideias e conceitos que serão implementados no produto final. Este artigo explora a […]

27 de março de 2024
Para Onde Vão Meus Arquivos Excluídos?

Oi gente, tudo bem com vocês? Quando excluímos um arquivo de nosso computador, muitas vezes nos perguntamos para onde ele vai. Será que desaparece completamente? Ou existe algum lugar secreto onde esses arquivos residem? A resposta a essa pergunta é um pouco mais complexa do que parece à primeira vista.   O Processo de Exclusão […]

24 de março de 2024
Como Fazer Comentários em Instruções de um Arquivo .BAT

Fala galera da programação, tudo beleza? Já publicamos um post específico sobre o Arquivo em Lotes do Windows (.bat), que é bem interessante e recomendamos a leitura. Hoje vamos descobrir como adicionar clareza e organização aos seus scripts .BAT do Windows! 🚀 Neste post vamos ver dicas sobre como usar comentários efetivamente para documentar, manter […]

20 de março de 2024
Arquivos .BAT: Uma Janela para a Automação no Windows

Oi gente, tudo bem com vocês? Vocês conhecem o Arquivo em Lotes do Windows (.bat)? Ele tem uma grande utilidade na automatização de tarefas e será o tema do post de hoje.   Introdução Os arquivos .BAT (Batch files) têm sido uma parte fundamental da computação Windows desde os primórdios do sistema operacional. Eles fornecem […]

19 de março de 2024
Sair da versão mobile