Lazarus Tutorial/mk

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) italiano (it) 日本語 (ja) македонски (mk) Nederlands (nl) português (pt) русский (ru) slovenčina (sk) shqip (sq) 中文(中国大陆) (zh_CN) 中文(臺灣) (zh_TW)

This is the start of a Lazarus Tutorial. Please feel free to add your experiences to it.

Краток преглед

Lazarus е слободена и отворена алатка за усовршен код за FreePascal компајлер (објект pascal), кој исто така е слободен и отворен код. Lazarus IDE (screenshot) е стабилен и се одликува со богата средина за програмирање и креирање на самостојни графички и конзолни апликации. Тековно работи на Linux, FreeBSD и Win32 и обезбедува приспособлив уредувач на код и креиран визуелен тип на средина заедно со пакет-менаџер, пребарувач на грешки и целосна GUI интеграција со FreePascal компајлерот.

Како да почнете - вашата прва Lazarus програма!

Благодарност до (Корисник:Kirkpatc)

Набавете, инсталирајте (Инсталирање на Lazarus) и стартувајте го Lazarus што исто така ќе го направи достапен FreePascal компајлерот.

Ќе се појават неколку прозорци на работната површина: главното мени на врвот, објект-инспекторот од левата страна, изворниот код Lazarus што го зафаќа поголемиот дел од работната површина и веќе направениот прозорец Форма1 поставен врз изворниот код.

На горниот прозорец за мени, под линијата за мени се наоѓа ред на јазичиња. Ако веќе не е избрано „стандардно“ јазиче, изберете го со кликање на глувчето. Потоа, пронајдете ја иконата за копче (правоаголна со „Во ред“ на неа) и кликнете на неа со глувчето. Потоа, кликнете на прозорецот Форма1, што се наоѓа лево од средината. Ќе се појави означен правоаголник „Копче1“. Повторно кликнете на иконата за копче во стандардното јазиче, а потоа кликнете на Форм1 што се наоѓа десно од средината: ќе се појави означен правоаголник „Копче2“.

Сега кликнете на Копче1 за да го изберете. Објект-инспекторот ќе ги прикаже особините на објектот Копче1. Блиску до врвот е особина наречена „Легенда“, со прикажана вредност „Копче1“. Кликнете на тоа поле и променете го „копче1“ во „Притисни“. Ако притиснете ВНЕСИ или ако кликнете на друго поле, ќе видите како ознаката од првото копче на Форма1 се менува во „Притисни“. Сега притиснете на јазичето за настани на објект-инспекторот, за да ги видите различните настани што можат да се поврзат со копчето. Овие вклучуваат OnClick, OnEnter, OnExit итн. Изберете го полето десно од OnClick: се појавува помало поле со три точки (...елипса). Кога ќе кликнете на ова, автоматски ве носи во изворниот код и вашиот покажувач ќе биде поставен на дел од код кој почнува вака:

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   {now type:}    Button1.caption := 'Press again';
   {the editor has already completed the procedure with}
 end;

Притиснете F12 за да го изберете прозорецот Форма1 наместо изворниот код.

Сега уредете ги особините на Копче2: Кликнете на Копче2 за да ги прикажете неговите особини во објект-инспекторот. Променете ја особината на легендата во „Излези“ наместо во „Копче2“. Сега изберете го јазичето за настани и кликнете на полето за OnClick. Кликнете на ...елипса, што ќе ве однесе во изворниот код, во средината на друга постапка:

 procedure TForm1.Button2Click(Sender: TObject);
 begin
 {now type:}   Close;
 {the editor has already completed the procedure with} 
 end;

Сега притиснете F12 за повторно да го видите прозорецот Форма1. Сега сте подготвени да се обидете да компајлирате. Наједноставниот начин да го направите ова е да изберете „Стартувај“ од главното мени на врвот, а потоа опцијата „Стартувај“ на подменито. Како алтернатива, може едноставно да отчукате F9. Ова најпрвин ќе се компајлира, а потоа (ако сѐ е во ред) ќе се поврзе и ќе ја изврши вашата програма.

Ќе се појават неколку текстуални прозорци и ќе се отчукаат различни видови компајлер пораки, но најпосле повторно ќе се појави прозорецот Форма1, но без мрежа на точки; всушност, ова е главниот прозорец на вашата апликација и чека на вас да притискате копчиња или да комуницирате со неа на друг начин.

Обидете се да кликнете на копчето означено како „Притисни“. Ќе забележите дека се менува во „Притисни повторно“. Ако повторно го притиснете, сѐ уште ќе гласи „Притисни повторно“!!

Сега кликнете на копчето обележано како „Излези“. Прозорецот ќе се затвори и програмата ќе излезе. Повторно ќе се појават оригиналниот прозорец Форма1 со мрежата на точки, подготвени да примаат уште уредувачки дејности.

Сега треба да ја зачувате вашата работа (и постојано!!) со избирање на Проект > Зачувај проект како > вашето_изберено_име_на_датотека.pas


Втора сесија

Повторно отворете го вашиот зачуван проект. На прозорецот Форма1, кликнете на копчето „Притисни“ (Копче1) со цел да го изберете. Изберете го јазичето „Настани“ на Објект-инспекторот, кликнете на полето од десната страна веднаш до OnClick, кликнете на... елипса, за да се вратите на соодветната точка на изворниот код.

Уредете го вашиот код да чита како што следува:

 procedure TForm1.Button1Click(Sender: TObject);
{Makes use of the Tag property, setting it to either 0 or 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;

Зачувајте ја вашата работа, повторно компајлирајте и извршете. Левото копче ќе ви даде избоп помеѓу две алтернативни пораки.

Останатото зависи од вас!

Ако преферирате на пишувате конзола - или Pascal програми базирани на текст (на пример, ако следите Основен курс за програмирање Pascal или треба да напишете програми за употреба во пакет режим или за системско програмиирање), сѐ уште можете да го користите Lazarus за уредување, компајлирање и извршување на вашите програми. Создава идеална средина за усовршување на Pascal. Види Конзолен режим Pascal.

Уредувач

Кога го стартувте Lazarus за прв пат, на вашиот работен простор ќе се појават серија на посебни дисконектирани или „пловечки“ прозорци.

Првиот што се наоѓа на врвот од работниот простор е насловен Lazarus Уредувач vXXXXXX - проект1 (кој потоа ќе се модифицира за да го прикаже името на вашиот тековно отворен проект). Ова е главниот контролен прозорец на вашиот проект и го содржи Главното мени и Палетата со компоненти.

LazMain GTK2-mk.png


На линијата под лентата за наслови се наоѓа Главното мени со вообичаените уписи за функциите Датотека, Уреди, Пребарај, Прегледај итн., со неколку избирања што се специфични за Lazarus. Под ова, од левата страна се наоѓа поставка за Бит копчиња (кои брзо ве носат во одредени опции од Главното мени), а од десната страна се наоѓа Палетата со компоненти.

Под прозорецот за Lazarus уредувачот, од левата страна се појавува Објект-инспектор', а од десната страна се појавува Изворен код Lazarus. Може да се појави и помал прозорец, означен како Форма1, поставен врз прозорецот за Изворниот код Lazarus. Ако ова не е веднаш видливо, може да се направи да се појави со притискање на копчето F12, што ви дава опција да изберете помеѓу Изворниот код и прегледот на формата. Прозорецот за форма е оној на кој вие ќе го изградите графичкиот интерфејс за вашата апликација, додека Изворниот код е прозорецот што го прикажува Pascal кодот, што се однесува на апликацијата што ја развивате. Работата на Објект-инспекторот подетално ќе ја дискутираме подолу, додека ја опишуваме Палетата со компоненти.

Кога почнувате нов проект (или кога за првпат го стартувате Lazarus), ќе се конструира номинална форма, што се состои од поле во кое има мрежа со точки, што ќе ви помогне да ги позиционирате различните компоненти од формата и барот на горниот дел што ги содржи вообичаените Минимизирај, Максимизирај и Затвори копчиња. Ако ја притиснете стрелката на глувчето каде било во ова поле, ќе ги видите особините од прикажаната форма во Објект-инспекторот од десната страна на работниот простор.

Други прозорци што можат да станат видливи за време на вашата работа: Проект-инспектор, кој содржи детали за вклучените датотеки во вашиот проект и ви дозволува да додадете или да избришете датотеки од вашиот проект; прозорецот за Пораки, што прикажува пораки од компајлерот, извештаи за грашките и за развојот на проектот; Ако Lazarus се стартува од терминал, оригиналниот терминал останува видлив и таму, исто така, се печатат детални пораки од компајлерот.


Главно мени

For a detailed description of every menu item which is accessible from the Lazarus IDE Main Menu, please refer to the Main menu/mk page.

Лента за копчиња

Мала област со алатник од левата страна од главниот прозорец на уредувачот, веднаш под Главното мени, лево од Палетата со компоненти, содржи поставка на копчиња што ги реплицираат често користените избирања од Главното мени:

Нов модул, Отвори (со стрелка надолу за прикажување на пушти-долу листата на неодамна користените датотеки), Зачувај, Зачувај сѐ, Нова форма, Префрли Форма/Модул (односно прикажува или форма или изворен код на Модул), Прегледај модули, Прегледај форми, Стартувај (односно Компајлирај и Стартувај), Паузирај, Влези во, Прескокни (последните две се функции на пребарувачот на грешки).

Палета со компоненти

Алатникот со јазичиња што прикажува голем број икони, што претставуваат компоненти што вообичаено се користат за градење форми.

Секое јазиче прикажува приказ на различни поставки за икони, што претставуваат функционална група од компоненти. Најлевата икона на секоја група од јазичиња е дијагонална стрелка поставена на лево, наречена Алатка за избирање.

Ако со стрелката од глувчето се движите врз која било икона од Палетата со компоненти без да кликате на иконата, ќе се појави насловот на таа компонента. Ќе забележите дека секој наслов започнува со „T“ – ова го означува Типот, или поточно, „Класата“ на компонентата. Кога избирате компонента за вклучување во форма, се додава Класа во одделот за тип од делот интерфејс од Модул (обично како дел од севкупната TФорма1) и пример од таа класа се додава во одделот var (обично како променлива Форма1). Кои било Методи што ќе ги дизајнирате за употреба од формата или нејзините компоненти (односно Процедури или Функции) ќе бидат поставени во делот за имплементација во модулот

Во следнава листа на компоненти ќе ги пронајдете врските до датотеките што содржат описи за модулите, во кои тие се пронајдени. Ако сакате да дознаете за особините на одредена компонента, често вреди да се погледа во Предокот на таа компонента, а потоа да ги истражите особините на типот на базата од којшто е добиена. На пример, за да го разберете TmaskEdit, корисно е да го проучите TCustomMaskEdit.

ЈАЗИЧИЊА (имињата во голем број се самообјаснувачки):

Component Palette Standart-mk.png
Компоненти што обично се користат: TMainMenu, TPopupMenu, TButton, TLabel, TEdit, TMemo, TToggleBox, TCheckBox, TRadioButton, TListBox, TComboBox, TScrollBar, TGroupBox, TStaticText, TRadioGroup, TCheckGroup, TPanel, TActionList
Component Palette Additional-mk.png
Компоненти што се користат почесто: TBitBtn, TSpeedButton, TImage, TShape, TBevel, TPaintBox, TNotebook, TLabeledEdit, TSplitter, TMaskEdit, TCheckListBox, TScrollBox, TApplicationProperties, TStringGrid, TDrawGrid, TPairSplitter
Component Palette Common Controls-mk.png
TTrackBar, TProgressBar, TTreeView, TListView, TStatusBar, TToolBar, TUpDown, TPageControl, TImageList
Component Palette Dialogs-mk.png
TOpenDialog, TSaveDialog, TSelectDirectoryDialog, TColorDialog, TFontDialog, TOpenPictureDialog, TSavePictureDialog, TCalendarDialog, TCalculatorDialog

Неколку корисни Дијалог процедури или функции не се појавуваат на Палетата, но лесно се користат како директни повици од вашата програма за изворен код.

За неколку добри примери за употребата на компонентите види во поддиректориумот на инсталацијата на вашиот изворен код $LazarusPath/lazarus/examples. Повеќето од програмите покажуваат како директно да користите дијалози и други компоненти, без употреба на IDE и палета на компоненти или, пак, со посебна датотека за дефиниција на форма: Сите компоненти се целосно и експлицитно дефинирани во главната Pascal програма. Други примерни програми целосно го употребуваат IDE.

Некои примери не работат веднаш: можеби ќе треба да губите време со патеки и дозволи за датотеки или директориуми. Ако сакате да компајлирате некој од примерите, треба да бидете сигурни дека имате дозволи за читај/пишувај/изврши на датотеките и директориумите или, пак, да ги ископирате датотеките во директориум каде што имате соодветна дозвола.

Обидете се да ја стартувате „testall“ програмата за да видите мени на достапни компоненти, заедно со мала група за тест-форми за повеќето од нив; потоа проверете го кодот да проверите како работат!

  • Разно
Component Palette Misc-mk.png
TColorButton, TSpinEdit, TArrow, TCalendar, TEditButton, TFileNameEdit, TDirectoryEdit, TDateEdit, TCalcEdit, TFileListBox
  • Управување со податоци
Component Palette DataControls-mk.png
Компоненти свесни за податоци, кои во голем обем ги реплицираат Стандардните и Допонителните групи, но се применливи во база на податоци: TDBNavigation, TDBText, TDBEdit, TDBMemo, TDBImage, TDBListBox,TDBComboBox, TDBCheckBox, TDBRadioGroup, TDBCalendar, TDBGroupBox, TdbGrid
  • Пристап до податоци
Component Palette DataAccess-mk.png
TDatasource
Component Palette System-mk.png
TTimer, TIdleTimer, TProcess
  • SynEdit
Component Palette SynEdit-mk.png
Група на компоненти, која помага при интерфејс со други јазици и софтверски алатки. SynEdit е напредна мултилиниска контрола за уредување за Borland Delphi, Kylix и C++Builder. Поддржува обележување синтакса и извршување код и вклучува експортирачи за html, tex and rtf. Претставува целосна-VCL/CLX контрола, што значи дека не е обвивка за Microsoft Windows контроли и не е потребна библиотека за време на извршување; ова го прави SynEdit a вкрстено-платформска компонента. Исто така, се планира компатибилност со FreePascal, а SynEdit е компонента за уредување во Lazarus IDE. Види synedit at sourceforge. TSynEdit, TSynAutoComplete, TSynExporterHTML, TSynMacroRecorder, TSynMemo, TSynPasSyn, TSynCppSyn, TSynJavaSyn, TSynPerlSyn, TSynHTMLSyn, TSynXMLSyn, TSynLFMSyn, TSynUNIXShellScriptSyn, TSynCssSyn, TSynPHPSyn, TSynTeXSyn, TSynSQLSyn, TSynMultiSyn

Како да ја корисите палетата

За да ја користите палетата, треба да постои отворена форма за преглед во уредувачот (ако не постои, избери Датотека -> Нова форма). Кликнете на иконата во соодветното јазиче од палетата за компонентата што сакате да ја користите, потоа кликнете на формата, блиску на местото каде што сакате компонентата да се појави. Кога ќе се појави саканата компонента, можете да ја изберете со кликање на глувчето, потоа преместете ја на одреденото место на формата каде што сакате да ја наместите и приспособете ја нејзината големина. Можат да се направат приспособувања на изгледот, со преправање на сликата на формата со користење на сликата или со изменување на релевантната особина во Уредувачот на објектот за таа компонента.

Ако инсталирате дополнителни компоненти, тоа што самите ги имате напишано или некои како пакет од некој друг изворен код, во тој случај на вашата палета за компоненти ќе се појават дополнителни јазичиња со соодветните икони. Новите компоненти можат да се изберат и да се употребат во вашите форми на ист начин како оние добиени по однапред зададен начин.

Како да користите стандардни, вообичаени и проширени управувачки елементи

Модулите StdCtrls, ComCtrls и ExtCtrls содржат дефиниции и описи на повеќето од најстандардно употребуваните управувачки елементи за изградба на форми и други објекти во Lazarus апликациите.

Повеќето од конечните целни управувачки елементи што развивачите на апликацијата сакаат да ги користат, на пример, TButton, TMemo, TScrollBar итн., имаат одговарачки предок, на пример, TCustomButton, TCustomMemo или TCustomScrollBar. Неколку од особините и методите, соодветни на конечните целни управувачки елементи подетално се дефинирани (и објаснети) во TCustomXXX класа и се наследени од конечниот целен управувачки елемент.

Ако спуштите компонента на уредувачот на форма, не мора експлицитно да додавате код за да ја креирате. Компонентата заедно со формата, автоматски ќе се креира со IDE, а автоматски ќе се уништи при уништување на формата.

Како и да е, ако вие самите ја креирате компонентата со код, не заборавајте да ја пуштите кога веќе нема да биде потребна.

Ако поставите компонента на Дизајнерот на форма и погледнете во Објект-инспекторот, можете да ги набљудувате промените на особините додека ја движите компонентата наоколу.

На пример, ако поставите копче (TButton) на формата, ако кликнете на него да го изберете и потоа го движите низ формата со глувчето, можете да набљудувате како вредностите на врвот и одлево се менуваат во Објект-инспекторот, со цел да ја одразат новата позиција. Ако ги користите линиите на објектот за менување на големината со цел да ја приспособите големината, можете исто така да набљудувате како особините за височина и широчина се менуваат.

Од друга страна, пак, со употреба на Објект-инспекторот можете да ја иберете вредноста што се однесува на некоја особина, на пример, височина и тип во нова вредност; можете да набљудувате како големината на објектот на формата се менува со цел да ја одрази новата вредност.

Исто така, можете експлицитно да ги промените особинте на објектот во код, со отчукување (во соодветниот Оддел за имплементација во Уредувачот на изворниот код), на пример,

         Form1.Button1.Height: = 48

Ако ја внесете оваа нова вредност во Уредувачот на изворен код, а потоа се вратите назад да погледнете во Дизајнерот за форма, ќе забележите дека копчето на Формата има нова величина. Новата вредност, исто така, ќе се прикаже во Објект-инспекторот.

Можеме да заклучиме дека постојат три различни начини за одредување особина на одреден објект:

  • со користење глувче,
  • со поставување на вредностите во објект-инспекторот,
  • експлицитно, со пишување на код.

Компонентите дефинирани во овие модули имаат неколку особини што се стандардни за повеќето од нив и други особини што се специфични за индивидуалните компоненти. Овде ќе ги опишеме најстандардните од нив. Невообичаени особини или особини со специфичен управувачки елемент, ќе ги опишеме во индивидуалните управувачки елементи.

Секогаш може да се добие дополнителна помош со избирање особина или клучен збор или во Објект-инспекторот или во Уредувачот на изворен код и со притискање на F1. Вашиот пребарувач за Помош ќе ве однесе на соодветната страница во документацијата.

Ако описот на особината на таа страница не е доволен, можете да навигирате до соодветниот опис во класите за предок, со избирање врски во набројувањето предци или со избирање Тип на предок во декларацијата за објектот.

Конструктори на пример, Креирај доделена меморија и системски ресурси што му се потребни на објектот. Исто така, тие го повикуваат конструкторот од кој било присутен подобјект во класата.

Уништувачи: го отстрануваат објектот и од-доделуваат меморија и други ресурси. Ако повикате Уништи за објект што сѐ уште не е инсталиран, ќе се генерира грешка. Секогаш користете Слободен метод за од-доделување објекти, бидејќи тој проверува дали вредноста на објектот е празна пред повикување на Уништи.

Направете ги следниве мерки за претпазливост при креирање на ваш сопствен Уништи метод:

  • Објави Уништи со директивата натфрла, затоа што тоа е виртуелен метод.
  • Секогаш повикувај „наследи уништи;“ како последно нешто на кодот за уништувачот.
  • Бидете свесни дека може да се појави исклучок на конструктор во случај да нема доволно меморија за креирање објект или ако се случи нешто друго. Ако исклучокот не се изврши внатре во конструкторот, објектот ќе биде само делумно изграден. Во тој случај Уништи ќе се повика кога не го очекувате, за да може вашиот уништувач да провери ако изворите навистина се доделени, пред да се ослободи од нив.
  • Секогаш повикувајте Слободен за објекти креирани на конструкторот.


Некои стандардно наброени особини
ОсобинаЗначење
Action Главното дејство или настан што се однесува на објектот. На пример, избирањето на копчето „Излези“ може да предизвика дејство „Затвори“.
Align Го дефинира начинот на кој објектот треба да се подреди со објектот родител. Можни вредности се alTop (поставена на врвот, користејќи ја целата достапна широчина), alBottom, alLeft (поставена на лево, користејќи ја целата достапна височина), alRight. alNone (поставена каде било на родител-управувачкиот елемент) или alClient (го зазема целиот достапен простор веднаш до управувачките елементи порамнети на врвот, дното, лево и десно).
Anchor Се користи за држење на управувачкиот елемент на одредена далечина од дефинираните рабови на родител-управувачкиот елемент, кога се менува големината на родителот. На пример, [akBottom, akRight] ќе го држи управувачкиот елемент на фиксна оддалеченост од долниот десен агол.
AutoSelect Кога е точно, управувачки елемент за уредување ќе го избере целиот текст кога ќе прими фокус или кога ќе се притисне копчето Внеси.
AutoSelected Точно индицира дека уредувањето или комбо-поле управувачкиот елемент тукушто извршил AutoSelect операција, за последователните кликања на глувчето и на копчињата од тастатурата да продолжат нормално, без избирање текст.
BorderSpacing Просторот околу рабовите помеѓу Anchored уредувачки елемент и неговиот родител.
Caption Текстот што е прикажан на или до управувачкиот елемент; треба првенствено да даде индикација за функцијата на управувачкиот елемент или инструкција како „Затвори“ или „Изврши“. Како однапред зададен, насловот е поставен да биде ист како и особината „Име“, а програмерот на апликацијата треба да го замени со значаен текст наместо однапред зададените вредности.
CharCase Укажува како одреден текст е прикажан на управувачкиот елемент за уредување: Нормално (задржувајќи ја формата на буквите што ги отчукува корисникот), конвертирани во големи букви или конвертирани во мали букви.
Constraints Ја поставува минималната и максималната големина на управувачкиот елемент. Во случај да се промени големината на управувачкиот елемент, новите димензии се секогаш во рамките на дометот зададен овде. Треба да внимавате при поставувањето на овие опции, со цел тие да не им противречат на поставките Фиксирања и Порамнување.
Color Бојата што ќе се користи за изработка на управувачкиот елемент или за пишување на текстот што го содржи.
Enabled Булова особина за одредување на тоа дали управувачкиот елемент е способен или не, за селектирање и извршување на одредено дејство. Ако не е Овозможено, често е Сиво надвор од формата.
Font Фонтот што ќе се користи за пишување текст што се однесува на управувачкиот елемент – или насловот или ознаката или текстуалните стрингови содржани во управувачкиот елемент. Внесувањето на Објект-инспекторот обично има поле (+) од левата страна, а со избирање на ова поле се појавуваат дополнителни опции, на пример, поставка на знаци, боја и големина.
Hint Мал информативен скокачки текст, што се појавува ако покажувачот на глувчето лебди над управувачкиот елемент.
Items Листата на „Работи“ што ги содржи објектот, како што се група на слики, серија на текстуални линии, неколку дејства во листа на дејства итн.
Lines Ред на стрингови, што ги содржат текстуалните податоци со повеќе од една линија на податоци, на пример, Уреди-поле или Комбо-поле. Редот е нулта-индексиран, односно, линиите се нумерирани [0..numLines-1].
Name Идентификаторот по кој се познава управувачкиот елемент во програмата. IDE му дава однапред зададено име, врз основа на основниот тип, на пример, successive instances на TBitButton ќе биде именувано Form1.BitBitton1 и Form1.BitButton2; од програмерот на апликацијата зависи дали ќе им даде позначајни имиња на пример, ExitButton или OKButton. Името на управувачкиот елемент се применува на Насловот за управувачкиот елемент како однапред зададен, но текстот на насловот може посебно да се промени.
PopUpMenu Прозорец што содржи контексно-зависно мени со информации што се појавува во моментот кога ќе го кликнете десното копче од глувчето на објектот.
Позиција (или Врв, Лево) Одредува каде се наоѓа управувачкиот елемент на родител формата или на прозорецот.
ReadOnly Булова особина, која ако е точно, означува дека корисникот или рутината за повикување, можат да ја читаат содржината на управувачкиот елемент, но не можат да ја пишуваат или да ја менуваат.
ShowHint Овозможува прикажување на мал прозорец што содржи контексно-зависна помош или други описи, во моментот кога со покажувачот на глувчето ќе лебдите над управувачкиот елемент.
Големина (или Височина и Широчина) Димензиите на управувачкиот елемент.
Style Опциите достапни за стил зависат од видот на управувачкиот елемент што се зема предвид: На пример, стилот може да се одреди со TFormStyle, TBorderStyle, TButtonStyle итн.
TabOrder Цел број каде што овој управувачкиот елемент треба да биде поставен во серијата табови на формата.
TabStop Булова особина, која ако е точно, го поставува овој управувачкиот елемент во серијата објекти, до кои корисникот може стигне со последователно притискање на копчето Таб.
Text Стринг на текст што ги претставува вистинските податоци што овој управувачкиот елемент ги содржи. Особено се применува во типови објекти Текст, Мемо и Листа на стрингови. Повеќето од операциите за уредување (на пример, Избери, Исчисти, Отсечи, Копирај) се извршуваат во овој дел од објектот, кој го содржи вистинскиот стринг што, всушност, се уредува. Ако управувачкиот елемент содржи повеќе од една линија на текст, на пример, TMemo or TComboBox, во тој случај текстуалните елементи се подредуваат во ред од стрингови (нулта-индексиран, односно, нумерирани од [0..numLines-1]) во Линии.
Visible Ако е точно, објектот може да се види на формата; ако е неточно, објектот е скриен.
WordWrap Логичен индикатор за прикажување на тоа дали е овозможено пакување на зборови, односно, ако некој збор се приближува до крајот на линијата, а ќе биде преголем за линијата, тогаш се пакува долу до следната линија.

Многу дејства се стандардно подредени во јазичето за „Настани“ во Објект-инспекторот. Ако изберете упис од листата, се појавува Комбо-поле со паѓачка листа, на која се прикажуваат сите веќе дефинирани дејства, овозможувајќи ви да изберете едно што се однесува на овој настан. Можете дополнително да изберете елипса (три точки...) по што ќе бидете однесени во областа на Уредувачот на изворен код, каде што можете да почнете со отчукување на вашите инструкции за дејство за одбраниот настан.

Иако се достапни голем број настани за секој даден управувачки елемент, во пракса потребно е само да применувате неколку од нив. Кај повеќето управувачки елементи, значајно е да се обезбеди кодирање за „OnClick“; за покомплексни управувачки елементи можеби, исто така, ќе биде потребно да обезбедите „OnEntry“ (кога покажувачот на глувчето ќе го влезе во Управувачкиот елемент и му даде фокус) и „OnExit“ (кога покажувачот на глувчето ќе го напушти Управувачкиот елемент; или ќе треба да напишете управувач на настан за „OnChange“ или „OnScroll“, во зависност од природата на одредениот управувачки елемент со кој работите.

Скокачкото мени што се појавува кога ќе кликнете на десното копче од глувчето на објект во Дизајнерот на формата, како прв елемент го има: „Креирајте однапред зададени настани“, избирањето на оваа опција го има истиот ефект како и избирањето на елипсата во Објект-инспекторот за однапред зададен настан, обично OnClick: ќе бидете однесени во областа за имплементација на Уредувачот на изворен код, каде што можете да го отчукувате кодот за извршувачот на настани.

Стандардна стратегија во Објект-ориентирано програмирање е обезбедување на ActionList со способноста за внесување, отстранување или уредување на голем број на преддефинирани дејства, од кои може да се избере најсоодветното за употреба во кој било случај.


Некои стандардно наброени дејства
Дејство Значење
OnChange Треба да се преземе дејство ако се детектира каква било промена (на пример, движење на глувче, кликање со глувче, притискање на копче, уредување текст, измена на слика итн.)
OnClick Треба да се преземе дејство кога се клика на (левото) копче од глувчето. Ова обично е главното или однапред зададено дејство од управувачкиот елемент; на пример, кликање копче или поле за штиклирање иницира дејство што се однесува на полето за штиклирање. Дополнително може да иницира процес на избирање, на пример, во TextBox или Memo, или да го сигнализира почнувањето цртање Пенкало или Четка.
Click Метод за симулација на ефектот од кликање на управувачки елемент во кодот. Овој метод најчесто го има во тип на управувачки елементи со копче (TButton, TBitBtn, TspeedButton итн.). Може да се напише процедура за повикување на истиот код како и OnClick дејството. Оваа услуга може да биде особено корисна ако активирањето на еден управувачки елемент со кликање предизвика пад или активација на други управувачки елементи, тогаш методот Кликање може да се употреби за иницирање дејство, за корисникот да не клика експлицитно на многу контроли.
OnDragDrop Треба да се преземе дејство за време на Влечи-Пушти маневрирањето, односно, кога глувчето се користи за „фаќање“ елемент или на некој текст итн. и за негово придвижување низ екранот на друга локација.
OnEntry Треба да се преземе дејство кога покажувачот на глувчето ќе влезе во областа што ја зафаќа објектот, обично преместувајќи го фокусот на тој објект. Ова може да вклучува промени во изгледот на објектот, на пример, обележување или кревање на границата.
OnExit Треба да се преземе дејство кога покажувачот на глувчето ќе излезе од областа што ја зафаќа објектот, обично преместувајќи го фокусот надвор од објектот.
OnKeyPress Треба да се преземе дејство за секое притискање копче. Различно од OnKeyDown, што обично одговара на копче што е долу, без разлика дали тоа веќе било долу кога му е даден фокус на овој управувачки елемент. OnKeyPress бара притискање на копче додека фокусот е не овој управувачки елемент.
OnKeyDown Треба да се преземе дејство ако одредено копче е долу, додека фокусот е на овој управувачки елемент. Различно од OnKeyPress – на пример, копчето можеби веќе било долу кога фокусот влегол во овој управувачки елемент, додека OnKeyPress копчето да се притисне кога фокусот е на овој управувачки елемент.
OnKeyUp Треба да се преземе дејство ако одредено копче е горе (односно, не е притиснато) додека фокусот е на овој управувачки елемент.
OnMouseMove On Mouse Down - Треба да се преземе дејство ако покажувачот на глувчето се движи додека фокусот е на овој управувачки елемент.
OnMouseDown On Mouse Down - Треба да се преземе дејство ако покажувачот на глувчето е долу додека фокусот е на овој управувачки елемент.
OnMouseUp Треба да се преземе дејство ако копчето на глувчето е горе, а покажувачот на глувчето врз овој управувачки елемент. Означува дека копчето на глувчето претходно било долу, а сега е ослободено. Во случаите кога покажувачот влегува во управувачкиот елемент, но копчето на глувчето сѐ уште не е притиснато, се опфаќа со OnEntry или OnMouseEnter.
OnResize Треба да се преземе дејство кога се менува големината на управувачкиот елемент. Ова може да вклучува повторно порамнување на текст или избирање на различна големина на фонт итн.

Како да користите менија

Сугестии за креирање менија за вашите форми

TMainMenu е главното мени што се појавува на врвот кај повеќето форми: дизајнерите на формите можат да го креираат со избирање на различни елементи за мени. TPopupMenu е прозорец за мени што се појавува со значајни, обично чувствителни при контекст детали и избори, во моментот кога ќе го кликнете десното копче од глувчето близу до контролата.

Главното мени претставува невидлива компонента: односно, ако ја изберете иконата од палетата за компоненети и ја поставите на формата, нема да се појави во времето на извршување. Наместо тоа, ќе се појави линија со мени со дефинирана структура од Уредувачот на мени. Скокачки менија поставени на формата, воопшто не се појавуваат со избирање икона од Палетата за компоненти, освен ако го кликнете со десното копче од глувчето за контрола што има такво мени.

За да го видите Уредувачот на мени, кликнете со десното копче од глувчето на иконата за Главното мени или на Скокачкото мени на вашата форма. Притоа, ќе се појави скокачко поле, кое ве повикува да внесете елементи во линијата за мени.

Ќе се прикаже поле за уредување, кое содржи копче означено како Нов елемент1. Ако кликнете со десното копче од глувчето на тоа поле, ќе се прикаже скокачко мени што ви овозможува да додадете нов елемент пред или по (во должина на истото ниво1) или да креирате подмени со можност да додадете дополнителни елементи под (или над) новиот елемент во удолу поставената колона.

Некој или сите од Елементите на менито што ги додавате, можат да се конфигурираат со употреба на Објект-инспектор.

Во најмала рака, на секој елемент треба да му дадете Наслов што ќе се појави на линијата за мени (исто така, можете да му дадете и позначајно Име). Насловот треба да го означува дејството што ќе се избере, на пример, „Отвори датотека“, „Затвори“, „Стартувај“ или „Напушти“.

Ако сакате посебна буква во насловот да се поврзува со копче за кратенка, пред буквата треба да стои ampersand. Во времето на извршување, елементот од менито ќе се појавува со подвлечена буква за кратенка, а со притискање на копчето со таа буква ќе го има истиот ефект како и избирање на елементот од менито. Како алтернатива, можете да изберете серија од копчиња за кратенки (на пример, Ctrl-C за Копирај или Ctrl-V за Залепи – стандардните кратенки на тастатурата) со ShortCut особина на Главниот елемент.

Често се смета за корисно користењето на управувачките елементи на мeнито заедно со ActionList што содржи серија на стандардни кориснички Дејства. Елементите од менито можат да се поврзат со дејствата од листата во Објект-инспекторот, а истите дејства можат да се поврзат со Копчиња, Копчиња на Алатник иБрзи копчиња Очигледно е дека е економична заложбата за повторна употреба на истиод код за да се одговори на различни настани, отколку да се пишува посебен OnClick извршувач на настани за секоја контрола посебно.

Како однапред предвчитани се неколку стандардни дејства од StdActns или ако се користат DataAware управувачките елементи од DBActns, овие можат да се избираат со употреба на Уредувачот за листа на дејства, што се појавува ако кликнете со десното копче од глувчето на иконата за листа на дејства, што се наоѓа на Дизајнерот на формата.

Пребарувач на грешки

Сѐ уште не е напишано.

види, исто така, IDE Прозорец - Пребарувач на грешки

Lazarus датотеки

(Благодарност до Кевин Вајтфут.)

(Дополнето од Џузепе Ридино, Корисник Kirkpatc и Том Лисјак)


Кога зачувувате, всушност, вие ќе зачувувате две датотеки:

  xxx.pas и yyy.lpr 

(Зачувувате повеќе, но тие се оние што можете да ги именувате). Проект-датотеката (lpr) и модул-датотеката (pas) не смеат да имаат исто име затоа што Lazarus ќе го преименува модулот (внатре во изворниот код), како и името на модул-датотека и програмата во името на проект-датотеката (ова мора да го направи затоа што подоцна, компајлерот нема да може да го пронајде модулот кога ќе се упатува во проект-датотеката). Се разбира, со цел да биде доследен, ги менува сите појави на модул1 во xxx.

Притоа, ако зачувувате проект наречен again, обидот да зачувате again.pas и again.lpr е неуспешен бидејќи имињата на модулот и имињата на програмата се наоѓаат во истиот простор за име, што резултира во грешка на дуплицирано име.

Еве до што дојдов:

e:/lazarus/kj/lazhello:

total 4740  free 76500
-rwxrwxrwx   1 kjwh     root  4618697 Mar 24 11:19 again.exe
-rw-rw-rw-   1 kjwh     root     3002 Mar 24 11:21 again.lpi
-rw-rw-rw-   1 kjwh     root      190 Mar 24 11:18 again.lpr
-rw-rw-rw-   1 kjwh     root      506 Mar 24 11:08 againu.lfm
-rw-rw-rw-   1 kjwh     root      679 Mar 24 11:08 againu.lrs
-rw-rw-rw-   1 kjwh     root      677 Mar 24 11:08 againu.pas
-rw-rw-rw-   1 kjwh     root     2124 Mar 24 11:08 againu.ppu
-rwxrwxrwx   1 kjwh     root      335 Mar 24 11:07 ppas.bat

Ќе забележите дека постојат многу повеќе датотеки отколку оние две што јас мислев дека ги зачувувам.


Ова е кратко објаснување за секоја датотека:

again.exe: Главната програма бинарно извршлива. Win32 додава „exe“ наставка. Linux нема (само името на програмата). Датотеката ќе биде огромена во Linux како резултат на вклучувањето на симболите за пребарување грешки. Стартувајте ја услугата „отстрани“ со цел да ги отстраните и значително да ја намалите големината за извршување.

again.lpi: (Информации за проектот Lazarus). Ова е главната информациска датотека на Lazarus проектот, иста Delphi главна датотека од апликацијата ќе биде .dpr датотека. Зачувана е во XML-датотека и содржи информации за сите библиотеки и модули што се потребни за изградба на извршена датотека.

again.lpr: Датотеката за изворниот код на главната програма или основна датотека. И покрај специфичната наставка за lazarus, тоа всушност претставува перфектно нормална датотека за изворен код на Pascal. Има клаузула за употреби што му дозволува на компајлерот да ги пронајде сите потребни модули. Ќе забележите дека програмскиот исказ не треба да ја именува програмата на ист начин како името на датотеката. Оваа датотека вообичаено е значително мала, со само неколку искази за инсталирање, изградба на форма, стартување и затворање апликација. Повеќето од работата се извршува во датотеките за изворните кодови на модулот, со наставка „.pas“.

againu.lfm: Тука Lazarus го складира распоредот за модулот на формата, на начин читлив за човекот. Ги претставува особините на различни компоненети, на начин на којшто се поставени во Објект-инспекторот. Секој опис на објект почнува со линија:

објект xxxx 

Потоа следува листа на особини (вклучувајќи вклопени или вградени објекти), потоа линија за крај. Lazarus ја користи оваа датотека за да генерира изворна датотека (.lrs) што е вклучена во одделот за инсталација на модулот againu.pas. Датотеките Delphi dfm, можат да се конвертираат во lfm формат во Lazarus IDE, со користење на услугата Алатки -> Конвертирај DFM датотека во LFM.


againu.lrs: Ова е генерираната изворна датотека, што ги содржи инструкциите на програмата за градење форма (ако погледнете во главната датотека на модулот, во одделот за инсталирање ќе ја видите линијата

{$i againu.lrs} 

што ѝ дава инструкции на програмата за вчитување на изворната датотека). Ќе забележите дека ова не е изворна датотека за Windows.

againu.pas: Модулот што го содржи кодот за формата; ова обично е единствената датотека што програмерот на апликацијата треба да ја уреди или, пак, да ја истражи и содржи кодови специфично понудени од страна на програмерот (посебно извршувачи на настани).

againu.ppu: Ова е генерираниот модул што се поврзува во извршната датотека, заедно со други модули именувани во одделот за Употреби.

ppas.bat: Ова е едноставен запис што ја поврзува програмата со цел да ја произведе извршливата команда. Ако компилацијата е успешна, тогаш таа се брише од страна на компајлерот.

Листа на соработници и промени на текстот

Оваа страница е импортирана од epikwiki version.

  • Created initial page and template. T. Lisjac - 11/04/2003 VlxAdmin
  • Inserted a note containing instructions for writing your first Lazarus Program. Suggest an administrator places it in the appropriate place on the Tutorial menu. 3/09/2004 User:Kirkpatc
  • Per above, moved Chris's writeup to the main body of the tutorial VlxAdmin
  • Began to insert text describing the Lazarus Editor - more to follow! 24 Mar 2004 User:Kirkpatc
  • Added some more to Lazarus Editor section of Tutorial. 25 Mar 2004 User:Kirkpatc
  • Added screenshots and revised some of the page formatting VlxAdmin 3/25/2004
  • Moved some of kwhitefoot's comments into Tutorial section. Formatting not quite right, but have to go to bed now! 26 Mar 2004 User:Kirkpatc
  • Formatted, added credits and comments. Removed original notes. VlxAdmin 3/26/2004
  • More material added to Editor section of tutorial. 26 Mar 2004 User:Kirkpatc
  • More material added describing the Main Menu. Renamed 'Hello World' to 'Getting Started' and moved it to nearer the top. 31 March 2004 User:Kirkpatc
  • Inserted section on Run sub-menu. Some general editing (eg ended each entry with a period to ensure consistency). 9 Apr 2004 User:Kirkpatc
  • Inserted a new section on How to get started with MySQL in FPC/Lazarus. 13 Apr 2004 User:Kirkpatc
  • Deleted the section on MySQL from here: it has been copied to Lazarus Database section of tutorial. 14 Apr 2004 User:Kirkpatc
  • Added some more to the description of the Editor Main Menu. 18 Apr 2004 User:Kirkpatc
  • Added section on Environment sub-menu. 19 Apr 2004 User:Kirkpatc
  • Added section on Components sub-menu. 4 May 2004 User:Kirkpatc
  • Adding Tools sub-menu description (incomplete). 7 May 2004 User:Kirkpatc
  • Added some screenshots to Menu descriptions. 9 May 2004 User:Kirkpatc
  • Fixed a bit in Environment Options - thanks VincentSnijders. 14 May 2004 User:Kirkpatc
  • More additions to Tools sub-menu. 19 May 2004 User:Kirkpatc
  • Added a section on the Button Bar and started work on The Component Palette. 20 May 2004 User:Kirkpatc
  • Posted a description file for the StdCtrls unit of the LCL, in the hope that people will add comments. 26 May 2004 User:Kirkpatc
  • Edited the StdCtrls file, removing a lot of repetitive material and doing some formatting. It is still far too long. 28 May 2004 User:Kirkpatc
  • Expanding on the Components Palette. 5 June 2004 User:Kirkpatc
  • Added a lot to the DialogExamples page. 10 June 2004 User:Kirkpatc
  • Considerable revision of the StdCtrls page, hopefully making it clearer and encouraging people to contribute - particularly in the 'Description' sections. 14 June 2004 User:Kirkpatc
  • Added pages for Menus and Dialogs units (linked to Component Palette description) - please feel free to add to these pages. 14 June 2004 User:Kirkpatc
  • Added page for Common Controls (linked to Component Palette). 16 June 2004 User:Kirkpatc
  • Added MaskEdit page (linked to Component Palette). 17 June 2004 User:Kirkpatc
  • Added Buttons, ExtCtrls pages (linked to Component Palette). 17 June 2004 User:Kirkpatc
  • Edited MainMenu component description page. 23 June 2004 User:Kirkpatc
  • Some additions to Common Controls. 28 June 2004 User:Kirkpatc
  • A new tutorial on Text-mode Pascal programming has been added. 5 July 2004 User:Kirkpatc
  • Minor changes to ComCtrls, ExtCtrls, Environment Menu. 10 July User:Kirkpatc
  • Added FormsTxt, component description page for Component Palette. 20 July 2004 User:Kirkpatc
  • Some corrections to ConsoleModePascal. 21 July 2004 User:Kirkpatc
  • Some small changes to ComponentPalette. 22 July 2004 User:Kirkpatc
  • Returned after a long absence! Changed link for component descriptions in StdCntls group of ComponentPalette to point directly at the Lazarus on-line help html pages. 25 Sept 2007 User: Kirkpatc
  • Uploaded some more up-to-date screenshots and fixed links in descriptions of the Menus. 2 October 2007 User: Kirkpatc
  • Fixed links for component descriptions in Extra Controls section of Component Palette. 2 October 2007 User: Kirkpatc
  • Added sections on How to use Standard Controls etc and How to use Menus (based on topics in the LCL Documentation). Fixed some links in Component Palette. 4th June 2008 User: Kirkpatc
  • Some edits and additions to the Lazarus Files section. 12th July 2008 User: Kirkpatc
  • Translated from English into Macedonian by Ljupka Pulovska. 25th September 2008 User:Ljupka