Sign in Join
Wiki copytemporary

Reserved words/pl: what changed

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

Title: Reserved words/pl

OldNewLine
1+<div style="font-size:1.88em;margin:0.75em 0;">
2+
3+Słowa zastrzeżone (kluczowe)
4+
5+</div>
6+
7+Słowa kluczowe poszczególnych [trybów kompilatora](/wiki-category/Modes) podsumowano w następujący sposób:
8+
9+- [[Mode TP|Tryb Turbo Pascal]]: słowa kluczowe [[Turbo Pascal]], które są dostępne do użycia
10+- [[Mode Delphi|Tryb Delphi]]: słowa kluczowe Turbo Pascal i Object Pascal, które są dostępne do użycia
11+- [[Mode ObjFPC|Rozszerzony tryb Free Pascal]]: słowa kluczowe Turbo Pascal i Object Pascal, które są dostępne do użycia
12+
13+Słowa kluczowe są słowami **zastrzeżonymi** (zarezerwowanymi), tzn. nie mogą być zdefiniowane przez programistę jako [[Identifier|identyfikatory]]. To znaczy, że nie możesz tych słów używać do nazywania swoich zmiennych, stałych, nazw funkcji i procedur, nazw klas itd. W Pascalu, w kodzie źródłowym, słowa kluczowe często są wyróżniane wytłuszczoną czcionką.
14+
15+## Zarezerwowane słowa w Turbo Pascal
16+
17+W trybie Turbo Pascal występują następujące słowa kluczowe:
18+
19+| Słowo kluczowe | Opis |
20+|----|----|
21+| [[And|and]] | Operator logiczny wymagający spełnienia obu warunków, aby wynik był prawdziwy. |
22+| [[Array|array]] | Wiele elementów o tej samej nazwie. |
23+| [[Asm|asm]] | Początek kodu napisanego w języku asemblera. |
24+| [[Begin|begin]] | Początek [[Block|bloku]] kodu. |
25+| [[Break|break]] | Wyjście z instrukcji [[Case|case]]. |
26+| [[Case|case]] | Wybór konkretnego fragment kodu do wykonania na podstawie wartości. |
27+| [[Const|const]] | Deklaracja identyfikatora ze stałą wartością lub zmienną z zainicjowaną wartością. |
28+| [[Constructor|constructor]] | Procedura używana do tworzenia obiektu. |
29+| [[Continue|continue]] | Pomija iterację w pętli for i wznawia wykonywanie od początku pętli. |
30+| [[Destructor|destructor]] | Procedura używana do zwalniania przydziału obiektu. |
31+| [[Div|div]] | Operator dzielenia liczby całkowitej. |
32+| [[Do|do]] | Używane do wskazania początku pętli. |
33+| [[Downto|downto]] | Używane w pętli [[For|for]] do wskazania, że ​​zmienna indeksu jest zmniejszana. |
34+| [[Else|else]] | Używane w instrukcji [[If|if]] w celu zapewnienia ścieżki wykonania, gdy test if nie powiedzie się. |
35+| [[End|end]] | Koniec bloku kodu, rekordu lub innych konstrukcji. |
36+| [[False|false]] | Wartość logiczna wskazująca, że ​​test nie powiódł się; przeciwieństwo [[True|prawdy]]. **Od FPC 3.0.0. False nie jest już słowem kluczowym**. |
37+| [[File|file]] | Zewnętrzna struktura danych, zwykle przechowywana na dysku. |
38+| [[For|for]] | Pętla używana do zwiększania lub zmniejszania zmiennej sterującej. |
39+| [[Function|function]] | Definiuje początek procedury, która zwraca wartość wyniku. |
40+| [[Goto|goto]] | Służy do wyjścia z segmentu kodu i przeskoczenia do innego punktu. |
41+| [[If|if]] | Testuje warunek i wykonuje zestaw instrukcji w oparciu o uzyskany wynik. |
42+| [[Implementation|implementation]] | Definiuje wewnętrzne procedury w [[Unit|module]]. |
43+| [[In|in]] | Identyfikuje elementy w kolekcji. |
44+| [[Inline|inline]] | Kod maszynowy wstawiany bezpośrednio do procedury. |
45+| [[Interface|interface]] | Publiczna deklaracja procedur w [[Unit|module]]. |
46+| [[Label|label]] | Definiuje docelowy punkt skoku dla [[Goto|goto]]. |
47+| [[Mod|mod]] | Operator używany do zwracania reszty z dzielenia liczb całkowitych. |
48+| [[Nil|nil]] | Wartość wskaźnika wskazująca, że ​​wskaźnik nie zawiera wartości. |
49+| [[Not|not]] | Operator logiczny, który neguje wynik testu. |
50+| [[Object|object]] | Definiuje konstrukcję obiektu. |
51+| [[Of|of]] | Definiuje cechy zmiennej. |
52+| [[On|on]] | Definiuje instrukcję obsługi wyjątków w części [[Except]] instrukcji [[Try]]. |
53+| [[Operator|operator]] | Definiuje procedurę używaną do implementacji operatora. |
54+| [[Or|or]] | Operator logiczny, który pozwala na użycie jednej z dwóch opcji. |
55+| [[Packed|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). |
56+| [[Procedure|procedure]] | Zdefiniuj początek procedury, która nie zwraca wartości wynikowej. |
57+| [[Program|program]] | Definiuje początek aplikacji. To słowo kluczowe jest zwykle opcjonalne. |
58+| [[Record|record]] | Grupuje serię zmiennych pod jedną nazwą. |
59+| [[Repeat|repeat]] | Zamyka sekcję kodu w pętli aż do wystąpienia instrukcji [[Until|until]], dopóki wynik testu jest prawdziwy. |
60+| [[Set|set]] | Pogrupuje kolekcję. |
61+| [[Shl|shl]] | Operator do przesunięcia wartości w lewo; odpowiednik pomnożenia przez potęgę 2. |
62+| [[Shr|shr]] | Operator do przesunięcia wartości w prawo; odpowiednik podzielenia przez potęgę 2. |
63+| [[String|string]] | Deklaruje zmienną, która zawiera wiele znaków. |
64+| [[Then|then]] | Wskazuje początek kodu w teście [[If|if]]. |
65+| [[To|to]] | Wskazuje, że zmienna [[For|for]] ma być zwiększana. |
66+| [[True|true]] | Wartość logiczna wskazująca, że ​​test się powiódł; przeciwieństwo [[False|fałszu]]. **Od FPC 3.0.0. True nie jest już słowem kluczowym**. |
67+| [[Type|type]] | Deklaruje rodzaje rekordów lub nowe klasy zmiennych. |
68+| [[Unit|unit]] | Oddzielnie kompilowany moduł. |
69+| [[Until|until]] | Wskazuje na koniec testu instrukcji [[Repeat|repeat]]. |
70+| [[Uses|uses]] | Wskazuje nazwy [[Unit|modułów]], których używa ten program lub moduł. |
71+| [[Var|var]] | Deklaruje zmienne. |
72+| [[While|while]] | Testuje wartość i dopóki jest prawdziwa, wykonuje sekcję kodu w petli. |
73+| [[With|with]] | Odwołuje się do zmiennych wewnętrznych w rekordzie bez konieczności odwoływania się do samego rekordu. |
74+| [[Xor|xor]] | Operator logiczny, który zwraca prawdę, jeśli operandy nie mają tych samych wartości logicznych. |
75+
76+## Zarezerwowane słowa w Object Pascal
77+
78+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.).
79+
80+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 :
81+
82+| Słowo kluczowe | Opis |
83+|----|----|
84+| [[As|as]] | Konwersja obiektu do określonej klasy. |
85+| [[Class|class]] | Deklaracja klasy. |
86+| [[Constref|constref]] | Kwalifikator parametru procedury/funkcji, który działa jak kwalifikator parametru [[const]], ale wymusza przekazywanie parametru przez odwołanie. Dostępny od wersji 2.6 Free Pascala. |
87+| [[Dispose|dispose]] | Zwalnianie pamięci wyznaczonej przez wskaźnik. |
88+| [[Except|except]] | Część bloku try - except - end. |
89+| [[Exit|exit]] | Wyjście z procedury/funkcji. |
90+| [[Exports|exports]] | Eksportuje symbole, które będą publicznie dostępne. |
91+| [[Finalization|finalization]] | Wprowadza opcjonalną 'finalizację' części modułu. |
92+| [[Finally|finally]] | Część bloku try - finally - end. |
93+| [[Inherited|inherited]] | Wywołuje funkcję/procedurę z klasy nadrzędnej. |
94+| [[Initialization|initialization]] | Wprowadza opcjonalną 'inicjalizację' części modułu. |
95+| [[Is|is]] | Może być używany jako [[Operator|operator]] lub [[modifier|modyfikator]] |
96+| [[Library|library]] | Używany we współdzielonej bibliotece modułu (.dll, .so itp.) zamiast słowa zastrzeżonego [[Unit|unit]]. |
97+| [[New|new]] | Dynamiczne przydzielanie pamięć dla zmiennej. |
98+| [[On|on]] | Wprowadza obsługę klas wyjątków w bloku try - except - end. |
99+| [[Out|out]] | Wprowadza zmienną wyjściową w procedurze jako jej parametr. |
100+| [[Property|property]] | Deklaracja właściwości. |
101+| [[Raise|raise]] | Powoduje wyjątek. |
102+| [[Self|self]] | Odniesienie do instancji klasy. |
103+| [[Threadvar|threadvar]] | Deklaruje zmienną globalną jako lokalną wątku. |
104+| [[Try|try]] | Część bloku try - finally - end lub try - except - end. |
105+
106+## Zarezerwowane słowa w Extended Free Pascal
107+
108+Zarezerwowane słowa w [[Mode ObjFPC|Extended Free Pascal mode]] zawierają:
109+
110+- Słowa zastrzeżone [[Mode TP|trybu Turbo Pascal]]
111+- Słowa zastrzeżone [[Mode Delphi|trybu Object Pascal mode]]\
112+
113+## Modyfikatory (dyrektywy)
114+
115+Modyfikatory nie są słowami ściśle zastrzeżonymi; jednakże są one używane w taki sam sposób jak słowa zastrzeżone.
116+
117+Szczegółowe informacje można znaleźć w [Free Pascal Reference Guide\|Przewodniku Po Programie Free Pascal](https://www.freepascal.org/docs-html/current/ref/ref.html).
118+
119+| Modyfikatory | Opis |
120+|----|----|
121+| [[Absolute|absolute]] | Deklaracja zmiennej pod tym samym adresem co inna zmienna. |
122+| [[abstract]] | Nie można utworzyć instancji klasy abstrakcyjnej, można ją jedynie dziedziczyć. |
123+| [[alias]] | Alias ​​modyfikatora daje możliwość określenia nazwy asemblera procedury. Jest uważany za przestarzały od FPC 2.2.4. |
124+| [[assembler]] | Czysta procedura asemblera: procedura jest definiowana przez [[Asm|asm]] … [[End|end]] |
125+| [[cdecl]] | Modyfikator deklaracji C. |
126+| [[Cppdecl]] | Modyfikator deklaracji C++. |
127+| [[default]] | Aby właściwości indeksowane były używane bez określania nazwy właściwości. |
128+| [[export]] | |
129+| [[external]] | |
130+| [[Forward|forward]] | Zezwól na użycie podprogramu przed jego zadeklarowaniem |
131+| [[generic]] | Modyfikator tworzenia klas |
132+| [[index]] | Przypisuje właściwość do jednego z indeksów właściwości tablicy. |
133+| [[Local|local]] | Modyfikator funkcji/procedury do użytku tylko z Linuksem (dla zgodności Kylix) |
134+| [[name]] | |
135+| [[nostackframe]] | Wskazówka kompilatora: jeśli to możliwe, pomiń ramkę stosu. |
136+| [[oldfpccall]] | *Przestarzałe*; konwencja wywoływania podprogramów. |
137+| [[Override|override]] | Nadpisywanie funkcji wirtualnych. |
138+| [[pascal]] | Użyj klasycznej konwencji wywoływania języka Pascal |
139+| [[Private|private]] | Prywatny modyfikator dostępności, tylko członkowie klasy mają dostęp do danych/funkcji/procedur. |
140+| [[Protected|protected]] | Chroniony modyfikator dostępności, członkowie klas i klas dziedziczonych mogą uzyskać dostęp do danych/funkcji/procedur. |
141+| [[Public|public]] | Modyfikator dostępności publicznej, publiczny dostęp do danych/funkcji/procedur. |
142+| [[Published|published]] | Modyfikator dostępności, opublikowane właściwości są widoczne w środowisku IDE, można je zapisać w pliku .lfm. |
143+| [[Read|read]] | Dostęp do odczytu właściwości. |
144+| [[Register|register]] | Definiuje konwencję wywoływania procedury: przekaż pierwsze n parametrów przez <abbr title="general purpose register">GPR</abbr>. |
145+| [[Reintroduce|reintroduce]] | Umożliwia ukrycie metody klasy nadrzędnej przez nową metodę o tej samej nazwie. |
146+| [[Safecall|safecall]] | Konwencja wywoływania podprogramów. |
147+| [[softfloat]] | |
148+| [[specialize]] | Specjalizacja [[Generics|klas generycznych]]. |
149+| [[Stdcall|stdcall]] | Konwencja wywoływania podprogramów. |
150+| [[Virtual|virtual]] | Opisuje metodę wirtualną w programowaniu zorientowanym obiektowo. |
151+| [[Write|write]] | Dostęp do zapisu właściwości. |
152+| | |
153+
154+## Nieobsługiwane modyfikatory Turbo Pascala
155+
156+> **Note:** Te modyfikatory **są obsługiwane** w cross kompilatorze [[DOS]] obecnym w wersji rozwojowej FPC
157+
158+Powodem, dla którego te modyfikatory nie są obsługiwane, jest to, że te modyfikatory obsługują 16-bitowy kod dla DOS. Innymi słowy, te modyfikatory mają specjalne znaczenie dla programowania 16-bitowego pod DOS i Windows 3.x.
159+
160+Ponieważ Free Pascal nie obsługuje 16-bitowego kodu (tylko 32 i 64-bitowy), te modyfikatory nie mają znaczenia w kodzie Free Pascal.
161+
162+| | |
163+|----|----|
164+| [[Far|far]] | Adresy dostępu spoza obecnego segmentu 64 KB. |
165+| [[Near|near]] | Adresy dostępu w obecnym segmencie 64 KB. |
166+
167+## Więcej funkcjonalności
168+
169+Oprócz funkcji językowych zapewnianych przez wspomniane powyżej słowa zastrzeżone/kluczowe, programista ma wiele funkcji dostępnych w różnych bibliotekach:
170+
171+- [[RTL]]: Run-Time Library, dostępna dla wszystkich programów FPC i Lazarus
172+- [[FCL]]: Free Component Library: podstawowy zestaw bibliotek dostępnych dla programów Lazarus i zwykle dla FPC (FPC można skompilować bez niego, ale robi się to celowo tylko dla systemów osadzonych o małej ilości pamięci itp.)
173+- FPC Packages: inne pakiety dostarczane przez FPC
174+- Lazarus components: są to komponenty Lazarusa, które można upuścić na formularzu i często są oparte na pakietach FCL lub FPC
175+- Lazarus utility functions: np. moduł [fileutil](http://wiki.lazarus.freepascal.org/Category:fileutil).
176+
177+Część z bibliotek dostarczonych przez FPC i Lazarus, dostępnych jest więcej bibliotek/komponentów:
178+
179+- FPC moduły dostarczane przez użytkowników: zobacz FPC na wiki
180+- Lazarus CCR: komponenty
181+- Kody dostarczone przez użytkowników w Internecie: zobacz repozytoria open source, takie jak SourceForge i GitHub.
182+
183+## Zobacz także
184+
185+- [[Pascal basics|Podstawy Pascala]]
186+
187+---
188+*From the Free Pascal wiki, page "Reserved words/pl", as it stood on 2021-11-11 after a change by Slawek, 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