Sie sind auf Seite 1von 8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

Lazarus Tutorial/pt
Deutsch (de) | English (en) | Espaol (es) | Suom i (fi) | Franais (fr) | Magyar (hu) | Italiano (it) | (ja) | (ko) | (m k) | Nederlands
(nl) | Portugus (pt) | (ru) | Slovenina (sk) | Shqip (sq) |
()
(zh_CN) |
()
(zh_TW)

Contents [hide]
1 Prefcio
2 Comeando - O seu primeiro programa feito no Lazarus !
3 Segunda Sesso
4 O Editor
4.1 O Menu Principal
4.1.1 O sub-menu Arquivo(File)
4.1.2 O sub-menu Editar(Edit)
4.1.3 O sub-menu Localizar(Search)
4.1.4 O sub-menu Exibir (View)
4.1.5 O sub-menu Projeto(Project)
4.2 A Barra de Botes
5 A Paleta de Componentes
5.1 Como usar a Paleta?
6 Como usar Controles Standard, Common e Extended
7 O Depurador
8 Os arquivos do Lazarus
9 Contribuies e Mudanas

Prefcio
Lazarus um ambiente de desenvolvimento gratuito e de cdigo aberto para o compilador FreePascal (object pascal), que tambm gratuito
e de cdigo fonte aberto. O ambiente Lazarus IDE (screenshot ) estvel e rico em programao para criao de aplicaes grficas e de
console. Ele atualmente funciona nos sistemas operacionais: Linux, FreeBSD e Win32 e prov um customizvel editor de cdigo e ambiente
de criao visual de formulrios acompanhado com um gerenciador de pacotes, debugador e completa integrao da GUI com o compilador
FreePascal. Infelizmente ainda no foi feita toda a traduo da IDE para o portugus por isso estou utilizando os itens em ingls (que o
padro).

Comeando - O seu primeiro programa feito no Lazarus !


Baixe, instale (Installing Lazarus) e ative o Lazarus que vir tambm com o compilador FreePascal.
Muitas janelas vo aparecer no desktop: o menu princpal no topo, o inspetor de objetos(object inspector) esquerda, o editor de cdigo
ocupando a maior parte do desktop, e prontamente criada a janela do Form1 sobre o editor de cdigo.
A janela do topo com menu, abaixo do menu, temos uma linha de abas. Se a aba "Standard" no estiver selecionada, selecine-a clicando
com o "mouse" sobre ela. Ento encontre o cone do boto(um retngulo com a palavra:Ok dentro) e aperte nele com o "mouse". Em
seguida clique na janela Form1, em algum lugar a esquerda do meio da janela. Um retngulo sombreado com as palavras "Button1" ir
aparecer. Aperte novamente sobre o cone do boto e de novo na janela Form1 em algum lugar direita do centro e ir aparecer um outro
boto com as palavras "Button2".
Agora aperte o "Button1" para selecion-lo. O inspetor de objeto(Object Inspector) ir exibir as propriedades do objeto "Button1". Prximo ao
topo temos a propriedade chamada de "Caption", com o valor exibido "Button1". Clique sobre esta caixa, e mude de "Button1" para "Press".
Se voc apertar a tecla "ENTER" ou em outra caixa, voc ir ver o texto do primeiro boto da janela Form1 mudar para "Press". Em seguida
clique na aba de Eventos(Events) do inspetor de objeto(object inspector), para ver vrios eventos que podem ser associados com o boto.
Este incluem: OnEnter, OnExit, OnClick, ... Selecione a caixa direita do OnClick: uma pequena caixa com trs pontos (... eliptcos)
aparece. Quando voc clica sobre ela, voc automaticamente levado para o editor de cdigo e seu cursor fica posicionado na seguinte
parte:
procedure TForm1.Button1Click(Sender: TObject);
begin
{agora escreva:}
Button1.caption := 'Press again';
{o editor sempre termina o procedimento com}
end;
Pressione F12 para a janela Form1 aparecer sobre o editor de cdigo.
Agora pressione sobre o Button2 para editar as suas propriedades no inspetor de objeto(object inspector). Mude o valor da propriedade
"Caption" de "Button2" para "Exit". Agora selecione a aba de eventos(Events) no inspetor de objeto(object inspector) e clique na caixa do
evento OnClick. Aperte sobre o boto com trs pontos, e voc ir para a janela de edio de cdigo no meio de outro procedimento:
http://wiki.freepascal.org/Lazarus_Tutorial/pt

