Difference between revisions of "Reserved words/pl"

From Lazarus wiki
Jump to navigationJump to search
(→‎Reserved words in Object Pascal: tłumaczenie na j. polski)
Line 130: Line 130:
 
|}
 
|}
  
==Reserved words in Object Pascal==
+
==Zarezerwowane słowa w Object Pascal==
  
Object Pascal extends the (Turbo) Pascal language with both support for dealing more easily with objects (object orientation) as well as other newer/more advanced concepts (threads, etc).
+
Object Pascal rozszerza język (Turbo) Pascal zarówno o obsługę łatwiejszego radzenia sobie z obiektami (orientacja obiektowa), jak i inne nowsze/bardziej zaawansowane koncepcje (jak np. wątki itp.).
  
In addition to the reserved words in Turbo Pascal, the following reserved words are available in Delphi mode as well:
+
Oprócz tego do słów zastrzeżonych w Turbo Pascalu, dostępne są również następujące słowa, zastrzeżone w trybie Delphi :
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Keyword !! Description
+
! Słowo kluczowe !! Opis
 
|-
 
|-
 
| [[As|as]] ||
 
| [[As|as]] ||
Line 152: Line 152:
 
| [[Exit|exit]] ||
 
| [[Exit|exit]] ||
 
|-
 
|-
| [[Exports|exports]] || exports symbols which will be publicly available
+
| [[Exports|exports]] || Eksportuje symbole, które będą publicznie dostępne.
 
|-
 
|-
| [[Finalization|finalization]] || introduces an optional 'finalization' part of a unit.
+
| [[Finalization|finalization]] || Wprowadza opcjonalną 'finalizację' części modułu.
 
|-
 
|-
| [[Finally|finally]] || part of a try - finally - end block
+
| [[Finally|finally]] || Część bloku try - finally - end.
 
|-
 
|-
| [[Inherited|inherited]] || calls function/procedure from ancestor  class
+
| [[Inherited|inherited]] || Wywołuje funkcję/procedurę z klasy nadrzędnej.
 
|-
 
|-
| [[Initialization|initialization]] || introduces an optional 'initialization' part of a unit.
+
| [[Initialization|initialization]] || Wprowadza opcjonalną 'inicjalizację' części modułu.
 
|-
 
|-
| [[Is|is]] || can be used as an [[Operator|operator]] or a [[modifier]]
+
| [[Is|is]] || Może być używany jako [[Operator|operator]] lub [[modifier|modyfikator]]
 
|-
 
|-
| [[Library|library]] || used in a shared library unit instead of the reserved word [[Unit|unit]]
+
| [[Library|library]] || Używany we współdzielonej bibliotece modułu (.dll, .so itp.) zamiast słowa zastrzeżonego [[Unit|unit]].
 
|-
 
|-
 
| [[New|new]] ||
 
| [[New|new]] ||
Line 174: Line 174:
 
| [[Property|property]] ||
 
| [[Property|property]] ||
 
|-
 
|-
| [[Raise|raise]] || causes an exception
+
| [[Raise|raise]] || Powoduje wyjątek.
 
|-
 
|-
| [[Self|self]] || reference to an instance of a class
+
| [[Self|self]] || Odniesienie do instancji klasy.
 
|-
 
|-
| [[Threadvar|threadvar]] || declare global variable to be thread local
+
| [[Threadvar|threadvar]] || Deklaruje zmienną globalną jako lokalną wątku.
 
|-
 
|-
| [[Try|try]] || part of Try .. Finally or Try .. Exception block
+
| [[Try|try]] || Część bloku Try .. Finally lub Try .. Exception.
 
|}
 
|}
  

Revision as of 12:04, 27 August 2020

Deutsch (de) English (en) français (fr) polski (pl) русский (ru) 中文(中国大陆)‎ (zh_CN)

Słowa kluczowe poszczególnych trybów kompilatora podsumowano w następujący sposób:

Template:Uwaga

Zarezerwowane słowa w Turbo Pascal

W trybie Turbo Pascal występują następujące słowa kluczowe:

Słowo kluczowe Opis
and Operator logiczny wymagający spełnienia obu warunków, aby wynik był prawdziwy.
array Wiele elementów o tej samej nazwie.
asm Początek kodu napisanego w języku asemblera.
begin Początek bloku kodu.
break Wyjście z instrukcji case.
case Wybór konkretnego fragment kodu do wykonania na podstawie wartości.
const Deklaracja identyfikatora ze stałą wartością lub zmienną z zainicjowaną wartością.
constructor Procedura używana do tworzenia obiektu.
continue Pomija iterację w pętli for i wznawia wykonywanie od początku pętli.
destructor Procedura używana do zwalniania przydziału obiektu.
div Operator dzielenia liczby całkowitej.
do Używane do wskazania początku pętli.
downto Używane w pętli for do wskazania, że ​​zmienna indeksu jest zmniejszana.
else Używane w instrukcji if w celu zapewnienia ścieżki wykonania, gdy test if nie powiedzie się.
end Koniec bloku kodu, rekordu lub innych konstrukcji.
false Wartość logiczna wskazująca, że ​​test nie powiódł się; przeciwieństwo prawdy. Od FPC 3.0.0. False nie jest już słowem kluczowym.
file Zewnętrzna struktura danych, zwykle przechowywana na dysku.
for Pętla używana do zwiększania lub zmniejszania zmiennej sterującej.
function Definiuje początek procedury, która zwraca wartość wyniku.
goto Służy do wyjścia z segmentu kodu i przeskoczenia do innego punktu.
if Testuje warunek i wykonuje zestaw instrukcji w oparciu o uzyskany wynik.
implementation Definiuje wewnętrzne procedury w module.
in Identyfikuje elementy w kolekcji.
inline Kod maszynowy wstawiany bezpośrednio do procedury.
interface Publiczna deklaracja procedur w module.
label Definiuje docelowy punkt skoku dla goto.
mod Operator używany do zwracania reszty z dzielenia liczb całkowitych.
nil Wartość wskaźnika wskazująca, że ​​wskaźnik nie zawiera wartości.
not Operator logiczny, który neguje wynik testu.
object Definiuje konstrukcję obiektu.
of Definiuje cechy zmiennej.
on Definiuje instrukcję obsługi wyjątków w części Except instrukcji Try.
operator Definiuje procedurę używaną do implementacji operatora.
or Operator logiczny, który pozwala na użycie jednej z dwóch opcji.
packed Wskazuje, że elementy tablicy mają zajmować mniej miejsca (to słowo kluczowe służy głównie do zapewnienia zgodności ze starszymi programami, ponieważ pakowanie elementów tablicy jest zwykle automatyczne).
procedure Zdefiniuj początek procedury, która nie zwraca wartości wynikowej.
program Definiuje początek aplikacji. To słowo kluczowe jest zwykle opcjonalne.
record Grupuje serię zmiennych pod jedną nazwą.
repeat Zamyka sekcję kodu w pętli aż do wystąpienia instrukcji until, dopóki wynik testu jest prawdziwy.
set Pogrupuje kolekcję.
shl Operator do przesunięcia wartości w lewo; odpowiednik pomnożenia przez potęgę 2.
shr Operator do przesunięcia wartości w prawo; odpowiednik podzielenia przez potęgę 2.
string Deklaruje zmienną, która zawiera wiele znaków.
then Wskazuje początek kodu w teście if.
to Wskazuje, że zmienna for ma być zwiększana.
true Wartość logiczna wskazująca, że ​​test się powiódł; przeciwieństwo fałszu. Od FPC 3.0.0. True nie jest już słowem kluczowym.
type Deklaruje rodzaje rekordów lub nowe klasy zmiennych.
unit Oddzielnie kompilowany moduł.
until Wskazuje na koniec testu instrukcji repeat.
uses Wskazuje nazwy modułów, których używa ten program lub moduł.
var Deklaruje zmienne.
while Testuje wartość i dopóki jest prawdziwa, wykonuje sekcję kodu w petli.
with Odwołuje się do zmiennych wewnętrznych w rekordzie bez konieczności odwoływania się do samego rekordu.
xor Operator logiczny, który zwraca prawdę, jeśli operandy nie mają tych samych wartości logicznych.

