Pular para o conteúdo principal

Lazarus - Recursos do Editor de Código

Neste post vamos apresentar alguns dos inúmeros recursos que o Editor de Código oferece aos desenvolvedores. O Editor pode ser configurado via menu em Tools | Options | Editor. Estas opções também podem ser acessadas através do menu de contexto.

O detalhamento das opções e configuração do Editor exige um post específico, portanto não iremos nos ater a isso no momento. Queremos falar de recursos que a ferramenta oferece para facilitar o trabalho do programador.

Syncron

Esta é uma opção onde podemos rapidamente modificar o nome de um identificador em um trecho de código  selecionado.

Quando você seleciona um trecho do código (ou o código inteiro), no lado esquerdo do Editor aparece um ícone com uma caneta. Clique nesse ícone ou tecle CTRL + J. A área selecionada muda de cor e o cursor é movido para uma instância do identificador, destacando cada uma de suas ocorrências naquela área. Modifique o identificador e cada ocorrência dele será alterada automaticamente.
Volte a clicar no ícone ou tecle ESC para sair do modo syncron.

O Code Completion é um dos recursos que pode poupar muito tempo de digitação. Dependendo da posição do cursor no Editor, várias funções podem ser chamadas.

Complementação de classe

Se você escreveu uma classe incluindo propriedades e métodos, este recurso irá adicionar o corpo do método, variáveis e métodos de acesso às propriedades, etc. Suponha que você tenha criado a seguinte classe:

TPessoa = class(TObject)
    constructor Create;
    destructor Destroy; override;
    property nome: string;
end;

Posicione o cursor no interior da classe e pressione CTRL + SHIFT + C. O código seguinte será gerado, e o cursor será movido para que o corpo do primeiro método seja digitado.

type

  { TPessoa }

  TPessoa = class(TObject)
  private
    Fnome: string;
    procedure Setnome(AValue: string);
  published
    constructor Create;
    destructor Destroy; override;
    property nome: string read Fnome write Setnome;
  end;

implementation

{ TPessoa }

procedure TPessoa.Setnome(AValue: string);
begin
  if Fnome=AValue then exit;
  Fnome:=AValue;
end;

constructor TPessoa.Create;
begin

end;

destructor TPessoa.Destroy;
begin
  inherited Destroy;
end;

Complementação de declaração de variável

Se o cursor é posicionado em um identificador e for pressionado CTRL + SHIFT + C, é adicionado ao código uma declaração de variável local. Por exemplo, imagine o seguinte código fonte:

procedure TForm1.FormClick(Sender: TObject);
begin
  i := 5;
end;

Posicione o cursor na variável i (antes ou depois) e pressione CTRL + SHIFT + C. O código será modificado e ficará assim:

procedure TForm1.FormClick(Sender: TObject);
var
  i: Integer;
begin
  i := 5;
end;

O tipo da variável é deduzida a partir da expressão.

Message Composer

O Message Composer é uma ferramenta que auxilia na criação de caixas de diálogos,  tais ShowMessage, MessageDlg e InputBox. Para isso é necessário instalar o pacote messagecomposerpkg. Vá em Package | Install/Uninstall packages. Na lista Do not install localize e selecione messagecomposerpkg. Clique em Install selection e depois em Save and rebuild IDE. Em seguida clique no botão Continue para confirmar. Após o IDE ser reiniciado uma nova opção será adicionada ao menu Source. Você também pode usar o atalho CTRL + M. Esta opção irá abrir a seguinte janela:
Após escolher o tipo de mensagem, os parâmetros demais opções, confirme em OK e o diálogo selecionado será adicionado no seu código na posição do cursor.

Dicas para funções e procedimentos

Se você não lembra dos parâmetros, ordem, tipos de dados de uma função ou procedimento, digite a mesma e dentro dos parênteses tecle CTRL + SHIFT + ESPAÇO. Irá aparecer uma janela de dica com os argumentos:
À medida que um argumentos é digitado, o próximo fica em destaque na janela. Um botão à direita permite colar os parâmetros no código fonte.

Templates

Templates são modelos que podem ser inseridos no código. Por exemplo, suponha que você deseja inserir um comando case no seu código. Digite casee no ponto onde deseja inserir e tecle CRTL + J. Será inserido o seguinte código, e o cursor será posicionado no local onde deve ser inserida a variável do comando.
Existem vários modelos prontos, mas você pode criar os seus próprios templates usando a opção Tools | Code Templates. Na janela que será aberta você usará o botão Add para adicionar novo modelo.
Clique aqui para ver um rápido tutorial de como criar novos modelos. Por enquanto é isso que temos. Aproveite os recursos e explore mais possibilidades com o Lazarus

Comentários

