Egy új projekt indításakor több ablakot kapunk. Felül egy eszköztár, jobb oldalon egy objektum felügyelő ablak. Középen két program ablak jelenik meg, amelyek egymás mögött vannak. Az egyik a program forrása, vagy Unit. A másik a programablak vizuális tervezőfelülete. A kettő között vagy az eszköztáron, vagy az F12 billentyűvel válthatunk. Alul egy üzenetablak jelenik meg, ahol a fordítási üzenetek láthatók.
Az objektum felügyelő ablak több részre oszlik.
A beállítások panelon az egyes objektumok tulajdonságait tudjuk beállítani. Az esemény fülön, minden objektumhoz különféle eseményeket rendelhetünk.
A vizuális tervező felület egyetlen Form1 objektummal indul. Az eszköztárról különböző komponenseket tudunk elhelyezni az ablakon.
A Delphi és Lazarus rendszerekben az ablakot Form névvel illetjük. A A formokat a TForm osztályból származtatjuk.
Egy form feliratát, azaz címsorát a Caption tulajdonsággal változtathatjuk meg.
Form1.Caption := 'Új cím';
Button1.Caption := 'új felirat';
ShowMessage('Teszt');
Szöveges állományok kezeléséhez a következő változóra van szükség:
f : TextFile;
Állomány és változó összekötése:
AssignFile(f, 'adat.txt');
Megnyitás:
Reset(f); //Létező fájl megnyitása Rewrite(f); // Létrehozza az állományt vagy felülírja az előzőt. Append(f); // Létező fájl megnyitása hozzáfűzésre. Mindig a végére fűz.
Állomány bezárása:
CloseFile(f);
... StartEdit.SelectAll; StartEdit.CopyToClipboard; ...
... var str : String; begin str := StartEdit.Text; Clipboard.AsText := str; ...
Debian alapú rendszereken:
apt-get install lazarus fpc-source fp-units-gfx fp-units-gtk fp-units-db
apt-get install fp-units-misc fp-units-math
A gettext rendszer használatához a következőket tegyük:
Mentéskor az intl könyvtárban létrejön a projekt1.po állomány. A projektet angol nyelven írjuk meg. A projekt1.po fájból készítsünk egy másolatot hu.po néven.
Szerkesszük a poedit nevű programmal. Fordítsuk le az angol nyelvű szavakat.
uses gettext, translations, DefaultTranslator;
procedure TMainForm.FormCreate(Sender: TObject); var PODirectory, Lang, FallbackLang: String; begin PODirectory := 'intl/'; GetLanguageIDs(Lang, FallbackLang); Translations.TranslateUnitResourceStrings('project1', PODirectory + 'project1.%s.po', Lang, ''); end;
A uses sor után a resourcestring direktívát követően adjuk meg azokat a karaktersorozatokat, amelyeket mi adunk meg a forráskódban.
uses LResources, Translations; resourcestring MainLabelCaption = 'Changed';
Ezek után az állandó nevét adjuk meg az értékadás jobboldalán. Például:
MainLabel.Caption := MainLabelCaption;
Az elkészült .mo kiterjesztésű állományt másoljuk egy locale vagy egy languages nevű könyvtárba.
Form1.Memo1.Hide; Form1.Memo1.Show;
A Form1 elhagyható, ha az utasítást a Form1 állományán belül adjuk ki.
Fókusz figyelésére példa:
If Memo1.CanFocus = true then Form2.Show
Esc billentyű figyelése esetén kezeljük a OnKeyPress eseményt, majd:
If Key = #27 then Application.Terminate;
Esetleg így:
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key : Char); begin Case Key of #27 : Form1.Close; end; end;
A rádiógombokat GroupBoxban hozzuk létre. Egy eseménykezelő így nézhet ki:
If RadioButton2.Checked = true then ShowMessage('Jó válasz') else ShowMessage('Rossz válasz');
Az else előtti ShowMessage végére természetesen nem kell (;).
A Form tulajdonságainál a következőket állítjuk be:
A Mehet gomb eseménykezelője ilyen lehet:
If Edit1.Text = 'titok' then begin Form2.ModalResult := 1; Form2.Hide; ShowMessage('Beléphet'); end else being ShowMessage('Rossz jelszó'); end;
ShowMessage('Üzenet');
MessageDlg('Szöveg', mtInformation.[mbOK], 0);
MessageBox('címsor', 'Üzenet', 0);