1/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

procedure TForm1.Button2Click(Sender: TObject);


begin
{agora escreva:} Close;
{o editor sempre completa o procedimento com}
end;
Em seguida pressione F12 para a janela Form1 aparecer novamente. Agora voc est pronto para tentar compilar. Na janela do topo no
menu selecione "Run" e aparecer em seguida um submenu e aperte a opo "Run". Outra alternativa apertar a tecla F9. Estes iro
primeiro compilar o programa e ento(se tudo estiver certo) ligar(link) e execut-lo.
Durante a compilao a janela de mensagens(Messages) ter escrito diversos textos referente a esta operao(compilao) e em seguida
ir reaparecer a janela Form1 sem a grid que a janela princpal de sua aplicao, e est aguardando que voc pressione um dos botes ou
faa algo que interaja com a aplicao.
Tente agora clicar sobre o boto escrito "Press". Voc ir reparar que ele mudar para "Press again". E se voc pressionar novamente no
mudar mais o texto escrito do boto.
Agora pressione o boto com "Exit" dentro dele. A janela ir fechar e sair do programa. A janela Form1 original ir reaparecer com grids
pronta para edio.
Voc deve salvar o seu trabalho agora(e freqentemente) selecionando Project > Save As > your_selected_file_name.pas na janela do topo
no menu.

Segunda Sesso
Reabra seu projeto salvo. Na janela Form1 pressione sobre o boto escrito "Press"(Button1) para selecion-lo. Selecione a aba
Eventos(Events) no inspetor de objeto(object inspector), pressione na caixa direita de OnClick, clique sobre os ... eliptcos, para ir de volta
ao ponto apropriado do editor de cdigo.
Edite seu cdigo para o que est escrito seguir:
procedure TForm1.Button1Click(Sender: TObject);
{Faz uso da propriedade Tag , indicando valores 0 ou 1}
begin
if Button1.tag =0 then
begin
Button1.caption := 'Press again';
Button1.tag := 1
end else
begin
Button1.caption := 'Press';
Button1.tag := 0
end
end;
Salve seu trabalho, recompile e execute. O boto esquerda ir agora variar entre duas alternativas de mensagem a cada clique.
O resto com voc!
Se voc prefere escrever em Console- ou baseado em texto programas pascal (por exemplo se voc est seguindo um curso bsico de
programao Pascal, ou voc precisa escrever programas para prompt de comando ou para programao de sistema), voc pode ainda usar
o lazarus para editar, compilar e executar seus programas. Isto d uma idia do ambiente Pascal para desenvolvimento. Veja Console Mode
Pascal.

O Editor
Quando voc ativa o Lazarus pela primeira vez, uma srie de janelas flutuantes separadas iro aparecer em seu desktop(ambiente grfico).
A primeira, certamente funcionando ao longo do alto do desktop, chamado Lazarus Editor vXXXXXX - project1(que ser
subsequentemente modificado para refletir a mudana no nome de seu corrente projeto aberto). Esta a princpal janela de controle de seu
projeto, e contm o Menu Princpal, a Barra de Botes e a Paleta de Componentes.

Ainda na Janela abaixo da barra de ttulo temos o Menu Princpal composto das seguintes entradas usuais: File(Arquivo), Edit(Editar),
Search(Localizar) e View(Vizualizar), e mais outras especficas para o Lazarus. E Abaixo desta esquerda temos a Barra de Botes(atalhos
para diversos itens do menu princpal) e direita a Paleta de Componentes.

