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
| Old | New | Line | |
|---|---|---|---|
| 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).* |
