Sign in Join
Wiki copytemporary

Overview of Free Pascal and Lazarus/fi: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Overview of Free Pascal and Lazarus/fi

OldNewLine
1+[[FPC/fi|Free Pascal (FPC)]] on avoimen lähdekoodin [[Pascal/fi|Pascal]] [[Compiler/fi|kääntäjä]], jolla on kaksi merkittävää ominaisuutta: korkea [[Delphi/fi|Delphi]] yhteensopivuus ja saatavuus useille eri alustoille, kuten Windows, Mac OS X ja [[Linux/fi|Linux]]. Free Pascalin yhteensopivuus Delphin kanssa ei sisällä vain samaa Delphin käyttämää Object Pascal-ohjelmointikielen tukea, vaan myös monille samojen tehokkaiden [[Routine/fi|rutiinien]] ja [[Class/fi|luokkien]] kirjastoille, joita Delphi on oikeutetusti tunnettu. Tämä sisältää tuttuja yksiköitä, kuten System, SysUtils, StrUtils, DateUtils, Classes, Variants, Math, IniFiles ja Registry, jotka sisältyvät Free Pascaliin kaikilla tuetuilla alustoilla. Free Pascal sisältää myös Windows-, ShellAPI-, BaseUnix-, Unix- ja DynLib-yksiköitä käyttöjärjestelmän ominaisuuksien käyttämiseen. Nämä kymmenkunta [[Unit/fi|käännösyksikköä]] muodostavat ytimen, jota yleensä kutsutaan [[RTL/fi|Free Pascal run-time-kirjastoksi (RTL)]].
2+
3+Lazarus on avoimen lähdekoodin kehityssysteemi, joka perustuu Free Pascal-kääntäjään lisäämällä [[IDE/fi|integroidun kehitysympäristön (IDE)]], joka sisältää [[Syntax highlighting/fi|syntaksia korostavan]] koodieditorin ja visuaalisen muotoilijan sekä komponenttikirjaston, joka on erittäin yhteensopiva Delphin [[VCL/fi|Visual Component Kirjasto (VCL)]] kanssa. [[LCL/fi|Lazarus Component Library (LCL)]] sisältää ekvivalentteja monille tutuille VCL-kontrolleille, kuten [[TForm/fi|lomakkeille]], [[TButton/fi|painikkeille]], tekstilaatikoille ja niin edelleen, joita käytetään sellaisten sovellusten luomiseen, joilla on graafinen käyttöliittymä (GUI).
4+
5+Sekä Free Pascal että Lazarus ovat kirjoitettu Pascalissa. Täydellinen [[Source code/fi|lähdekoodi]] on saatavilla paitsi Free Pascal-kääntäjälle ja Lazarus IDE: lle, mutta myös kaikille yksiköille, jotka muodostavat Free Pascal RTL: n ja Lazarus LCL: n.
6+
7+Kuten Delphi, Free Pascal ja Lazarus ovat sekä yleiskäyttöisiä ohjelmointityökaluja, joten voit kehittää monenlaisia ​​[[Executable program/fi|ohjelmia]] niiden kanssa, mukaan lukien seuraavat:
8+
9+### Komentorivisovellukset
10+
11+Komentorivi- tai konsoliohjelmilla ei ole käyttöliittymää. Sen sijaan ne käynnistetään yleensä konsolista, lukevat niiden syötteet konsolista ja kirjoittavat lähdön konsoliin. Windowsissa konsolia kutsutaan yleensä komentokehotteeksi. OS X: ssä ja Linuxissa konsolia kutsutaan pääteikkunaksi. Konsoliohjelmissa on esimerkiksi pieniä apuohjelmia, kuten Windows FC (tiedostojen vertailu) -ohjelma tai Unix-cd- ja cp-komennot. Konsoliohjelmat voivat olla myös tehokkaita numeroiden ryömintää, mallinnusta tai tietojenkäsittelyohjelmia, jotka eivät tarvitse fiktiivistä GUI: ta, koska ne käynnistetään muiden ohjelmien tai erätiedostojen (tai unix / linux-komentojen) avulla. Free Pascal-kääntäjä ja siihen sisältyvät apuohjelmat ovat kaikki konsoliohjelmia, eli niitä voidaan käyttää konsolista, erätiedostosta tai Lazarus IDE: stä.
12+
13+Voidaan luoda konsoliohjelma, jossa on vain tekstieditori ja Free Pascal-kääntäjä. Ei tarvitse käyttää Lazarusia konsoliohjelmien kehittämiseen. Jos kuitenkin halutaan työskennellä integroidussa ympäristössä, voidaan käyttää Lazarusta luomaan projektin konsoliohjelmalle, muokkaamaan ja kääntämään koodin Lazarus IDE: ssä.
14+
15+### Dynaamisesti ladattavat kirjastot
16+
17+Dynaamisesti ladattava kirjasto on yleensä kokoelma käännettyjä funktioita, joita voidaan kutsua muilla ohjelmilla. Kuten nimestä voi päätellä, kirjastoa ei ole yhdistetty suoritettavaan tiedostoon [[Compile time|käännösaikana]], vaan ladataan [[runtime|ajon aikana]]. Windowsissa kirjastotiedostossa on .dll-laajennus (dynaaminen linkkikirjasto tai DLL). OS X: ssä kirjastotiedostossa on .dylib-laajennus (dynaaminen jaettu kirjasto). Linuxissa kirjastotiedostossa on .so-laajennus (jaetun objektikirjasto). Dynaamisesti ladattavia kirjastoja käytetään tyypillisesti muiden ohjelmien lisäosien kehittämiseen, sellaisten kirjastojen kehittämiseen, joita voidaan kutsua muilla kielillä, kuten C- ja C ++: lla, kirjoitetuilla ohjelmilla tai suurten projektien jakamiseen paloiksi, jotta hankkeen kehittäjät eivät askella toistensa varpaille. Itse Windows koostuu satoista DLL-tiedostoista, kuten monet muut suuret sovellukset, esim OpenOffice.org.
18+
19+Konsoliohjelmien tapaan tarvitaan vain tekstieditori ja Free Pascal-kääntäjä kirjaston kehittämiseksi, vaikka kirjastot voidaan myös luoda Lazarus-projektina ja kehittää kirjasto Lazarus IDE:llä.
20+
21+Windowsissa DLL:llä on ei-toivottu maine, koska se on liian monimutkainen ja epävakaa. Tämä liittyy enemmän tapaan, jolla ne ovat joskus asennettuja kuin itse DLL:n kanssa. Itse asiassa, koska tietojen siirtäminen DLL:llä ja niistä on yleensä suoritettu tavallisilla, yksinkertaisilla tietotyypeillä (eikä kielispesifisillä objekteilla tai rakenteilla), tämä vaatimus pakottaa ohjelmoijat kiinnittämään enemmän huomiota siihen, mitä he tekevät. Jos se tehdään oikein, tämä voi johtaa parempiin ja vakaampiin ohjelmiin. GUI-sovellukset
22+
23+Useimmat päivittäin käyttämämme ohjelmat ovat GUI-sovelluksia, kuten tekstinkäsittelyohjelmia, verkkoselaimia, taulukkolaskentaohjelmia, jopa monia kehitystyökaluja. Lazarus ja Delphi ovat molemmat hyviä esimerkkejä täyden valikoiman GUI-sovelluksista. Kun kehitetään GUI-sovellusta Lazaruksen kanssa, ohjelmoidaan paitsi Pascal-koodia, myös suunnitellaan lomakkeita, jotka sisältävät visuaalisia kontrolleita, kuten painikkeita ja luetteloruutuja. Delphin tavoin Lazaruksen muotoilu tehdään visuaalisesti. Ohjausominaisuudet voidaan määrittää IDE:ssä tai koodissa.
24+
25+Koska LCL-kontrollit ovat käytettävissä kaikilla tuetuilla alustoilla, yhdellä alustalla kehitetty GUI-sovellus (esimerkiksi Windows) voidaan koota toiselle alustalle (esimerkiksi OS X tai Linux) ilman muutoksia lomakkeen suunnittelu tai lomakkeen koodi tiedostoon.
26+
27+## Lazarus-arkkitehtuuri
28+
29+Lazaruksella kirjoitetut ohjelmat seuraavat arkkitehtuuria:
30+
31+<figure>
32+<img src="Lazarus_App_Architecture.png" title="Lazarus_App_Architecture.png" />
33+<figcaption>Lazarus_App_Architecture.png</figcaption>
34+</figure>
35+
36+Ja LCL itse seuraa seuraavaa arkkitehtuuria:
37+
38+<figure>
39+<img src="LCL_Architecture.png" title="LCL_Architecture.png" />
40+<figcaption>LCL_Architecture.png</figcaption>
41+</figure>
42+
43+LCL:llä on riippumattomia käännösyksiköitä, kuten säätimiä, lomakkeita, painikkeita ja taulukoita. Ne eivät voi työskennellä yksin. Ne ovat abstrakteja ja tarvitsevat taustan. LCL tarjoaa monia erilaisia LCL-rajapintoja, jotka kommunikoivat taustasysteemillä tai "widgetsetillä" (win32, gtk, qt, carbon, cocoa, ...). Taustasysteemi on koottu yksinkertaisesti käyttämällä pakettia LCL ja lisäämällä yksikön "rajapinnat" yhdeksi ensimmäisistä käännösyksiköistä ohjelmaan. Kun luodaan sovellus Lazarus IDE:n kanssa, se tehdään automaattisesti. Taustasysteemi valitaan käännösaikana eikä sitä voida muuttaa ajonaikana.
44+
45+### Katso myös
46+
47+- [[Lazarus Tutorial/fi]] - Lazarus oppimateriaalia
48+
49+---
50+*From the Free Pascal wiki, page "Overview of Free Pascal and Lazarus/fi", as it stood on 2019-01-23 after a change by Djzepi, 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