http://wiki.freepascal.org/Lazarus_Tutorial/pt

2/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

Sob a janela do Editor do Lazarus ir aparecer a janela doinspetor de objeto (object inspector) esquerda, e direita editor de cdigo
do Lazarus . Aqui pode ter outra janela menor, indicada com Form1 , sobre a janela do editor de cdigo. Se esta janela no visvel
imediatamente, voc pode faz-la aparecer pressionando a tecla F12, que alterna entre o editor do cdigo fonte e o editor da
janela(formulrio). Nesta janela de formulrio, em que se encontra agora, voc construir a interface grfica para sua aplicao. Esta janela
somente funciona se voc estiver editando um formulrio. A operao do inspetor de objeto discutida mais detalhadamente abaixo quando
a paleta de componentes for descrita.
Quando voc inicia um novo projeto (ou quando voc ativa o Lazarus) por padro ir ser construdo um formulrio(Form), que consiste de uma
caixa preenchida com pontos(grid) para ajud-lo a posicionar vrios componentes no formulrio, e uma barra ao longo do topo que contm os
usuais botes de janela: Minimizar,Maximizar, e Fechar. Se voc clicar com seu mouse(ponteiro) dentro desta caixa, voc ver as
propriedades deste formulrio no inspetor de objeto no lado esquerdo do desktop; caso no o esteja vendo, pressione a tecla F11 para
visualiz-lo.
Outras janela que podem ser visveis durante seu trabalho: O Inspetor do Projeto(Project Inspector) , que contm detalhadamente os
arquivos includos no seu projeto; A janela Mensagens(Messages), que exibe as mensagens do compilador, erros ou relatrios de progresso
em seu projeto; se o Lazarus foi ativado em uma janela terminal, a janela terminal permanece visvel e os detalhes das mensagens de
compilao so colocados nela, na janela terminal.

O Menu Principal
O menu principal contem as seguintes entradas em ingls:File Edit Search View Project Run Components Tools Environment Windows Help
Como de costume, as opes podem ser selecionadas colocando o cursor do mouse(ponteiro) sobre a opo do menu e clicando(estalando)
o boto esquerdo do mouse(ponteiro), ou digitando o Alt-F no teclado (fornecido a janela do menu principal tem foco: se no tiver, aperte Tab
repetidamente para dar um ciclo no foco atravs das vrias janelas at que a janela desejada tenha sua barra do ttulo destacada na cor).

O sub-menu Arquivo(File)
Nova Unidade: Cria um arquivo para nova unidade (Pascal Source).

http://lazarus-ccr.sourceforge.net/kbdata/FileMenuSnapshot.png

New Form: Cria um novo formulrio: uma janela visual da tela e seu
arquivo fonte Pascal associado.
Novo ...: Abre uma caixa (screenshot

) com uma variedade de novos tipos de documentos para criar.

Abrir: Abre uma caixa de dilogo que habilita voc a navegar pelos arquivos e escolher um existente arquivo para abrir.
Revert: Remove as mudanas durante a edio e restaura o arquivo para seu estado original.
Salvar: Salva o arquivo corrente(em uso), utilizando seu nome original do arquivo. Se este no tiver um nome, o sistema ir perguntar
pelo nome que voc deseja salvar(como no Save As).
Save As: Permite que voc escolha um diretrio e um nome de arquivo para salvar o arquivo atual.
Fechar: Fecha o arquivo atual, perguntando se salva todas as mudanas do editor..
Close all editor files: Fecha todos os arquivos abertos no editor. E oferece para salvar mudanas.
Clean directory: Disponibiliza um dilogo com uma srie de filtros editveis para remoo de arquivos do corrente diretrio. Muito
utilizado para remoo de arquivos .bak e restir que formavam os projetos Delphi.
Sair: Sai do ambiente Lazarus, depois de perguntar se salva todos os arquivos editados.

O sub-menu Editar(Edit)
Undo: Desfaz a ltima ao de edio.

http://lazarus-ccr.sourceforge.net/kbdata/EditMenuSnapshot.png

Redo: Refaz a ltima ao de edio que foi revertida pelo Undo.


Cut: Remove o texto ou item selecionado e o coloca na rea de transferncia.
Copy: Faz uma cpia do texto selecionado, deixando o original no lugar, e coloca uma cpia na rea de transferncia.
Paste: Coloca o contedo da rea de transferncia na posio do cursor. Se texto tem sido selecionado na posio do cursor, o
contedo da rea de transferncia ir substituir o texto selecionado.
Indent selection: indenta(adiciona um espao especificado) antes do texto selecionado.
Unindent selection: desindenta(remove o espao especificado) antes do texto selecionado.
Enclose selection: disponibiliza um menu flutuante com opes para incluir o texto selecionado dentro de uma das opes(begin ...
end; try ... except; try ... finally; repeat ... until; { ... } etc).
Uppercase selection: passa todo o texto selecionado para caixa alta, letras maisculas.
Lowercase selection: passa todo o texto selecionado para caixa baixa, letras minsculas.
Tabs to spaces in selection: Converte as tabulaes(TAB) no texto selecionado em nmero de espaos especificados no Environment > Editor options -> General -> Tab widths. O nmero de espaos no tem quantidade fixa, mas o nmero necessrio para preencher a
largura restante da tabulao.
Break lines in selection: Se alguma linha no texto selecionado for maior que 80 caracteres ou que o nmero especificado em
Environment -> Editor options -> Display -> Right Margin, ento a linha quebrada no limite de palavras e continua na prxima linha.
Comment selection: Torna o texto selecionado um comentrio inserindo antes de cada linha os caracteres: // .
Uncomment selection: Remove as marcas de comentrios.
Sort selection: Ordena linhas (ou palavras ou paragrfos) alfabeticamente; podendo ser : ascendente ou descendente; e sensitvo a
caixa ou no. No meio do cdigo fonte do programa, claro, no faz sentido, mas se voc tem uma lista em que voc precisa orden-la
http://wiki.freepascal.org/Lazarus_Tutorial/pt

3/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

voc utilizar esta ferramenta.


Select: Seleciona blocos do texto. As opes incluem selecionar tudo, para apoiar, um pargrafo ou uma linha, etc.
Insert from character map: Insere de smbolos no existentes no teclado como caracteres acentuados, obtm de janela com o mapa
de caracteres.
Insert Text:abre um menu parte para inserir textos padres: palavras chaves do CVS (Author, Date, Header etc) ou notcia do GPL,
nome do usurio ou data e hora atual.
Complete code: Muito utilizado pelo desenvolvedor permite completar o cdigo de um mtodo, procedimento ou funo, declarado na
interface. Ao chamar esta rotina ele adicionado na implementao(implementation) com o cursor dentro deste para voc programar
este.
Extract procedure: Usa o texto selecionado(a statement or series of statements) para gerar um novo procedimento(procedure).