simone de ramos disse…
Professor Carlos! sou iniciante no lazarus e estou com uma duvida a respeito da propriedade da query para que corresponde a
Requistlive da query que usava no delphi que permitia editar a tabela diretamente. Estou lendo seus artigos e tem me ajudado muito, mas ainda estou patinando em algumas coisas. Desde ja agradeço pela infomação.
Professor Carlos disse…
Oi Simone
Não existe essa propriedade na SQLQuery. Não é necessária. Veja no post http://professorcarlos.blogspot.com/2010/02/lazarus-acessando-banco-de-dados-com.html
que conseguimos editar a tabela. Só seguir esses passos. Qualquer dúvida me escreva.
simone de ramos disse…
Professor! não consigo habilitar o dbnavigator esta tudo como o sr. colocou no artico mas nada de funcionar, percebi através de um teste que é por que tenho um campo que é autonumeração pois criei uma tabela pra testar sem ter campo autonumeração e o dbnavigator habilitou. Ja verifiquei esta tudo true e estão setados corretamente...
Professor Carlos disse…
Você está usando SQLdb, certo? Qual o banco de dados? Qual a versão do Lazarus? Talvez seja melhor você criar um pequeno demo (ou esse mesmo que você está fazendo) e enviar pra eu verificar aqui. Pode se comunicar comigo por e-mail, é mais ágil que os comentários.
simone de ramos disse…
Professor! tentei mandar um e-mail neste endereço mas voltou e mesmo este?
stonefull.stm@gmail.com
tem Outro?
Professor Carlos disse…
É esse mesmo. Mas pode enviar também para profcarlos@profcarlos.com
Anônimo disse…
Alguém sabe me dizer como eu crio um Link de site no Lazarus; ex: Link Label Link Button?

Atenciosamente

Marcos Paulo
welton disse…
ola me intereçei muito pelo lazarus, começei montar um programa para gerenciar os livros do meu serviço, tem as janela cadastro de livro, de pessoa emprestimo de livro e venda, esta ficando bem legal, mas estou com 2 problemas, fiz o banco no ibexpert em fireboard, ai o auto encremento fika em branco ele n ta preenchendo no lazarus precisa de algum codigo de encremento?
Professor Carlos disse…
Welton, vamos por partes:
1. Como você definiu autoincremento no Firebird? O refresh do form não é automatico, então se você grava tabela os dados não retornam para os controles automaticamente.
2. O Lazarus tem recursos de AutoSize, Anchor e Layout para adaptar a interface a várias resoluções e ambientes. Veja aqui http://wiki.lazarus.freepascal.org/Autosize_/_Layout
3. Quanto ao ACBr eu nunca instalei no Lazarus, mas acredito que deve ser simples. Existe o forum onde você pode tirar duvidas sobre o componente

Postagens mais visitadas deste blog

Lazarus - Acessando banco de dados com SQLdb - Parte I

Para fazer nossa primeira aplicação usando banco de dados no Lazarus vamos usar o SQLite e o conjunto de componentes nativo SQLdb. Inicialmente vamos apresentar passo como essa aplicação foi criada. Essa foi a maneira que eu fiz, e eu agradeço sugestões e questionamentos que pessoas que já passaram por essa experiência. Depois irei fazer algumas considerações sobre o uso do SQLdb. SQLite SQLite é uma biblioteca que implementa um motor de banco de dados SQL. É livre para qualquer finalidade, seja uso particular ou comercial. Lê e escreve em um único arquivo que pode ter além de tabelas, índices, gatilhos e visões. Executa em várias plataformas e é indicado para aplicações embarcadas. Maiores detalhes podem ser encontrados no site oficial. Para usá-lo, baixe-o do site e faça a instalação adequada para o seu sistema operacional. No Windows isso é muito simples, apenas copie sqlite3.dll para o system32 da pasta do sistema operacional. Existe uma ferramenta de linha de comando chamada

Tipos de dados no SQLite

Em SQLite, diferente de outros motores de banco de dados, o tipo de dado de um valor está associado com o valor propriamente dito, e não com o seu contêiner. É um sistema de tipo dinâmico. Um campo de uma tabela em SQLite pode receber qualquer tipo de dado. Assim, o SQLite simplesmente ignora o tipo informado no comando CREATE TABLE. Então, dizemos que no SQLite existem classes de armazenamento. E essas classes são: NULL - como em qualquer outro banco de dados. INTEGER - inteiro com sinal, armazenado em 1, 2, 3, 4, 6 ou 8 bytes dependendo da grandeza do valor. REAL - valor de ponto flutuante armazenado em 8 bytes. TEXT - uma string armazenada usando UTF-8, UTF-16BE ou UTF-16LE. BLOB - armazena um blob, como indica o nome. Uma coluna INTEGER PRIMARY é uma exceção. Só aceita números inteiros. Qualquer valor em um comando SQL tem uma classe de armazenamento implícita. Durante a execução do comando SQL, o SQLite pode converter valores entre classes numéricas (INTEGER e REAL)

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer