Sign in Join
Wiki copytemporary

Lazarus Tutorial/mk: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11*This is the start of a Lazarus Tutorial. Please feel free to add your experiences to it.*
22
33## Краток преглед
44
55Lazarus е слободена и отворена алатка за усовршен код за FreePascal компајлер (објект pascal), кој исто така е слободен и отворен код. Lazarus IDE ([screenshot](http://lazarus-ccr.sourceforge.net/kbdata/lazide.jpg)) е стабилен и се одликува со богата средина за програмирање и креирање на самостојни графички и конзолни апликации. Тековно работи на Linux, FreeBSD и Win32 и обезбедува приспособлив уредувач на код и креиран визуелен тип на средина заедно со пакет-менаџер, пребарувач на грешки и целосна GUI интеграција со FreePascal компајлерот.
66
77## Како да почнете - вашата прва Lazarus програма!
88
99Благодарност до ([[Корисник:Kirkpatc]])
1010
1111Набавете, инсталирајте ([[Инсталирање на Lazarus]]) и стартувајте го Lazarus што исто така ќе го направи достапен FreePascal компајлерот.
1212
1313Ќе се појават неколку прозорци на работната површина: главното мени на врвот, објект-инспекторот од левата страна, изворниот код Lazarus што го зафаќа поголемиот дел од работната површина и веќе направениот прозорец Форма1 поставен врз изворниот код.
1414
1515На горниот прозорец за мени, под линијата за мени се наоѓа ред на јазичиња. Ако веќе не е избрано „стандардно“ јазиче, изберете го со кликање на глувчето. Потоа, пронајдете ја иконата за копче (правоаголна со „Во ред“ на неа) и кликнете на неа со глувчето. Потоа, кликнете на прозорецот Форма1, што се наоѓа лево од средината. Ќе се појави означен правоаголник „Копче1“. Повторно кликнете на иконата за копче во стандардното јазиче, а потоа кликнете на Форм1 што се наоѓа десно од средината: ќе се појави означен правоаголник „Копче2“.
1616
1717Сега кликнете на Копче1 за да го изберете. Објект-инспекторот ќе ги прикаже особините на објектот Копче1. Блиску до врвот е особина наречена „Легенда“, со прикажана вредност „Копче1“. Кликнете на тоа поле и променете го „копче1“ во „Притисни“. Ако притиснете ВНЕСИ или ако кликнете на друго поле, ќе видите како ознаката од првото копче на Форма1 се менува во „Притисни“. Сега притиснете на јазичето за настани на објект-инспекторот, за да ги видите различните настани што можат да се поврзат со копчето. Овие вклучуваат OnClick, OnEnter, OnExit итн. Изберете го полето десно од OnClick: се појавува помало поле со три точки (...елипса). Кога ќе кликнете на ова, автоматски ве носи во изворниот код и вашиот покажувач ќе биде поставен на дел од код кој почнува вака:
1818
19-` procedure TForm1.Button1Click(Sender: TObject);`\
20-` begin`\
21-`   {now type:}    Button1.caption := 'Press again';`\
22-`   {the editor has already completed the procedure with}`\
23-` end;`
19+``` pascal
20+ procedure TForm1.Button1Click(Sender: TObject);
21+ begin
22+ {now type:} Button1.caption := 'Press again';
23+ {the editor has already completed the procedure with}
24+ end;
25+```
2426
2527Притиснете F12 за да го изберете прозорецот Форма1 наместо изворниот код.
2628
2729Сега уредете ги особините на Копче2: Кликнете на Копче2 за да ги прикажете неговите особини во објект-инспекторот. Променете ја особината на легендата во „Излези“ наместо во „Копче2“. Сега изберете го јазичето за настани и кликнете на полето за OnClick. Кликнете на ...елипса, што ќе ве однесе во изворниот код, во средината на друга постапка:
2830
29-` procedure TForm1.Button2Click(Sender: TObject);`\
30-` begin`\
31-` {now type:}   Close;`\
32-` {the editor has already completed the procedure with} `\
33-` end;`
31+``` pascal
32+ procedure TForm1.Button2Click(Sender: TObject);
33+ begin
34+ {now type:} Close;
35+ {the editor has already completed the procedure with}
36+ end;
37+```
3438
3539Сега притиснете F12 за повторно да го видите прозорецот Форма1. Сега сте подготвени да се обидете да компајлирате. Наједноставниот начин да го направите ова е да изберете „Стартувај“ од главното мени на врвот, а потоа опцијата „Стартувај“ на подменито. Како алтернатива, може едноставно да отчукате F9. Ова најпрвин ќе се компајлира, а потоа (ако сѐ е во ред) ќе се поврзе и ќе ја изврши вашата програма.
3640
3741Ќе се појават неколку текстуални прозорци и ќе се отчукаат различни видови компајлер пораки, но најпосле повторно ќе се појави прозорецот Форма1, но без мрежа на точки; всушност, ова е главниот прозорец на вашата апликација и чека на вас да притискате копчиња или да комуницирате со неа на друг начин.
3842
3943Обидете се да кликнете на копчето означено како „Притисни“. Ќе забележите дека се менува во „Притисни повторно“. Ако повторно го притиснете, сѐ уште ќе гласи „Притисни повторно“!!
4044
4145Сега кликнете на копчето обележано како „Излези“. Прозорецот ќе се затвори и програмата ќе излезе. Повторно ќе се појават оригиналниот прозорец Форма1 со мрежата на точки, подготвени да примаат уште уредувачки дејности.
4246
4347Сега треба да ја зачувате вашата работа (и постојано!!) со избирање на Проект \> Зачувај проект како \> вашето_изберено_име_на_датотека.pas
4448
4549### Втора сесија
4650
4751Повторно отворете го вашиот зачуван проект. На прозорецот Форма1, кликнете на копчето „Притисни“ (Копче1) со цел да го изберете. Изберете го јазичето „Настани“ на Објект-инспекторот, кликнете на полето од десната страна веднаш до OnClick, кликнете на... елипса, за да се вратите на соодветната точка на изворниот код.
4852
4953Уредете го вашиот код да чита како што следува:
5054
51-` procedure TForm1.Button1Click(Sender: TObject);`\
52-`{Makes use of the Tag property, setting it to either 0 or 1}`\
53-` begin`\
54-`   if Button1.tag =0 then`\
55-`   begin`\
56-`     Button1.caption := 'Press again';`\
57-`     Button1.tag := 1`\
58-`   end else`\
59-`   begin`\
60-`     Button1.caption := 'Press';`\
61-`     Button1.tag := 0`\
62-`   end`\
63-` end;`
55+``` pascal
56+ procedure TForm1.Button1Click(Sender: TObject);
57+{Makes use of the Tag property, setting it to either 0 or 1}
58+ begin
59+ if Button1.tag =0 then
60+ begin
61+ Button1.caption := 'Press again';
62+ Button1.tag := 1
63+ end else
64+ begin
65+ Button1.caption := 'Press';
66+ Button1.tag := 0
67+ end
68+ end;
69+```
6470
6571Зачувајте ја вашата работа, повторно компајлирајте и извршете. Левото копче ќе ви даде избоп помеѓу две алтернативни пораки.
6672
6773Останатото зависи од вас!
6874
6975Ако преферирате на пишувате конзола - или Pascal програми базирани на текст (на пример, ако следите Основен курс за програмирање Pascal или треба да напишете програми за употреба во пакет режим или за системско програмиирање), сѐ уште можете да го користите Lazarus за уредување, компајлирање и извршување на вашите програми. Создава идеална средина за усовршување на Pascal. Види [[Конзолен режим Pascal]].
7076
7177## Уредувач
7278
7379Кога го стартувте Lazarus за прв пат, на вашиот работен простор ќе се појават серија на посебни дисконектирани или „пловечки“ прозорци.
7480
7581Првиот што се наоѓа на врвот од работниот простор е насловен **Lazarus Уредувач vXXXXXX - проект1** (кој потоа ќе се модифицира за да го прикаже името на вашиот тековно отворен проект). Ова е главниот контролен прозорец на вашиот проект и го содржи Главното мени и Палетата со компоненти.
7682
7783![](/wiki-images/0/09/LazMain_GTK2-mk.png)
7884
7985На линијата под лентата за наслови се наоѓа *Главното мени* со вообичаените уписи за функциите Датотека, Уреди, Пребарај, Прегледај итн., со неколку избирања што се специфични за Lazarus. Под ова, од левата страна се наоѓа поставка за Бит копчиња (кои брзо ве носат во одредени опции од Главното мени), а од десната страна се наоѓа Палетата со компоненти.
8086
8187Под прозорецот за Lazarus уредувачот, од левата страна се појавува *[Објект-инспектор](http://lazarus-ccr.sourceforge.net/kbdata/objinsp.jpg)**, а од десната страна се појавува**[Изворен код Lazarus](http://lazarus-ccr.sourceforge.net/kbdata/editor.jpg)**. Може да се појави и помал прозорец, означен како**[Форма1](http://lazarus-ccr.sourceforge.net/kbdata/blankform.jpg)**, поставен врз прозорецот за Изворниот код Lazarus. Ако ова не е веднаш видливо, може да се направи да се појави со притискање на копчето**F12*', што ви дава опција да изберете помеѓу Изворниот код и прегледот на формата. Прозорецот за форма е оној на кој вие ќе го изградите графичкиот интерфејс за вашата апликација, додека Изворниот код е прозорецот што го прикажува Pascal кодот, што се однесува на апликацијата што ја развивате. Работата на Објект-инспекторот подетално ќе ја дискутираме подолу, додека ја опишуваме Палетата со компоненти.
8288
8389Кога почнувате нов проект (или кога за првпат го стартувате Lazarus), ќе се конструира номинална форма, што се состои од поле во кое има мрежа со точки, што ќе ви помогне да ги позиционирате различните компоненти од формата и барот на горниот дел што ги содржи вообичаените **Минимизирај**, **Максимизирај** и **Затвори копчиња**. Ако ја притиснете стрелката на глувчето каде било во ова поле, ќе ги видите особините од прикажаната форма во Објект-инспекторот од десната страна на работниот простор.
8490
8591Други прозорци што можат да станат видливи за време на вашата работа: **[Проект-инспектор](http://lazarus-ccr.sourceforge.net/kbdata/projinsp.jpg)**, кој содржи детали за вклучените датотеки во вашиот проект и ви дозволува да додадете или да избришете датотеки од вашиот проект; прозорецот за **Пораки**, што прикажува пораки од компајлерот, извештаи за грашките и за развојот на проектот; Ако Lazarus се стартува од терминал, оригиналниот терминал останува видлив и таму, исто така, се печатат детални пораки од компајлерот.
8692
8793### Главно мени
8894
8995For a detailed description of every menu item which is accessible from the Lazarus IDE Main Menu, please refer to the [[Main menu/mk]] page.
9096
9197### Лента за копчиња
9298
9399Мала област со алатник од левата страна од главниот прозорец на уредувачот, веднаш под Главното мени, лево од Палетата со компоненти, содржи поставка на копчиња што ги реплицираат често користените избирања од Главното мени:
94100
95101
96102**Нов модул**, **Отвори** (со стрелка надолу за прикажување на пушти-долу листата на неодамна користените датотеки), **Зачувај**, **Зачувај сѐ**, **Нова форма**, **Префрли Форма/Модул** (односно прикажува или форма или изворен код на Модул), **Прегледај модули**, **Прегледај форми**, **Стартувај** (односно Компајлирај и Стартувај), **Паузирај**, **Влези во**, **Прескокни** (последните две се функции на пребарувачот на грешки).
97103
98104## Палета со компоненти
99105
100106Алатникот со јазичиња што прикажува голем број икони, што претставуваат компоненти што вообичаено се користат за градење форми.
101107
102108Секое јазиче прикажува приказ на различни поставки за икони, што претставуваат функционална група од компоненти. Најлевата икона на секоја група од јазичиња е дијагонална стрелка поставена на лево, наречена Алатка за избирање.
103109
104110Ако со стрелката од глувчето се движите врз која било икона од Палетата со компоненти без да кликате на иконата, ќе се појави насловот на таа компонента. Ќе забележите дека секој наслов започнува со „T“ – ова го означува Типот, или поточно, „Класата“ на компонентата. Кога избирате компонента за вклучување во форма, се додава [[Класа]] во одделот за **[[Тип|тип]]** од делот **[[Интерфејс|интерфејс]]** од [[Модул]] (обично како дел од севкупната TФорма1) и **пример** од таа класа се додава во одделот **[[Var|var]]** (обично како променлива Форма1). Кои било **Методи** што ќе ги дизајнирате за употреба од формата или нејзините компоненти (односно [[Процедури]] или [[Function|Функции]]) ќе бидат поставени во делот за **[[Имлементација|имплементација]]** во модулот
105111
106112Во следнава листа на компоненти ќе ги пронајдете врските до датотеките што содржат описи за модулите, во кои тие се пронајдени. Ако сакате да дознаете за особините на одредена компонента, често вреди да се погледа во Предокот на таа компонента, а потоа да ги истражите особините на типот на базата од којшто е добиена. На пример, за да го разберете TmaskEdit, корисно е да го проучите TCustomMaskEdit.
107113
108114**ЈАЗИЧИЊА** (имињата во голем број се самообјаснувачки):
109115
110116- **[Стандардно](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/index-4.html)** (Види [[Стандардно јазиче]] за опис на компоненти)
111117
112118![](/wiki-images/0/04/Component_Palette_Standart-mk.png)
113119
114120
115121*Компоненти што обично се користат:* [TMainMenu](http://lazarus-ccr.sourceforge.net/docs/lcl/menus/tmainmenu.html), [TPopupMenu](http://lazarus-ccr.sourceforge.net/docs/lcl/menus/tpopupmenu.html), [TButton](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tbutton.html), [TLabel](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tlabel.html), [TEdit](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tedit.html), [TMemo](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tmemo.html), [TToggleBox](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/ttogglebox.html), [TCheckBox](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tcheckbox.html), [TRadioButton](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tradiobutton.html), [TListBox](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tlistbox.html), [TComboBox](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tcombobox.html), [TScrollBar](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tscrollbar.html), [TGroupBox](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tgroupbox.html), [TStaticText](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/tstatictext.html), [TRadioGroup](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tradiogroup.html), [TCheckGroup](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tcheckgroup.html), [TPanel](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tpanel.html), [TActionList](http://lazarus-ccr.sourceforge.net/docs/lcl/actnlist/tactionlist.html)
116122
117123- **[Дополнително](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/index-4.html)** (Види [[Дополнително јазиче]] за опис на компоненти)
118124
119125![](/wiki-images/a/ab/Component_Palette_Additional-mk.png)
120126
121127
122128*Компоненти што се користат почесто:* [TBitBtn](http://lazarus-ccr.sourceforge.net/docs/lcl/buttons/tbitbtn.html), [TSpeedButton](http://lazarus-ccr.sourceforge.net/docs/lcl/buttons/tspeedbutton.html), [TImage](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/timage.html), [TShape](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tshape.html), [TBevel](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tbevel.html), [TPaintBox](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tpaintbox.html), [TNotebook](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tnotebook.html), [TLabeledEdit](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tlabelededit.html), [TSplitter](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tsplitter.html), [TMaskEdit](http://lazarus-ccr.sourceforge.net/docs/lcl/maskedit/tmaskedit.html), [TCheckListBox](http://lazarus-ccr.sourceforge.net/docs/lcl/checklst/tchecklistbox.html), [TScrollBox](http://lazarus-ccr.sourceforge.net/docs/lcl/forms/tscrollbox.html), [TApplicationProperties](http://lazarus-ccr.sourceforge.net/docs/lcl/forms/tapplicationproperties.html), [TStringGrid](http://lazarus-ccr.sourceforge.net/docs/lcl/grids/tstringgrid.html), [TDrawGrid](http://lazarus-ccr.sourceforge.net/docs/lcl/grids/tdrawgrid.html), [TPairSplitter](http://lazarus-ccr.sourceforge.net/docs/lcl/pairsplitter/tpairsplitter.html)
123129
124130- **[Вообичаени контроли](http://lazarus-ccr.sourceforge.net/docs/lcl/comctrls/index-4.html)** (Види [[Јазиче за вообичаени контроли]] за опис на компоненти)
125131
126132![](/wiki-images/7/7e/Component_Palette_Common_Controls-mk.png)
127133
128134
129135TTrackBar, TProgressBar, TTreeView, TListView, TStatusBar, TToolBar, TUpDown, TPageControl, TImageList
130136
131137- **[Дијалози](http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs)** (Види [[Јазиче со дијалози]] за опис на компоненти)
132138
133139![](/wiki-images/d/d9/Component_Palette_Dialogs-mk.png)
134140
135141
136142TOpenDialog, TSaveDialog, TSelectDirectoryDialog, TColorDialog, TFontDialog, TOpenPictureDialog, TSavePictureDialog, TCalendarDialog, TCalculatorDialog
137143
138144Неколку корисни **[Дијалог](http://lazarus-ccr.sourceforge.net/index.php?wiki=DialogExamples)** процедури или функции не се појавуваат на Палетата, но лесно се користат како директни повици од вашата програма за изворен код.
139145
140146За неколку добри примери за употребата на компонентите види во поддиректориумот на инсталацијата на вашиот изворен код \$LazarusPath/lazarus/examples. Повеќето од програмите покажуваат како директно да користите дијалози и други компоненти, без употреба на IDE и палета на компоненти или, пак, со посебна датотека за дефиниција на форма: Сите компоненти се целосно и експлицитно дефинирани во главната Pascal програма. Други примерни програми целосно го употребуваат IDE.
141147
142148Некои примери не работат веднаш: можеби ќе треба да губите време со патеки и дозволи за датотеки или директориуми. Ако сакате да компајлирате некој од примерите, треба да бидете сигурни дека имате дозволи за читај/пишувај/изврши на датотеките и директориумите или, пак, да ги ископирате датотеките во директориум каде што имате соодветна дозвола.
143149
144150Обидете се да ја стартувате „testall“ програмата за да видите мени на достапни компоненти, заедно со мала група за тест-форми за повеќето од нив; потоа проверете го кодот да проверите како работат!
145151
146152- **Разно**
147153
148154![](/wiki-images/2/28/Component_Palette_Misc-mk.png)
149155
150156
151157[TColorButton](http://lazarus-ccr.sourceforge.net/index.php?wiki=DialogsTxt), TSpinEdit, TArrow, TCalendar, TEditButton, TFileNameEdit, TDirectoryEdit, TDateEdit, TCalcEdit, TFileListBox
152158
153159- **Управување со податоци**
154160
155161![](/wiki-images/2/2d/Component_Palette_DataControls-mk.png)
156162
157163
158164*Компоненти свесни за податоци, кои во голем обем ги реплицираат Стандардните и Допонителните групи, но се применливи во база на податоци:* TDBNavigation, TDBText, TDBEdit, TDBMemo, TDBImage, TDBListBox,TDBComboBox, TDBCheckBox, TDBRadioGroup, TDBCalendar, TDBGroupBox, TdbGrid
159165
160166- **Пристап до податоци**
161167
162168![](/wiki-images/4/45/Component_Palette_DataAccess-mk.png)
163169
164170
165171TDatasource
166172
167173- **[[Систем]]**
168174
169175![](/wiki-images/2/2d/Component_Palette_System-mk.png)
170176
171177
172178[TTimer](http://lazarus-ccr.sourceforge.net/index.php?wiki=ExtCtrls#TTimer), TIdleTimer, [[doc:fcl/process/tprocess.html|TProcess]]
173179
174180- **SynEdit**
175181
176182![](/wiki-images/5/53/Component_Palette_SynEdit-mk.png)
177183
178184
179185*Група на компоненти, која помага при интерфејс со други јазици и софтверски алатки. SynEdit е напредна мултилиниска контрола за уредување за Borland Delphi, Kylix и C++Builder. Поддржува обележување синтакса и извршување код и вклучува експортирачи за html, tex and rtf. Претставува целосна-VCL/CLX контрола, што значи дека не е обвивка за Microsoft Windows контроли и не е потребна библиотека за време на извршување; ова го прави SynEdit a вкрстено-платформска компонента. Исто така, се планира компатибилност со FreePascal, а SynEdit е компонента за уредување во Lazarus IDE.* Види [synedit at sourceforge](http://synedit.sourceforge.net). TSynEdit, TSynAutoComplete, TSynExporterHTML, TSynMacroRecorder, TSynMemo, TSynPasSyn, TSynCppSyn, TSynJavaSyn, TSynPerlSyn, TSynHTMLSyn, TSynXMLSyn, TSynLFMSyn, TSynUNIXShellScriptSyn, TSynCssSyn, TSynPHPSyn, TSynTeXSyn, TSynSQLSyn, TSynMultiSyn
180186
181187### Како да ја корисите палетата
182188
183189За да ја користите палетата, треба да постои отворена форма за преглед во уредувачот (ако не постои, избери Датотека -\> Нова форма). Кликнете на иконата во соодветното јазиче од палетата за компонентата што сакате да ја користите, потоа кликнете на формата, блиску на местото каде што сакате компонентата да се појави. Кога ќе се појави саканата компонента, можете да ја изберете со кликање на глувчето, потоа преместете ја на одреденото место на формата каде што сакате да ја наместите и приспособете ја нејзината големина. Можат да се направат приспособувања на изгледот, со преправање на сликата на формата со користење на сликата или со изменување на релевантната особина во Уредувачот на објектот за таа компонента.
184190
185191Ако инсталирате дополнителни компоненти, тоа што самите ги имате напишано или некои како пакет од некој друг изворен код, во тој случај на вашата палета за компоненти ќе се појават дополнителни јазичиња со соодветните икони. Новите компоненти можат да се изберат и да се употребат во вашите форми на ист начин како оние добиени по однапред зададен начин.
186192
187193## Како да користите стандардни, вообичаени и проширени управувачки елементи
188194
189195Модулите StdCtrls, ComCtrls и ExtCtrls содржат дефиниции и описи на повеќето од најстандардно употребуваните управувачки елементи за
190196
191197изградба на форми и други објекти во Lazarus апликациите.
192198
193199Повеќето од конечните целни управувачки елементи што развивачите на апликацијата сакаат да ги користат, на пример, TButton,
194200
195201TMemo, TScrollBar итн., имаат одговарачки предок, на пример, TCustomButton, TCustomMemo или TCustomScrollBar. Неколку
196202
197203од особините и методите, соодветни на конечните целни управувачки елементи подетално се дефинирани (и објаснети) во TCustomXXX класа и се
198204
199205наследени од конечниот целен управувачки елемент.
200206
201207Ако спуштите компонента на уредувачот на форма, не мора експлицитно да додавате код за да ја креирате. Компонентата заедно со формата,
202208
203209автоматски ќе се креира со IDE, а автоматски ќе се уништи при уништување на формата.
204210
205211Како и да е, ако вие самите ја креирате компонентата со код, не заборавајте да ја пуштите кога веќе нема да биде потребна.
206212
207213Ако поставите компонента на Дизајнерот на форма и погледнете во Објект-инспекторот, можете да ги набљудувате промените на особините додека ја
208214
209215движите компонентата наоколу.
210216
211217На пример, ако поставите копче (TButton) на формата, ако кликнете на него да го изберете и потоа го движите низ формата со глувчето,
212218
213219можете да набљудувате како вредностите на врвот и одлево се менуваат во Објект-инспекторот, со цел да ја одразат новата позиција. Ако ги користите линиите
214220
215221на објектот за менување на големината со цел да ја приспособите големината, можете исто така да набљудувате како особините за височина и широчина се
216222
217223менуваат.
218224
219225Од друга страна, пак, со употреба на Објект-инспекторот можете да ја иберете вредноста што се однесува на некоја особина, на пример,
220226
221227височина и тип во нова вредност; можете да набљудувате како големината на објектот на формата се менува со цел да ја одрази новата вредност.
222228
223229Исто така, можете експлицитно да ги промените особинте на објектот во код, со отчукување (во соодветниот Оддел за имплементација во Уредувачот на
224230
225231изворниот код), на пример,
226232
227-`         ``Form1.Button1.Height: = 48`\
228-`         `
233+```text
234+ Form1.Button1.Height: = 48
235+```
229236
230237Ако ја внесете оваа нова вредност во Уредувачот на изворен код, а потоа се вратите назад да погледнете во Дизајнерот за форма, ќе забележите дека
231238
232239копчето на Формата има нова величина. Новата вредност, исто така, ќе се прикаже во Објект-инспекторот.
233240
234241Можеме да заклучиме дека постојат три различни начини за одредување особина на одреден објект:
235242
236243- со користење глувче,
237244- со поставување на вредностите во објект-инспекторот,
238245- експлицитно, со пишување на код.
239246
240247Компонентите дефинирани во овие модули имаат неколку особини што се стандардни за повеќето од нив и други особини што се специфични за
241248
242249индивидуалните компоненти. Овде ќе ги опишеме најстандардните од нив. Невообичаени особини или особини со специфичен управувачки елемент, ќе ги опишеме во
243250
244251индивидуалните управувачки елементи.
245252
246253Секогаш може да се добие дополнителна помош со избирање особина или клучен збор или во Објект-инспекторот или во Уредувачот на изворен код
247254
248255и со притискање на F1. Вашиот пребарувач за Помош ќе ве однесе на соодветната страница во документацијата.
249256
250257Ако описот на особината на таа страница не е доволен, можете да навигирате до соодветниот опис во класите за предок, со избирање врски во
251258
252259набројувањето предци или со избирање Тип на предок во декларацијата за објектот.
253260
254-`           ``Конструктори`
261+```text
262+ <i>Конструктори</i>
263+```
255264
256-`на пример, ``Креирај`` доделена меморија и системски ресурси што му се потребни на објектот. Исто така, тие го повикуваат конструкторот од кој било`
265+```text
266+на пример, <i>Креирај</i> доделена меморија и системски ресурси што му се потребни на објектот. Исто така, тие го повикуваат конструкторот од кој било
267+```
257268
258269присутен подобјект во класата.
259270
260-`           ``Уништувачи:`
271+```text
272+ <i>Уништувачи:</i>
273+```
261274
262-`го отстрануваат објектот и од-доделуваат меморија и други ресурси. Ако повикате ``Уништи`` за објект што сѐ уште не е инсталиран, ќе се генерира грешка. `
275+```text
276+го отстрануваат објектот и од-доделуваат меморија и други ресурси. Ако повикате <i>Уништи</i> за објект што сѐ уште не е инсталиран, ќе се генерира грешка.
277+```
263278
264279Секогаш користете Слободен метод за од-доделување објекти, бидејќи тој проверува дали вредноста на објектот е празна пред повикување на
265280
266281Уништи.
267282
268283Направете ги следниве мерки за претпазливост при креирање на ваш сопствен Уништи метод:
269284
270285- Објави Уништи со директивата натфрла, затоа што тоа е виртуелен метод.
271286- Секогаш повикувај „наследи уништи;“ како последно нешто на кодот за уништувачот.
272287- Бидете свесни дека може да се појави исклучок на конструктор во случај да нема доволно меморија за креирање објект или ако
273288 се случи нешто друго. Ако исклучокот не се изврши внатре во конструкторот, објектот ќе биде само делумно изграден. Во тој случај Уништи ќе се
274289
275290 повика кога не го очекувате, за да може вашиот уништувач да провери ако изворите навистина се доделени, пред да се ослободи од нив.
276291- Секогаш повикувајте Слободен за објекти креирани на конструкторот.
277292
278-Некои стандардно наброени особини
293+```text
294+ <caption><b>Некои стандардно наброени особини</b></caption>
295+```
279296
280297Особина
281298
282299Значење
283300
284301Action
285302
286303Главното дејство или настан што се однесува на објектот. На пример, избирањето на копчето „Излези“ може да предизвика дејство „Затвори“.
287304
288305Align
289306
290307Го дефинира начинот на кој објектот треба да се подреди со објектот родител. Можни вредности се alTop (поставена на врвот, користејќи ја целата достапна широчина), alBottom, alLeft (поставена на лево, користејќи ја целата достапна височина), alRight. alNone (поставена каде било на родител-управувачкиот елемент) или alClient (го зазема целиот достапен простор веднаш до управувачките елементи порамнети на врвот, дното, лево и десно).
291308
292309Anchor
293310
294311Се користи за држење на управувачкиот елемент на одредена далечина од дефинираните рабови на родител-управувачкиот елемент, кога се менува големината на родителот. На пример, \[akBottom, akRight\] ќе го држи управувачкиот елемент на фиксна оддалеченост од долниот десен агол.
295312
296313AutoSelect
297314
298315Кога е точно, управувачки елемент за уредување ќе го избере целиот текст кога ќе прими фокус или кога ќе се притисне копчето Внеси.
299316
300317AutoSelected
301318
302319Точно индицира дека уредувањето или комбо-поле управувачкиот елемент тукушто извршил AutoSelect операција, за последователните кликања на глувчето и на копчињата од тастатурата да продолжат нормално, без избирање текст.
303320
304321BorderSpacing
305322
306323Просторот околу рабовите помеѓу Anchored уредувачки елемент и неговиот родител.
307324
308325Caption
309326
310327Текстот што е прикажан на или до управувачкиот елемент; треба првенствено да даде индикација за функцијата на управувачкиот елемент или инструкција како „Затвори“ или „Изврши“. Како однапред зададен, насловот е поставен да биде ист како и особината „Име“, а програмерот на апликацијата треба да го замени со значаен текст наместо однапред зададените вредности.
311328
312329CharCase
313330
314331Укажува како одреден текст е прикажан на управувачкиот елемент за уредување: Нормално (задржувајќи ја формата на буквите што ги отчукува корисникот), конвертирани во големи букви или конвертирани во мали букви.
315332
316333Constraints
317334
318335Ја поставува минималната и максималната големина на управувачкиот елемент. Во случај да се промени големината на управувачкиот елемент, новите димензии се секогаш во рамките на дометот зададен овде. Треба да внимавате при поставувањето на овие опции, со цел тие да не им противречат на поставките Фиксирања и Порамнување.
319336
320337Color
321338
322339Бојата што ќе се користи за изработка на управувачкиот елемент или за пишување на текстот што го содржи.
323340
324341Enabled
325342
326343Булова особина за одредување на тоа дали управувачкиот елемент е способен или не, за селектирање и извршување на одредено дејство. Ако не е Овозможено, често е Сиво надвор од формата.
327344
328345Font
329346
330347Фонтот што ќе се користи за пишување текст што се однесува на управувачкиот елемент – или насловот или ознаката или текстуалните стрингови содржани во управувачкиот елемент. Внесувањето на Објект-инспекторот обично има поле (+) од левата страна, а со избирање на ова поле се појавуваат дополнителни опции, на пример, поставка на знаци, боја и големина.
331348
332349Hint
333350
334351Мал информативен скокачки текст, што се појавува ако покажувачот на глувчето лебди над управувачкиот елемент.
335352
336353Items
337354
338355Листата на „Работи“ што ги содржи објектот, како што се група на слики, серија на текстуални линии, неколку дејства во листа на дејства итн.
339356
340357Lines
341358
342359Ред на стрингови, што ги содржат текстуалните податоци со повеќе од една линија на податоци, на пример, Уреди-поле или Комбо-поле. Редот е нулта-индексиран, односно, линиите се нумерирани \[0..numLines-1\].
343360
344361Name
345362
346363Идентификаторот по кој се познава управувачкиот елемент во програмата. IDE му дава однапред зададено име, врз основа на основниот тип, на пример, successive instances на TBitButton ќе биде именувано Form1.BitBitton1 и Form1.BitButton2; од програмерот на апликацијата зависи дали ќе им даде позначајни имиња на пример, ExitButton или OKButton. Името на управувачкиот елемент се применува на Насловот за управувачкиот елемент како однапред зададен, но текстот на насловот може посебно да се промени.
347364
348365PopUpMenu
349366
350367Прозорец што содржи контексно-зависно мени со информации што се појавува во моментот кога ќе го кликнете десното копче од глувчето на објектот.
351368
352369Позиција (или Врв, Лево)
353370
354371Одредува каде се наоѓа управувачкиот елемент на родител формата или на прозорецот.
355372
356373ReadOnly
357374
358375Булова особина, која ако е точно, означува дека корисникот или рутината за повикување, можат да ја читаат содржината на управувачкиот елемент, но не можат да ја пишуваат или да ја менуваат.
359376
360377ShowHint
361378
362379Овозможува прикажување на мал прозорец што содржи контексно-зависна помош или други описи, во моментот кога со покажувачот на глувчето ќе лебдите над управувачкиот елемент.
363380
364381Големина (или Височина и Широчина)
365382
366383Димензиите на управувачкиот елемент.
367384
368385Style
369386
370387Опциите достапни за стил зависат од видот на управувачкиот елемент што се зема предвид: На пример, стилот може да се одреди со TFormStyle, TBorderStyle, TButtonStyle итн.
371388
372389TabOrder
373390
374391Цел број каде што овој управувачкиот елемент треба да биде поставен во серијата табови на формата.
375392
376393TabStop
377394
378395Булова особина, која ако е точно, го поставува овој управувачкиот елемент во серијата објекти, до кои корисникот може стигне со последователно притискање на копчето Таб.
379396
380397Text
381398
382399Стринг на текст што ги претставува вистинските податоци што овој управувачкиот елемент ги содржи. Особено се применува во типови објекти Текст, Мемо и Листа на стрингови. Повеќето од операциите за уредување (на пример, Избери, Исчисти, Отсечи, Копирај) се извршуваат во овој дел од објектот, кој го содржи вистинскиот стринг што, всушност, се уредува. Ако управувачкиот елемент содржи повеќе од една линија на текст, на пример, TMemo or TComboBox, во тој случај текстуалните елементи се подредуваат во ред од стрингови (нулта-индексиран, односно, нумерирани од \[0..numLines-1\]) во Линии.
383400
384401Visible
385402
386403Ако е точно, објектот може да се види на формата; ако е неточно, објектот е скриен.
387404
388405WordWrap
389406
390407Логичен индикатор за прикажување на тоа дали е овозможено пакување на зборови, односно, ако некој збор се приближува до крајот на линијата, а ќе биде преголем за линијата, тогаш се пакува долу до следната линија.
391408
392409Многу дејства се стандардно подредени во јазичето за „Настани“ во Објект-инспекторот. Ако изберете упис од листата, се појавува Комбо-поле со паѓачка листа, на која се прикажуваат сите веќе дефинирани дејства, овозможувајќи ви да изберете едно што се однесува на овој настан. Можете дополнително да изберете елипса (три точки...) по што ќе бидете однесени во областа на Уредувачот на изворен код, каде што можете да почнете со отчукување на вашите инструкции за дејство за одбраниот настан.
393410
394411Иако се достапни голем број настани за секој даден управувачки елемент, во пракса потребно е само да применувате неколку од нив. Кај повеќето управувачки елементи, значајно е да се обезбеди кодирање за „OnClick“; за покомплексни управувачки елементи можеби, исто така, ќе биде потребно да обезбедите „OnEntry“ (кога покажувачот на глувчето ќе го влезе во Управувачкиот елемент и му даде фокус) и „OnExit“ (кога покажувачот на глувчето ќе го напушти Управувачкиот елемент; или ќе треба да напишете управувач на настан за „OnChange“ или „OnScroll“, во зависност од природата на одредениот управувачки елемент со кој работите.
395412
396413Скокачкото мени што се појавува кога ќе кликнете на десното копче од глувчето на објект во Дизајнерот на формата, како прв елемент го има: „Креирајте однапред зададени настани“, избирањето на оваа опција го има истиот ефект како и избирањето на елипсата во Објект-инспекторот за однапред зададен настан, обично OnClick: ќе бидете однесени во областа за имплементација на Уредувачот на изворен код, каде што можете да го отчукувате кодот за извршувачот на настани.
397414
398415Стандардна стратегија во Објект-ориентирано програмирање е обезбедување на ActionList со способноста за внесување, отстранување или уредување на голем број на преддефинирани дејства, од кои може да се избере најсоодветното за употреба во кој било случај.
399416
400-Некои стандардно наброени дејства
417+```text
418+ <caption><b>Некои стандардно наброени дејства</b></caption>
419+```
401420
402421Дејство
403422
404423Значење
405424
406425OnChange
407426
408427Треба да се преземе дејство ако се детектира каква било промена (на пример, движење на глувче, кликање со глувче, притискање на копче, уредување текст, измена на слика итн.)
409428
410429OnClick
411430
412431Треба да се преземе дејство кога се клика на (левото) копче од глувчето. Ова обично е главното или однапред зададено дејство од управувачкиот елемент; на пример, кликање копче или поле за штиклирање иницира дејство што се однесува на полето за штиклирање. Дополнително може да иницира процес на избирање, на пример, во TextBox или Memo, или да го сигнализира почнувањето цртање Пенкало или Четка.
413432
414433Click
415434
416435Метод за симулација на ефектот од кликање на управувачки елемент во кодот. Овој метод најчесто го има во тип на управувачки елементи со копче (TButton, TBitBtn, TspeedButton итн.). Може да се напише процедура за повикување на истиот код како и OnClick дејството. Оваа услуга може да биде особено корисна ако активирањето на еден управувачки елемент со кликање предизвика пад или активација на други управувачки елементи, тогаш методот Кликање може да се употреби за иницирање дејство, за корисникот да не клика експлицитно на многу контроли.
417436
418437OnDragDrop
419438
420439Треба да се преземе дејство за време на Влечи-Пушти маневрирањето, односно, кога глувчето се користи за „фаќање“ елемент или на некој текст итн. и за негово придвижување низ екранот на друга локација.
421440
422441OnEntry
423442
424443Треба да се преземе дејство кога покажувачот на глувчето ќе влезе во областа што ја зафаќа објектот, обично преместувајќи го фокусот на тој објект. Ова може да вклучува промени во изгледот на објектот, на пример, обележување или кревање на границата.
425444
426445OnExit
427446
428447Треба да се преземе дејство кога покажувачот на глувчето ќе излезе од областа што ја зафаќа објектот, обично преместувајќи го фокусот надвор од објектот.
429448
430449OnKeyPress
431450
432451Треба да се преземе дејство за секое притискање копче. Различно од OnKeyDown, што обично одговара на копче што е долу, без разлика дали тоа веќе било долу кога му е даден фокус на овој управувачки елемент.
433452
434453`OnKeyPress бара притискање на копче додека фокусот е не овој управувачки елемент.`
435454
436455OnKeyDown
437456
438457Треба да се преземе дејство ако одредено копче е долу, додека фокусот е на овој управувачки елемент. Различно од OnKeyPress – на пример, копчето можеби веќе било долу кога фокусот влегол во овој управувачки елемент, додека OnKeyPress копчето да се притисне кога фокусот е на овој управувачки елемент.
439458
440459OnKeyUp
441460
442461Треба да се преземе дејство ако одредено копче е горе (односно, не е притиснато) додека фокусот е на овој управувачки елемент.
443462
444463OnMouseMove
445464
446465On Mouse Down - Треба да се преземе дејство ако покажувачот на глувчето се движи додека фокусот е на овој управувачки елемент.
447466
448467OnMouseDown
449468
450469On Mouse Down - Треба да се преземе дејство ако покажувачот на глувчето е долу додека фокусот е на овој управувачки елемент.
451470
452471OnMouseUp
453472
454473Треба да се преземе дејство ако копчето на глувчето е горе, а покажувачот на глувчето врз овој управувачки елемент. Означува дека копчето на глувчето претходно било долу, а сега е ослободено. Во случаите кога покажувачот влегува во управувачкиот елемент, но копчето на глувчето сѐ уште не е притиснато, се опфаќа со OnEntry или OnMouseEnter.
455474
456475OnResize
457476
458477Треба да се преземе дејство кога се менува големината на управувачкиот елемент. Ова може да вклучува повторно порамнување на текст или избирање на различна големина на фонт итн.
459478
460479### Како да користите менија
461480
462481Сугестии за креирање менија за вашите форми
463482
464483*TMainMenu* е главното мени што се појавува на врвот кај повеќето форми: дизајнерите на формите можат да го креираат со избирање на различни елементи за мени. *TPopupMenu* е прозорец за мени што се појавува со значајни, обично чувствителни при контекст детали и избори, во моментот кога ќе го кликнете десното копче од глувчето близу до контролата.
465484
466485Главното мени претставува невидлива компонента: односно, ако ја изберете иконата од палетата за компоненети и ја поставите на формата, нема да се појави во времето на извршување. Наместо тоа, ќе се појави линија со мени со дефинирана структура од Уредувачот на мени. Скокачки менија поставени на формата, воопшто не се појавуваат со избирање икона од Палетата за компоненти, освен ако го кликнете со десното копче од глувчето за контрола што има такво мени.
467486
468487За да го видите Уредувачот на мени, кликнете со десното копче од глувчето на иконата за Главното мени или на Скокачкото мени на вашата форма. Притоа, ќе се појави скокачко поле, кое ве повикува да внесете елементи во линијата за мени.
469488
470489Ќе се прикаже поле за уредување, кое содржи копче означено како Нов елемент1. Ако кликнете со десното копче од глувчето на тоа поле, ќе се прикаже скокачко мени што ви овозможува да додадете нов елемент пред или по (во должина на истото ниво1) или да креирате подмени со можност да додадете дополнителни елементи под (или над) новиот елемент во удолу поставената колона.
471490
472491Некој или сите од *Елементите на менито* што ги додавате, можат да се конфигурираат со употреба на Објект-инспектор.
473492
474493Во најмала рака, на секој елемент треба да му дадете *Наслов* што ќе се појави на линијата за мени (исто така, можете да му дадете и позначајно *Име*). Насловот треба да го означува дејството што ќе се избере, на пример, „Отвори датотека“, „Затвори“, „Стартувај“ или „Напушти“.
475494
476495Ако сакате посебна буква во насловот да се поврзува со копче за кратенка, пред буквата треба да стои ampersand. Во времето на извршување, елементот од менито ќе се појавува со подвлечена буква за кратенка, а со притискање на копчето со таа буква ќе го има истиот ефект како и избирање на елементот од менито. Како алтернатива, можете да изберете серија од копчиња за кратенки (на пример, Ctrl-C за Копирај или Ctrl-V за Залепи – стандардните кратенки на тастатурата) со *ShortCut* особина на Главниот елемент.
477496
478497Често се смета за корисно користењето на управувачките елементи на мeнито заедно со *ActionList* што содржи серија на стандардни кориснички *Дејства*. Елементите од менито можат да се поврзат со дејствата од листата во Објект-инспекторот, а истите дејства можат да се поврзат со *Копчиња*, *Копчиња на Алатник* и*Брзи копчиња* Очигледно е дека е економична заложбата за повторна употреба на истиод код за да се одговори на различни настани, отколку да се пишува посебен *OnClick* извршувач на настани за секоја контрола посебно.
479498
480499Како однапред предвчитани се неколку стандардни дејства од *StdActns* или ако се користат DataAware управувачките елементи од *DBActns*, овие можат да се избираат со употреба на Уредувачот за листа на дејства, што се појавува ако кликнете со десното копче од глувчето на иконата за листа на дејства, што се наоѓа на Дизајнерот на формата.
481500
482501## Пребарувач на грешки
483502
484503
485504*Сѐ уште не е напишано*.
486505
487506види, исто така, [IDE Прозорец - Пребарувач на грешки](/wiki-category/IDE%20Window%20-%20Debug)
488507
489508## Lazarus датотеки
490509
491510(Благодарност до Кевин Вајтфут.)
492511
493512(Дополнето од Џузепе Ридино, Корисник Kirkpatc и Том Лисјак)
494513
495514Кога зачувувате, всушност, вие ќе зачувувате две датотеки:
496515
497-`  xxx.pas и yyy.lpr `
516+```text
517+ xxx.pas и yyy.lpr
518+```
498519
499520(Зачувувате повеќе, но тие се оние што можете да ги именувате). Проект-датотеката (lpr) и модул-датотеката (pas) не смеат да имаат исто име затоа што Lazarus ќе го преименува модулот (внатре во изворниот код), како и името на модул-датотека и програмата во името на проект-датотеката (ова мора да го направи затоа што подоцна, компајлерот нема да може да го пронајде модулот кога ќе се упатува во проект-датотеката). Се разбира, со цел да биде доследен, ги менува сите појави на модул1 во xxx.
500521
501522Притоа, ако зачувувате проект наречен **again**, обидот да зачувате again.pas и again.lpr е неуспешен бидејќи имињата на модулот и имињата на програмата се наоѓаат во истиот простор за име, што резултира во грешка на дуплицирано име.
502523
503524Еве до што дојдов:
504525
505526e:/lazarus/kj/lazhello:
506527
507-`total 4740  free 76500`\
508-`-rwxrwxrwx   1 kjwh     root  4618697 Mar 24 11:19 again.exe`\
509-`-rw-rw-rw-   1 kjwh     root     3002 Mar 24 11:21 again.lpi`\
510-`-rw-rw-rw-   1 kjwh     root      190 Mar 24 11:18 again.lpr`\
511-`-rw-rw-rw-   1 kjwh     root      506 Mar 24 11:08 againu.lfm`\
512-`-rw-rw-rw-   1 kjwh     root      679 Mar 24 11:08 againu.lrs`\
513-`-rw-rw-rw-   1 kjwh     root      677 Mar 24 11:08 againu.pas`\
514-`-rw-rw-rw-   1 kjwh     root     2124 Mar 24 11:08 againu.ppu`\
515-`-rwxrwxrwx   1 kjwh     root      335 Mar 24 11:07 ppas.bat`
528+```text
529+total 4740 free 76500
530+-rwxrwxrwx 1 kjwh root 4618697 Mar 24 11:19 again.exe
531+-rw-rw-rw- 1 kjwh root 3002 Mar 24 11:21 again.lpi
532+-rw-rw-rw- 1 kjwh root 190 Mar 24 11:18 again.lpr
533+-rw-rw-rw- 1 kjwh root 506 Mar 24 11:08 againu.lfm
534+-rw-rw-rw- 1 kjwh root 679 Mar 24 11:08 againu.lrs
535+-rw-rw-rw- 1 kjwh root 677 Mar 24 11:08 againu.pas
536+-rw-rw-rw- 1 kjwh root 2124 Mar 24 11:08 againu.ppu
537+-rwxrwxrwx 1 kjwh root 335 Mar 24 11:07 ppas.bat
538+```
516539
517540Ќе забележите дека постојат многу повеќе датотеки отколку оние две што јас мислев дека ги зачувувам.
518541
519542Ова е кратко објаснување за секоја датотека:
520543
521544**again.exe:** Главната програма бинарно извршлива. Win32 додава „exe“ наставка. Linux нема (само името на програмата). Датотеката ќе биде огромена во Linux како резултат на вклучувањето на симболите за пребарување грешки. Стартувајте ја услугата „отстрани“ со цел да ги отстраните и значително да ја намалите големината за извршување.
522545
523546**again.lpi:** (Информации за проектот Lazarus). Ова е главната информациска датотека на Lazarus проектот, иста Delphi главна датотека од апликацијата ќе биде .dpr датотека. Зачувана е во XML-датотека и содржи информации за сите библиотеки и модули што се потребни за изградба на извршена датотека.
524547
525548**again.lpr:** Датотеката за изворниот код на главната програма или основна датотека. И покрај специфичната наставка за lazarus, тоа всушност претставува перфектно нормална датотека за изворен код на Pascal. Има клаузула за употреби што му дозволува на компајлерот да ги пронајде сите потребни модули. Ќе забележите дека програмскиот исказ не треба да ја именува програмата на ист начин како името на датотеката. Оваа датотека вообичаено е значително мала, со само неколку искази за инсталирање, изградба на форма, стартување и затворање апликација. Повеќето од работата се извршува во датотеките за изворните кодови на модулот, со наставка „.pas“.
526549
527550**againu.lfm:** Тука Lazarus го складира распоредот за модулот на формата, на начин читлив за човекот. Ги претставува особините на различни компоненети, на начин на којшто се поставени во Објект-инспекторот. Секој опис на објект почнува со линија:
528551
529-`објект xxxx `
552+```text
553+објект xxxx
554+```
530555
531556Потоа следува листа на особини (вклучувајќи вклопени или вградени објекти), потоа линија за крај. Lazarus ја користи оваа датотека за да генерира изворна датотека (.lrs) што е вклучена во одделот за инсталација на модулот againu.pas. Датотеките Delphi dfm, можат да се конвертираат во lfm формат во Lazarus IDE, со користење на услугата Алатки -\> Конвертирај DFM датотека во LFM.
532557
533558**againu.lrs:** Ова е генерираната изворна датотека, што ги содржи инструкциите на програмата за градење форма (ако погледнете во главната датотека на модулот, во одделот за инсталирање ќе ја видите линијата
534559
535-`{$i againu.lrs} `
560+```text
561+{$i againu.lrs}
562+```
536563
537564што ѝ дава инструкции на програмата за вчитување на изворната датотека). Ќе забележите дека ова не е изворна датотека за Windows.
538565
539566**againu.pas:** Модулот што го содржи кодот за формата; ова обично е единствената датотека што програмерот на апликацијата треба да ја уреди или, пак, да ја истражи и содржи кодови специфично понудени од страна на програмерот (посебно извршувачи на настани).
540567
541568**againu.ppu:** Ова е генерираниот модул што се поврзува во извршната датотека, заедно со други модули именувани во одделот за Употреби.
542569
543570**ppas.bat:** Ова е едноставен запис што ја поврзува програмата со цел да ја произведе извршливата команда. Ако компилацијата е успешна, тогаш таа се брише од страна на компајлерот.
544571
545572## Листа на соработници и промени на текстот
546573
547574Оваа страница е импортирана од epikwiki [version](http://lazarus-ccr.sourceforge.net/index.php?wiki=LazarusTutorial).
548575
549576- Created initial page and template. T. Lisjac - 11/04/2003 VlxAdmin
550577- 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
551578- Per above, moved Chris's writeup to the main body of the tutorial VlxAdmin
552579- Began to insert text describing the Lazarus Editor - more to follow! 24 Mar 2004 User:Kirkpatc
553580- Added some more to Lazarus Editor section of Tutorial. 25 Mar 2004 User:Kirkpatc
554581- Added screenshots and revised some of the page formatting VlxAdmin 3/25/2004
555582- 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
556583- Formatted, added credits and comments. Removed original notes. VlxAdmin 3/26/2004
557584- More material added to Editor section of tutorial. 26 Mar 2004 User:Kirkpatc
558585- 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
559586- Inserted section on Run sub-menu. Some general editing (eg ended each entry with a period to ensure consistency). 9 Apr 2004 User:Kirkpatc
560587- Inserted a new section on How to get started with MySQL in FPC/Lazarus. 13 Apr 2004 User:Kirkpatc
561588- Deleted the section on MySQL from here: it has been copied to Lazarus Database section of tutorial. 14 Apr 2004 User:Kirkpatc
562589- Added some more to the description of the Editor Main Menu. 18 Apr 2004 User:Kirkpatc
563590- Added section on Environment sub-menu. 19 Apr 2004 User:Kirkpatc
564591- Added section on Components sub-menu. 4 May 2004 User:Kirkpatc
565592- Adding Tools sub-menu description (incomplete). 7 May 2004 User:Kirkpatc
566593- Added some screenshots to Menu descriptions. 9 May 2004 User:Kirkpatc
567594- Fixed a bit in Environment Options - thanks VincentSnijders. 14 May 2004 User:Kirkpatc
568595- More additions to Tools sub-menu. 19 May 2004 User:Kirkpatc
569596- Added a section on the Button Bar and started work on The Component Palette. 20 May 2004 User:Kirkpatc
570597- Posted a description file for the StdCtrls unit of the LCL, in the hope that people will add comments. 26 May 2004 User:Kirkpatc
571598- 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
572599- Expanding on the Components Palette. 5 June 2004 User:Kirkpatc
573600- Added a lot to the DialogExamples page. 10 June 2004 User:Kirkpatc
574601- 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
575602- 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
576603- Added page for Common Controls (linked to Component Palette). 16 June 2004 User:Kirkpatc
577604- Added MaskEdit page (linked to Component Palette). 17 June 2004 User:Kirkpatc
578605- Added Buttons, ExtCtrls pages (linked to Component Palette). 17 June 2004 User:Kirkpatc
579606- Edited MainMenu component description page. 23 June 2004 User:Kirkpatc
580607- Some additions to Common Controls. 28 June 2004 User:Kirkpatc
581608- A new tutorial on Text-mode Pascal programming has been added. 5 July 2004 User:Kirkpatc
582609- Minor changes to ComCtrls, ExtCtrls, Environment Menu. 10 July User:Kirkpatc
583610- Added FormsTxt, component description page for Component Palette. 20 July 2004 User:Kirkpatc
584611- Some corrections to ConsoleModePascal. 21 July 2004 User:Kirkpatc
585612- Some small changes to ComponentPalette. 22 July 2004 User:Kirkpatc
586613- 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
587614- Uploaded some more up-to-date screenshots and fixed links in descriptions of the Menus. 2 October 2007 User: Kirkpatc
588615- Fixed links for component descriptions in Extra Controls section of Component Palette. 2 October 2007 User: Kirkpatc
589616- 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
590617- Some edits and additions to the Lazarus Files section. 12th July 2008 User: Kirkpatc
591618- Translated from English into Macedonian by Ljupka Pulovska. 25th September 2008 User:Ljupka
592619
593620---
594621*From the Free Pascal wiki, page "Lazarus Tutorial/mk", as it stood on 2021-12-08 after a change by Kupferstecher, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history