Difference between revisions of "How To Write Lazarus Component/hu"

From Free Pascal wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
{{How_To_Write_Lazarus_Component}}
 +
 
==Bevezetés==
 
==Bevezetés==
 
Ez egy alap útmutató. Abban segít, hogy létre tudjunk hozni saját komponenseket. A művelet Windows 7 -en lett tesztelve Lazarus 0.9.30 segítségével.
 
Ez egy alap útmutató. Abban segít, hogy létre tudjunk hozni saját komponenseket. A művelet Windows 7 -en lett tesztelve Lazarus 0.9.30 segítségével.
Line 7: Line 9:
 
[[Image:package_menu.png]]
 
[[Image:package_menu.png]]
  
* Egy '''Save dialog''' fog megjelenni. Válassz egy mappát, és egy fájlnevet majd nyomd meg a save(mentés)-t. Ha az IDE szól, hogy kisbetűs legyen a fájlnév, nyomj 'Yes'-t.
+
[[Image:package_menu_(lazarus-1.0_RC1-fpc-2.6.0-win64).png]]
 +
 
 +
 
 +
* Egy '''Save dialog''' fog megjelenni. Válassz egy mappát, és egy fájlnevet majd nyomd meg a save(mentés)-t. Ékezetes elnevezést ne használj.
 +
 
 +
[[Image:save_dialog_(lazarus-1.0_RC1-fpc-2.6.0-win64).png]]
 +
 
 +
Ha az IDE szól, hogy kisbetűs legyen a fájlnév, nyomj 'Yes'-t.
 +
 
 +
[[Image:lowercase_filenames(lazarus-1.0_RC1-fpc-2.6.0-win64).png]]
 +
 
 
* És gratulálok, elkészítetted az első csomagod.
 
* És gratulálok, elkészítetted az első csomagod.
  
 +
[[Image:How_to_write_lazarus_component_package_maker(lazarus-1.0_RC1-fpc-2.6.0-win64).png]]
 
[[Image:How_to_write_lazarus_component_package_maker.png|Package Maker]]
 
[[Image:How_to_write_lazarus_component_package_maker.png|Package Maker]]
  
Line 20: Line 33:
  
 
* Válassz egy komponenst, például TComboBox.
 
* Válassz egy komponenst, például TComboBox.
* Válaszd mondjuk például a ''customcontrol1.pas'' fájlnevet.
+
* Válaszd mondjuk például a ''customcontrol1.pas'' fájlnevet. Ékezeteket itt se használj.
 
* Kattints OK gombra.
 
* Kattints OK gombra.
 +
 +
* A forráskód szerkesztőben az alábbi kód jelenik meg. A példa egy komponens létrehozását mutatja be, ezért most a kódhoz nem nyúlunk.
 +
 +
<syntaxhighlight lang=pascal>
 +
unit CustomControl1;
 +
 +
{$mode objfpc}{$H+}
 +
 +
interface
 +
 +
uses
 +
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;
 +
 +
type
 +
  TCustomControl1 = class(TComboBox)
 +
  private
 +
    { Private declarations }
 +
  protected
 +
    { Protected declarations }
 +
  public
 +
    { Public declarations }
 +
  published
 +
    { Published declarations }
 +
  end;
 +
 +
procedure Register;
 +
 +
implementation
 +
 +
procedure Register;
 +
begin
 +
  RegisterComponents('Standard',[TCustomControl1]);
 +
end;
 +
 +
end.</syntaxhighlight>
 +
 +
 +
* Telepítsd a csomagot az 'Install' gombbal amely a package editor tetején van.
 +
[[Image:package_install.png]]
 +
 +
* Figyelem! Például a Lazarus-1.0_RC1 -ben az 'Install' már máshol található!
 +
[[Image:package_install_(lazarus-1.0_RC1-fpc-2.6.0-win64).png]]
 +
 +
* Utána az IDE meg kérdezi tőled, hogy maga az IDE újra fordítódjon-e. Nekünk most ez kell, kattints a 'Yes' -re.
 +
[[Image:package_rebuild_(lazarus-1.0_RC1-fpc-2.6.0-win64).png]][[Image:package_rebuild.png]]
 +
 +
* Fordítás után újraindul a Lazarus, és látnod kellene a komponens palettán az újonnan telepített saját komponensed. Gratulálok: Ezzel telepítetted az első csomagod az első komponenseddel.
 +
[[Image:package_installed.png]]
 +
* ''Megjegyzés:'' Ha nem látod az új komponensed a komponens palettán: a legtöbb esetben ez azért van mert neked nem az újrafordított Lazarus fut. Be kell állítanod mondjuk, hogy a Lazarus melyik mappába fordítódjon le: Kattints a Tool-> Options-> Environment -> Environment options -> Files -> Lazarus directory(default for all porjects). Ahelyett hogy a Lazarust közvetlen hívnád, használhatod a startlazarus, ezzel valóban az újonnan fordított Lazarust indítod. Például a Lazarus futtatható bináris benne van a ~/.lazarus mappában, ha nincs írási jogod erre a mappára, akkor hiába fordítasz, a fordítatlan Lazaruson kívül mást nem tudsz futtatni.
 +
 +
