Begin

begin - słowo kluczowe języka Delphi

Słowo kluczowe języka Delphi (także języka Pascal) oznaczające rozpoczęcie właściwych instrukcji programu. Pomiędzy słowami kluczowymi begin i end można zawierać także zbiory instrukcji, które można umieścić w dowolnym miejscu kodu (istnieją wyjątki od tej reguły - patrz dalej).

W programie Delphi musi znaleźć się przynajmniej jeden blok instrukcji, aby program był funkcjonalny (czyli coś wykonywał).

  1. program AppName;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5.   Writeln('Hello World');
  6. end.


Uruchamiany program rozpoczyna swoje działanie, właśnie w bloku block .. end, a konkretnie w linii 6. Instrukcja Writeln powoduje wyświetlenie tekstu na konsoli.

Słowo kluczowe begin jest również używane do grupowania instrukcji.

Ilośc instrukcji begin i end musi być sobie równa. W przypadku zbyt dużej liczby słów begin kompilator wyświetla błąd: [Error] nazwa_projektu.dpr: '.' expected but ':' found. Brak słowa end spowoduje wyświetlenie błędu: [Error] nazwa_projektu.dpr: 'END' expected but end of file found. Wyjątkiem są moduły, których zawartość musi kończyć się słowem end.

Wyjątki


Słowo kluczowe begin nie jest dozwolone w sekcji Interface oraz bezpośrednio w sekcji Implementation modułu. Przykład kodu:

  1. unit Unit1;
  2.  
  3.  
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs;
  6.  
  7.   TForm1 = class(TForm)
  8.     { Private declarations }
  9.     { Public declarations }
  10.   end;
  11.  
  12.  
  13.   end;
  14.  
  15.   Form1: TForm1;
  16.  
  17.  
  18. {$R *.dfm}
  19.  
  20. end.


Powyższy kod spowoduje wystąpienie błędu: [Error] Unit1.pas(17): Statements not allowed in interface part.



Zobacz także:
Informacje
Ostatnia modyfikacja 15-01-2006 16:25 Ostatni autor Adam Boduch
Ilość wyświetleń 10256 Wersja 6
Komentarz
holypodi dnia 09-10-2009 18:40
Jeżeli bierzemy pod uwagę sam wyraz "end;", to twierdzenie że "Ilość instrukcji begin i end musi być sobie równa" jest błędne. end; stosujemy także w rekordach, klasach, obiektach, instrukcjach warunkowych case..of .
Deti dnia 15-01-2006 16:35
Po co takie komentarze ?.. jeśli czegoś brakuje lub jest nie tak zawsze możecie poprawić lub dopisać..
Adamo dnia 21-12-2005 15:28
Ilośc instrukcji begin i end musi być sobie równa


niby czemu ? każdy begin musi się kończyć słowem end, ale nie każdy end musi się zaczynać słowem begin, można rozpocząć np try, case, record, class, implementation i jeszcze chyba kilkoma innymi słowami (nie mówię że są to zamienniki begina tylko bloki które też się zamyka endem)

no nie wiem ale używanie begin i end jest normalne, intuicyjne i w ogóle nie ma nic łatwiejszego, natomiast jakbym pierwszy raz naprawdę się spotkał z tymi instrukcjami to mam wrażenie że bym miał strasznie zamotane w głowie, na pewno IMO nie jest to artykuł dla totalnego nowicjusza, a nikomu innemu on się nie przyda ...
Adam Boduch dnia 19-12-2005 15:20
A dlaczego by nie? :P
Misiekd dnia 19-12-2005 14:31
No co Ty tak obcy artykuł poprawiac :P

PS. no teraz gitarra :P
Adam Boduch dnia 19-12-2005 14:21
Czemu wiec nie poprawicie? :]
Smiglo dnia 19-12-2005 11:39
No właśnie - bo z tego wynika, że "begin" i "end" to wymysł Delphi, a przecież pochodzą one z pascala.
Misiekd dnia 19-12-2005 02:20
Troche temat został potraktowany po macoszemu. To co zostało opisane tworzy samo środowisko przy starcie nowego projektu. Należało raczej skupić się na ort! begin .. end w procedurach, funkcjach, instrukcjach if, with, for, itp. Można tez było napisać, że pascalowe begin .. end odpowiada c (c++) { }
Adam.Pilorz dnia 19-12-2005 00:40
Chciałbym tylko zaznaczyć, że w modułach może występować jedno słowo "end" więcej niż "begin". Zawsze moduł musi kończyć się "end.", ale nie musi mieć pełnego bloku "begin..end." w tym miejscu.
Tam gdzie jest ten błąd: [Error] nazwa_projektu.dpr: '.' expected but ':' found wydaje mi się, że powinien być średnik a nie dwukropek.
Po trzecie bardzo pobieżnie jest zaznaczone, że begin..end występuje jako blok instrukcji, cały czas jest o głównym kodzie programu, w którym spotyka się to statystycznie kilkaset razy rzadziej (pewnie gdzieś tyle wynosi średnia liczba bloków begin..end w programie).

Katalog
Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0485 sek. (zapytań SQL: 10)