O sub-menu Localizar(Search)
Find: similar a facilidade encontrada na maioria dos editores de
http://lazarus-ccr.sourceforge.net/kbdata/SearchMenuSnapshot.png
texto: uma caixa de dilogo aparece disponibilizando a entrada de
um texto para procurar, com opes como: case sensitive(sensvel a caixa: maiscula <> minscula), palavras inteiras, origem, escopo e
direo da procura.
Find Next, Find previous: procurar novamente pelo anterior texto entrado, na especificada direo.
Find in files: procura pelo texto nos arquivos: dilogo com as opes: all open files(todos os arquivos abertos), all files in project (todos
os arquivos no projeto) ou all directories(todos diretrios); mascara disponvel para selecionar tipos de arquivo.
Replace: parecido com "Find", exibe um dilogo com lugares para entrar com o texto para procurar e substituir, e opes para sensvel
caixa(case sensitivity), direo(direction) etc.
Incremental find: Procura pelo texto enquanto voc est colocando os caracteres de procura. Exemplo: depois de voc escolher
"Incremental Find" se voc pressionar "l" o primeiro "l" ir ser marcado. Se em seguida voc apertar "a", o editor ir procurar o prximo
"la" e marc-lo. E assim por diante.
Goto line: Move o cursor de edio para uma linha especfica no arquivo.
Jump back: Move de volta no arquivo para a prxima marcao(precisa ter usado Add jump point no histrico). Ir mover para marcaes
em outros arquivos no editor.
Jump forward: Move para prxima marcao.
Add jump point to history: Adiciona marcaes ou pontos de pulo para o arquivo.
View Jump-History: Visualiza a lista de marcaes no arquivo: No implementada ainda.
Find other end of code block: Se posicionado em um incio de bloco, encontra o correspondente fim e vice-versa.
Find code block start: Move para o incio do procedimento ou funo em que o cursor se encontra.
Find Declaration at cursor: Encontra o lugar em que o identificador selecionado declarado. Pode ser o mesmo arquivo ou outro aberto
no editor; se o arquivo no est aberto, ele ser aberto (ento se um procedimento ou funo est declarado, por exemplo, no arquivo
classesh.inc , este ir ser aberto no editor).
Open filename at cursor: Abre o arquivo cujo o nome selecionado no cursor. til para olhar arquivos includos ou que contm outras
unidades usadas no projeto.Opens the file whose name is selected at the cursor.
Goto include directive: Se o cursor for posicionado em um arquivo que esteja includo em um outro arquivo, vai ao lugar no outro arquivo
que chamou o arquivo includo.

O sub-menu Exibir (View)


Controla as vrias janelas e painis exibidas da ferramenta(Lazarus) na
tela.

http://lazarus-ccr.sourceforge.net/kbdata/ViewMenuSnapshot.png

Object Inspector: Esta janela usualmente ocupa o lado esquerdo do ambiente, e exibe as caractersticas, os atributos publicados(que
se encontram no "published" da classe) do formulrio(Form), mdulo ou componente selecionado em um dos containers anteriores que
est no ambiente.
Source Editor: a janela encarregada de editar o cdigo fonte do programa, geralmente so arquivos de extenso: pas, pp e inc.
Code Explorer: abre uma janela com as divises do cdigo fonte para facilitar o desenvolvimento.
Units: abre uma janela que exibe todas as unidades(bibliotecas) utilizadas pelo projeto.
Forms: abre uma janela que lista todas as janelas criadas e utilizadas no projeto.
View Unit Dependencies: abre uma janela que exibe em rvore as unidades que o projeto depende.
Toogle form/unit view: alterna entre o formulrio e a unidade(biblioteca) do formulrio.
Messages: exibe a janela de mensagens de compilao, exibindo progresso da compilao ou listando os erros econtrados...
Search Results: Uma janela que exibe os resultado de procura nos arquivos.
Debug windows: Abre um menu com vrias opes para operar e compilar o debugador.

O sub-menu Projeto(Project)
New Project: Cria um novo projeto. Uma janela de dilogo
aparece oferecendo a escolha de tipos de projeto para criar.

http://lazarus-ccr.sourceforge.net/kbdata/ProjectMenuSnapshot.png

New Project from file: Um dilogo de navegao aparece, aguardando a seleo de um arquivo para criar um novo projeto.
Open Project: Abre um projeto existente que j tenha sido criado e salvo. Um dilogo de navegao aparece com uma lista de arquivos
http://wiki.freepascal.org/Lazarus_Tutorial/pt

4/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

de informaes de projetos lazarus(.lpi) para escolher.


Open Recent Project: Exibe uma lista de projetos recentes que voc tenha trabalhado recentemente para voc selecionar.
Save Project: Salva o projeto.
Save Project As: Salva o projeto como, ou seja com um nome determinado por voc.

