Difference between revisions of "Reserved words/pl"
(→Modyfikatory (dyrektywy): tłumaczenie na j. polski cd.) |
(→Unsupported Turbo Pascal modifiers: tłumaczenie na j. polski) |
||
Line 264: | Line 264: | ||
|} | |} | ||
− | == | + | ==Nieobsługiwane modyfikatory Turbo Pascala== |
− | {{Note| | + | {{Note|Te modyfikatory '''są obsługiwane''' w cross kompilatorze [[DOS]] obecnym w wersji rozwojowej FPC}} |
− | + | 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. | |
− | + | Ponieważ Free Pascal nie obsługuje 16-bitowego kodu (tylko 32 i 64-bitowy), te modyfikatory nie mają znaczenia w kodzie Free Pascal. | |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | | [[Far|far]] || | + | | [[Far|far]] || Adresy dostępu spoza obecnego segmentu 64 KB. |
|- | |- | ||
− | | [[Near|near]] || | + | | [[Near|near]] || Adresy dostępu w obecnym segmencie 64 KB. |
|} | |} | ||
Revision as of 02:34, 29 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:
- Tryb Turbo Pascal: słowa kluczowe Turbo Pascal, które są dostępne do użycia
- Tryb Delphi: słowa kluczowe Turbo Pascal i Object Pascal, które są dostępne do użycia
- Rozszerzony tryb Free Pascal: słowa kluczowe Turbo Pascal i Object Pascal, które są dostępne do użycia
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 | Konwersja obiektu do określonej klasy. |
class | Deklaracja klasy. |
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. |
dispose | Zwalnianie pamięci wyznaczonej przez wskaźnik. |
except | Część bloku try - except - end. |
exit | Wyjście z procedury/funkcji. |
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 | Dynamiczne przydzielanie pamięć dla zmiennej. |
on | Wprowadza obsługę klas wyjątków w bloku try - except - end. |
out | Wprowadza zmienną wyjściową w procedurze jako jej parametr. |
property | Deklaracja właściwości. |
raise | Powoduje wyjątek. |
self | Odniesienie do instancji klasy. |
threadvar | Deklaruje zmienną globalną jako lokalną wątku. |
try | Część bloku try - finally - end lub try - except - end. |
Zarezerwowane słowa w Extended Free Pascal
Zarezerwowane słowa w Extended Free Pascal mode zawierają:
- Słowa zastrzeżone trybu Turbo Pascal
- Słowa zastrzeżone trybu Object Pascal mode
Modyfikatory (dyrektywy)
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.
Szczegółowe informacje można znaleźć w Free Pascal Reference Guide|Przewodniku Po Programie Free Pascal.
Modyfikatory | Opis |
---|---|
absolute | Deklaracja zmiennej pod tym samym adresem co inna zmienna. |
abstract | Nie można utworzyć instancji klasy abstrakcyjnej, można ją jedynie dziedziczyć. |
alias | Alias modyfikatora daje możliwość określenia nazwy asemblera procedury. Jest uważany za przestarzały od FPC 2.2.4. |
assembler | Czysta procedura asemblera: procedura jest definiowana przez asm … end
|
cdecl | Modyfikator deklaracji C. |
Cppdecl | Modyfikator deklaracji C++. |
default | Aby właściwości indeksowane były używane bez określania nazwy właściwości. |
export | |
external | |
forward | Zezwól na użycie podprogramu przed jego zadeklarowaniem |
generic | Modyfikator tworzenia klas |
index | Przypisuje właściwość do jednego z indeksów właściwości tablicy. |
local | Modyfikator funkcji/procedury do użytku tylko z Linuksem (dla zgodności Kylix) |
name | |
nostackframe | Wskazówka kompilatora: jeśli to możliwe, pomiń ramkę stosu. |
oldfpccall | Przestarzałe; konwencja wywoływania podprogramów. |
override | Nadpisywanie funkcji wirtualnych. |
pascal | Użyj klasycznej konwencji wywoływania języka Pascal |
private | Prywatny modyfikator dostępności, tylko członkowie klasy mają dostęp do danych/funkcji/procedur. |
protected | Chroniony modyfikator dostępności, członkowie klas i klas dziedziczonych mogą uzyskać dostęp do danych/funkcji/procedur. |
public | Modyfikator dostępności publicznej, publiczny dostęp do danych/funkcji/procedur. |
published | Modyfikator dostępności, opublikowane właściwości są widoczne w środowisku IDE, można je zapisać w pliku .lfm. |
read | Dostęp do odczytu właściwości. |
register | Definiuje konwencję wywoływania procedury: przekaż pierwsze n parametrów przez GPR. |
reintroduce | Umożliwia ukrycie metody klasy nadrzędnej przez nową metodę o tej samej nazwie. |
safecall | Konwencja wywoływania podprogramów. |
softfloat | |
specialize | Specjalizacja klas generycznych. |
stdcall | Konwencja wywoływania podprogramów. |
virtual | Opisuje metodę wirtualną w programowaniu zorientowanym obiektowo. |
write | Dostęp do zapisu właściwości. |
Nieobsługiwane modyfikatory Turbo Pascala
Uwaga: Te modyfikatory są obsługiwane w cross kompilatorze DOS obecnym w wersji rozwojowej FPC
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.
Ponieważ Free Pascal nie obsługuje 16-bitowego kodu (tylko 32 i 64-bitowy), te modyfikatory nie mają znaczenia w kodzie Free Pascal.
far | Adresy dostępu spoza obecnego segmentu 64 KB. |
near | Adresy dostępu w obecnym segmencie 64 KB. |
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.