Zarezerwowane słowa w Object Pascal

Object Pascal rozszerza język (Turbo) Pascal zarówno o obsługę łatwiejszego radzenia sobie z obiektami (orientacja obiektowa), jak i inne nowsze/bardziej zaawansowane koncepcje (jak np. wątki itp.).

Oprócz tego do słów zastrzeżonych w Turbo Pascalu, dostępne są również następujące słowa, zastrzeżone w trybie Delphi :

Słowo kluczowe Opis
as
class
constref
dispose
except
exit
exports Eksportuje symbole, które będą publicznie dostępne.
finalization Wprowadza opcjonalną 'finalizację' części modułu.
finally Część bloku try - finally - end.
inherited Wywołuje funkcję/procedurę z klasy nadrzędnej.
initialization Wprowadza opcjonalną 'inicjalizację' części modułu.
is Może być używany jako operator lub modyfikator
library Używany we współdzielonej bibliotece modułu (.dll, .so itp.) zamiast słowa zastrzeżonego unit.
new
on
out
property
raise Powoduje wyjątek.
self Odniesienie do instancji klasy.
threadvar Deklaruje zmienną globalną jako lokalną wątku.
try Część bloku Try .. Finally lub Try .. Exception.

Reserved words in Extended Free Pascal

The reserved words in Extended Free Pascal mode include:

Modifiers (directives)

Modifiers are not strictly reserved words; however they are used in the same way as reserved words.

See the Free Pascal Reference Guide for details.

Modifiers Description
absolute
abstract an abstract class cannot be instantiated, only inherited
alias
assembler pure assembler routine: routine is defined by asm … end
cdecl C declaration modifier
Cppdecl C++ declaration modifier
default For indexed properties to use them without specifying the property name
export
external
forward Allow a subroutine to be used before it is declared
generic class creation modifier
index
local A function/procedure modifier only usable with Linux (for Kylix compatibility)
name
nostackframe compiler hint: omit stack frame if possible
oldfpccall deprecated subroutine calling convention
override overriding of virtual functions
pascal use classic pascal calling convention
private private accessibility modifier, only class members can access data/functions/procedures
protected protected accessibility modifier, accessibility modifier, class members and inherited classes can access data/functions/procedures
public public accessibility modifier, public access to data/functions/procedures
published accessibility modifier, published properties are visible in IDE ar can be written to .lfm
read property read access
register define routine’s calling convention: pass first n parameters via GPRs
reintroduce
safecall subroutine calling convention
softfloat
specialize specialization of generic classes
stdcall subroutine calling convention
virtual describes a virtual method in OO programming
write property write access

Unsupported Turbo Pascal modifiers

Light bulb  Uwaga: These modifiers are supported in the DOS cross compiler present in the FPC development version

The reason why these modifiers are not supported is that these modifiers deal with 16 bit code for DOS. In other words, these modifiers have special meaning for 16 bit programming under DOS and Windows 3.x.

As Free Pascal does not support 16 bit code (only 32 and 64 bit), these modifiers are irrelevant in Free Pascal code.

far access addresses outside of the current 64KB segment
near access addresses in the current 64KB segment

More functionality

Apart from the language features provided by the reserved words/keywords mentioned above, there is a lot of functionality available for the programmer in the various libraries:

  • RTL: Run-Time Library, available for all FPC and Lazarus programs
  • FCL: Free Component Library: a core set of libraries available for Lazarus programs and usually for FPC (FPC can be compiled without it, but that only happens on purpose for low-memory embedded systems etc)
  • FPC Packages: other packages provided by FPC
  • Lazarus components: these are Lazarus components that can be dropped on a form and often based on FCL or FPC packages
  • Lazarus utility functions: e.g. the fileutil unit.

Apart from the libraries provided by FPC and Lazarus, there are more libraries/components available:

  • FPC user-supplied units: see the FPC wiki
  • Lazarus CCR: components
  • User-supplied code on the internet: see open source repositories like SourceForge and GitHub.

See also