A Barra de Botes
Uma pequena barra de ferramentas a esquerda da janela principal do editor, logo abaixo do menu principal e a esquerda da paleta de
componentes, contem um conjunto de botes que repetem as opes que so frequentemente mais usadas no menu principal:
New Unit, Open (com um drop down que mostra os arquivos recentes), Save, Save as, New Form,Toggle Form/Unit ( por exemplo,
mostra qualquer formulrio o cdigo fonte da Unit), View Units, View Forms, Run (Compilar e executar), pause, Step Into,Step
over (os ultimos so funes do depurador).

A Paleta de Componentes
Uma barra de ferramentas organizada em abas com um grande nmero de cones comumente usados para construir forms. Cada aba tem
um conjunto diferente de cones, representando um grupo funcional de componentes. O cone mais esquerda em cada aba uma seta
inclinada para a esquerda chamada Selection Tool. Se voc parar o mouse sobre qualquer um dos cones, sem clicar nele, o nome do
componente ser mostrado em uma pequena janela. Observe que cada ttulo inicia com 'T', que significa 'Type', ou mais precisamente 'Class'
do componente. Quando voc seleciona um componente para incluso em um form, a Class adicionada seo type da interface da unit
(geralmente como parte de TForm1). Qualquer mtodo que voc projeta para ser usado pelo form ou componentes (isto , procedures ou
functions) sero colocados na implementation da unidade.
A seguir esto relacionados os componentes.
ABAS(os nomes so autoexplicativos):
Standard

Componentes usados frequentemente: TMainMenu, TPopUpMenu, TButton, TLabel, TEdit, TMemo, TToggleBox, TCheckBox, TRadioButton,
TListBox, TComboBox, TScrollBar, TGroupBox, TRadioGroup, TCheckGroup, TPanel, TActionList.
Additional

Componentes mais usados: TBitBtn, TSpeedButton, TStaticText, TImage, TShape, TBevel, TPaintBox, TNotebook, TLabeledEdit, TSplitter,
TTrayIcon, TMaskEdit, TCheckListBox, TScrollBox, TApplicationProperties, TStringGrid, TDrawGrid, TPairSplitter, TColorBox, TColorListBox.
Common Controls

Componentes mais usados: TTrackBar, TProgressBar, TTreeView, TListView, TStatusBar, TToolBar, TUpDown, TPageControl, TTabControl,
THeaderControl, TImageList, TPopupNotifier.
Dialogs

Componentes mais usados: TOpenDialog, TSaveDialog, TSelectDirectoryDialog, TColorDialog, TFontDialog, TFindDialog, TReplaceDialog,
TOpenPictureDialog, TSavePictureDialog, TCalendarDialog, TCalculatorDialog, TPrinterSetupDialog, TPrintDialog, TPageSetupDialog.
Muitos procedimentos e funes de Dialogs no aparecem na paleta, mas so facilmente chamados a partir do seu cdigo fonte. Para ver
vrios bons exemplos de uso dos componentes veja o subdiretrio examples no diretrio de instalao do Lazarus. Muitos dos exemplos
mostram como usar os componentes diretamente sem usar a paleta de componentes ou usando um arquivo de definio de form separado;
todos os componentes so bem explicados no programa principal. Outros exemplos fazem uso do IDE.
Para compilar e executar os exemplos tenha certeza que tem direitos read/write/execute sobre os diretrios e arquivos ou copie os arquivos
para outro diretrio onde voc tenha esses direitos.
Tente executar o programa testall para ver um menu de componentes disponveis junto com pequenos forms de exemplo para muitos deles;
http://wiki.freepascal.org/Lazarus_Tutorial/pt

5/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

ento d uma boa olhada no cdigo para ver como eles funcionam.
Misc

Componentes: TColorButton, TSpinEdit, TFloatSpinEdit, TArrow, TCalendar, TEditButton, TFileNameEdit, TDirectoryEdit, TDateEdit,
TCalcEdit, TFileListBox, TFilterComboBox, TXMLPropStorage, TIniPropStorage, TBarChart, TButtonPanel, TShellTreeView, TShellListView,
TIDEDialogLayoutStorage.
Data Controls