==Egyéb megjegyzések a témával kapcsolatban==
 +
1.
 +
Új komponens (csomag) készítésénél figyeljünk oda az ékezetes nevekre. Ne használjuk azokat.
 +
Csomagunk mentésénél például ne csináljunk ilyet: d:\Program Files\Lazarus\Gyakorlás\  <-(á betű!)
 +
Emiatt később abba a hibába üktüzünk, hogy a fordító nem fogja találni a Gyakorlás mappánkat, és végső soron a Lazarus nem fog újból lefordítódni a csomagunkkal.
 +
 +
[[Image: error1_(lazarus-1.0_RC1-fpc-2.6.0-win64).png]]

Latest revision as of 07:40, 17 February 2020

Deutsch (de) English (en) español (es) magyar (hu) italiano (it) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

Bevezetés

Ez egy alap útmutató. Abban segít, hogy létre tudjunk hozni saját komponenseket. A művelet Windows 7 -en lett tesztelve Lazarus 0.9.30 segítségével.

1. lépés: Csomag létrehozása

  • A Lazarus IDE menüjén kattints a Package > New Package menüelemre, hogy futtasd Package Manager -t.

package menu.png

package menu (lazarus-1.0 RC1-fpc-2.6.0-win64).png


  • Egy Save dialog fog megjelenni. Válassz egy mappát, és egy fájlnevet majd nyomd meg a save(mentés)-t. Ékezetes elnevezést ne használj.

save dialog (lazarus-1.0 RC1-fpc-2.6.0-win64).png

Ha az IDE szól, hogy kisbetűs legyen a fájlnév, nyomj 'Yes'-t.

lowercase filenames(lazarus-1.0 RC1-fpc-2.6.0-win64).png

  • És gratulálok, elkészítetted az első csomagod.

How to write lazarus component package maker(lazarus-1.0 RC1-fpc-2.6.0-win64).png Package Maker

2. lépés: Unit készítése

Csinálhatsz egy új unitot vagy használhatsz egy már meglévőt.

Új unit készítése

  • Használd az Add button > New component lehetőséget.

package new component.png

  • Válassz egy komponenst, például TComboBox.
  • Válaszd mondjuk például a customcontrol1.pas fájlnevet. Ékezeteket itt se használj.
  • Kattints OK gombra.
  • A forráskód szerkesztőben az alábbi kód jelenik meg. A példa egy komponens létrehozását mutatja be, ezért most a kódhoz nem nyúlunk.
unit CustomControl1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;

type
  TCustomControl1 = class(TComboBox)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    { Public declarations }
  published
    { Published declarations }
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Standard',[TCustomControl1]);
end;

end.


  • Telepítsd a csomagot az 'Install' gombbal amely a package editor tetején van.

package install.png

  • Figyelem! Például a Lazarus-1.0_RC1 -ben az 'Install' már máshol található!

package install (lazarus-1.0 RC1-fpc-2.6.0-win64).png

  • Utána az IDE meg kérdezi tőled, hogy maga az IDE újra fordítódjon-e. Nekünk most ez kell, kattints a 'Yes' -re.

package rebuild (lazarus-1.0 RC1-fpc-2.6.0-win64).pngpackage rebuild.png

  • Fordítás után újraindul a Lazarus, és látnod kellene a komponens palettán az újonnan telepített saját komponensed. Gratulálok: Ezzel telepítetted az első csomagod az első komponenseddel.

package installed.png

  • Megjegyzés: Ha nem látod az új komponensed a komponens palettán: a legtöbb esetben ez azért van mert neked nem az újrafordított Lazarus fut. Be kell állítanod mondjuk, hogy a Lazarus melyik mappába fordítódjon le: Kattints a Tool-> Options-> Environment -> Environment options -> Files -> Lazarus directory(default for all porjects). Ahelyett hogy a Lazarust közvetlen hívnád, használhatod a startlazarus, ezzel valóban az újonnan fordított Lazarust indítod. Például a Lazarus futtatható bináris benne van a ~/.lazarus mappában, ha nincs írási jogod erre a mappára, akkor hiába fordítasz, a fordítatlan Lazaruson kívül mást nem tudsz futtatni.

Egyéb megjegyzések a témával kapcsolatban

1. Új komponens (csomag) készítésénél figyeljünk oda az ékezetes nevekre. Ne használjuk azokat. Csomagunk mentésénél például ne csináljunk ilyet: d:\Program Files\Lazarus\Gyakorlás\ <-(á betű!) Emiatt később abba a hibába üktüzünk, hogy a fordító nem fogja találni a Gyakorlás mappánkat, és végső soron a Lazarus nem fog újból lefordítódni a csomagunkkal.

error1 (lazarus-1.0 RC1-fpc-2.6.0-win64).png