Componentes replicados das abas Standard e Additionl, mas aplicados a bancos de dados. Componentes mais comuns: TDBNavigator,
TDBText, TDBEdit, TDBMemo, TDBImage, TDBListBox, TDBComboBox, TDBCheckBox, TDBRadioGroup, TDBCalendar, TDBGroupBox,
TDBGrid.
Data Access

Componentes: TDatasource, TSdfDataSet, TFixedFormatDataSet, TDbf, TMemDataset.


System

Componentes: TTimer, TIdleTimer, TLazComponentQueue, THtmlHelpDatabase, THtmlBrowserHelpViewer, TProcessUTF8, TAsyncProcess,


TProcess, TSimpleIPCClient, TSimpleIPCServer, TXMLConfig, TEventLog.
SynEdit

Grupo de componentes para auxiliar o interfaceamento com outras linguagens e ferramentas de software. um control de edio multilinhas
para Delphi, C++ Builder e Kylix. Suporta Syntax Highlighting e complementao de cdigo, e inclui exportadores para HTML, rtf e tex. um
controle totalmente VCL/CLX, no dependente da API do Windows e no necessita de bibliotecas de tempo de execuo, o que torna o
SynEdit um componente multiplataforma. Compatvel com FreePascal, SynEdit o editor do IDE Lazarus.
Componentes: TSynEdit, TSynAutoComplete, TSynExporterHTML, TSynMacroRecorder, TSynMemo, TSynPasSyn, TSynFreePascalSyn,
TSynCppSyn, TSynJavaSyn, TSynPerlSyn, TSynHTMLSyn, TSynXMLSyn, TSynLFMSyn, TSynUNIXShellScriptSyn, TSynCssSyn,
TSynPHPSyn, TSynTeXSyn, TSynSQLSyn, TSynPythonSyn, TSynVBSyn, TSynAnySyn, TSynMultiSyn.

Como usar a Paleta?


Para usar a Paleta deve haver um form aberto no editor. Clique no cone do componente na aba apropriada e ento clique no form na posio
aproximada onde voc quer que o componente aparea. Quando o componente desejado aparecer, voc pode selecion-lo clicando nele com
o mouse, e arrast-lo para o local exato do form que voc preferir e ajustar seu tamanho. Podem ser feitos ajustes na aparncia do
componente alterando a figura do objeto no form ou alterando as propriedades correspondentes do componente no Inspetor de Objetos.
Se voc instalar componentes adicionais, aqueles que voc mesmo criar ou aqueles que vem em um pacote de outra fonte, abas extras
com cones relevantes iro aparecer na Paleta de Componentes. Esses componentes podem ser selecionados e usados em seus forms da
mesma forma que os componentes padro.

Como usar Controles Standard, Common e Extended


As units StdCtrls, ComCtrls e ExtCtrls contm definies e descries de muitos dos controles mais comumente usados para construir
forms e outros Objetos nas aplicaes Lazarus.
Muitos controles finais usados nas aplicaes, tais comoTButton, TMemo, TScrollBar, etc. tem uma classe ancestral correspondente tal
como CustomButton,TCustomMemo ou TCustomScrollBar. Vrias das propriedades e mtodos relevantes do controle final so definidos e
http://wiki.freepascal.org/Lazarus_Tutorial/pt

6/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

explicados mais detalhadamente na classe TCustomXXX, e so herdados pelo controle final.


Se voc coloca um componente no form voc no precisa adicionar cdigo explicitamente para cri-lo. O componente automaticamente
criado pelo IDE junto com o form, e destruido junto com ele.
Se voc criar um componente atravs de cdigo lembre de destru-lo quando no precisar mais dele.
Se voc colocar um componente no Inspetor de Objetos, voc pode observar as propriedades se modificando enquanto move o componente.
Por exemplo, se voc um boto (TButton) no form, clique nele para selecion-lo, e ento movimente-o pelo form com o mouse. Voc pode
observar as propriedades Top e Left mudando no Inspetor de Objetos para refletir a nova posio. Se voc usar as barras de
redimensionamento dos objetos, voc poder observar as propriedades Height e Width se modificando tambm.

O Depurador
para fazer

Os arquivos do Lazarus
(Obrigado a Kevin Whitefoot.)
(Adies de Giuseppe Ridin, Usurio:Kirkpatc y Tom Lisjac)
Ao Salvar, os seguintes arquivos so gravados:

xxx.pas e yyy.lpr
(Voce salva mais arquivos, mas estes so os nicos que tem que colocar um nome). O arquivo do projeto (*.lpr) e a unit (*.pas) no devem
ter o mesmo nome porque o Lazarus renomear a unit (dentro do cdigo fonte) com o mesmo nome da unit e o programa com o mesmo
nome do arquivo do projeto ( necessrio fazer isto, seno, o compilador no ser capaz de encontrar a unit mais tarde, quando se referir a
ela no arquivo do projeto). Claro, para ser coerente, troque sempre unit1 por xxx.
Assim que se Salva um Projeto chamado again, se tentar salvar again.pas e again.lpr obter erros, porque os nomes da unidade e do
programa so iguais, onde se produz um erro de duplicao de nome.
Assim que eu terminei o que foi descrito acima, obtive:
e:/lazarus/kj/lazhello:
total 4740 free 76500
-rwxrwxrwx 1 kjwh
-rw-rw-rw- 1 kjwh
-rw-rw-rw- 1 kjwh
-rw-rw-rw- 1 kjwh
-rw-rw-rw- 1 kjwh
-rw-rw-rw- 1 kjwh
-rw-rw-rw- 1 kjwh
-rwxrwxrwx 1 kjwh

root 4618697 Mar 24 11:19 again.exe


root
3002 Mar 24 11:21 again.lpi
root
190 Mar 24 11:18 again.lpr
root
506 Mar 24 11:08 againu.lfm
root
679 Mar 24 11:08 againu.lrs
root
677 Mar 24 11:08 againu.pas
root
2124 Mar 24 11:08 againu.ppu
root
335 Mar 24 11:07 ppas.bat

Observe que h mais arquivos do que pensei que estava salvando.


Continuando, uma breve nota sobre cada arquivo:
again.exe: O programa principal (binrio executavel). Em sistema Win32 acrescido a extenso "exe". No Linux, no tem nenhuma. Este
arquivo ser enorme no Linux devido a incluso de simbolos de depurao. Execute o utilitrio 'strip' para remover os simbolos e diminuir
bastante o tamanho do executvel.
again.lpi: Este o arquivo principal do projeto Lazarus (Lazarus Project Information); o arquivo principal de uma aplicao equivalente em
Delphi ser .dpr.. armazenado no formato XML.
again.lpr: Este o arquivo fonte do programa principal. Apesar da extenso especfica do Lazarus, na realidade um arquivo fonte
totalmente normal de Pascal. Tem uma clausula Uses que permite ao compilador encontrar as Units que necessita. Note que na declarao
do programa no temos que nomear o programa com o mesmo nome do arquivo.
againu.lfm: Aqui onde o Lazarus armazena o Design do formulrio. O Lazarus utilizar este arquivo para gerar um arquivo fonte que esta
incluido na seo do inicio da Unitagainu.pas. Os arquivos do Delphi dfm podem ser convertidos no formato lfm mediante a IDE do Lazarus
nome menu Tools->Convert DFM file to LFM utility.
again.lrs: Este o arquivo fonte gerado. Note que no um arquivo fonte de Windows.
againu.pas: A Unit que contm o cdigo do formulrio.
again.ppu: A Unit compilada
http://wiki.freepascal.org/Lazarus_Tutorial/pt

7/8

12/3/2014

Lazarus Tutorial/pt - Lazarus wiki

ppas.bat: Este um simples script que linka o programa para criar o executavel. Se a compilao tiver sucesso, este arquivo removido
pelo compilador.

Contribuies e Mudanas
Este documento uma traduo do original em ingls.

http://wiki.freepascal.org/Lazarus_Tutorial/pt

8/8