4.2 Syntaxregeln
Object-Pascal ist sehr tolerant gegenüber Schreibweisen und sogar -fehlern. Was es nicht akzeptiert oder "errät", wird beim Compilieren erkannt und angezeigt. Man versteht aber manche Fehlermeldung nur, wenn man die wichtigsten Syntaxregeln kennt.
- Groß- bzw. Kleinschreibung spielt (bei der Windows-Version) keine Rolle.
(Das kann man zur besseren Übersichtlichkeit geschickt ausnutzen.)
- White-Spaces (Leerräume, Tabulatoren und neue Zeilen) werden ignoriert.
(Auch dadurch kann man den Quellcode strukturieren.)
- Zwei Anweisungen - komplette Befehle sozusagen - werden immer durch ein Semikolon getrennt.
(Man sollte an das Ende eines Befehls immer ein Semikolon setzen, auch wenn das in Ausnahmefällen nicht immer notwendig ist.)
- Reservierte Wörter, die von Object-Pascal als Befehle erkannt wurden, werden fett dargestellt.
(Sie dürfen nicht für andere Zwecke verwendet werden.)
- Kommentare im Programmcode stehen zwischen geschweiften Klammern: {Kommentar} oder zwischen (* *): (*Kommentar*).
Kommentare lassen sich auch durch zwei Divisionszeichen einleiten: //Kommentar Ein solcher Kommentar reicht bis zum Zeilenende. (Kommentare dienen dem Programmierer zum Verständnis des Codes auch zu späteren Zeiten.)
- Innerhalb eines Programms fasst man mit begin ... end Anweisungen zu einem Block zusammen. Ein solcher Block wird wie eine einzelne Anweisung betrachtet, daher trennt man mehrere Blöcke bzw. Anweisungen durch Semikolons.
(Das Programm selbst beginnt mit begin und endet mit end, auf das letzte end folgt jedoch kein Semikolon, sondern ein Punkt.)
- Es ist zweckmäßig (aber nicht notwendig) die Namen der Komponenten, d. h. ihre Eigenschaft "Name", durch einen anschaulichen Begriff zu ersetzen. Dann ist allerdings auch zu empfehlen, sich an die ungarische Notation zu halten (wie z. B. auch bei Visual Basic).
Die ungarische Notation (Hungarian Notation) besteht aus detaillierten Richtlinien zur Benennung von Variablen. Diese Notation hat in der Programmierung in C, besonders in der Windows-Welt, weite Verbreitung gefunden. Sie wird "ungarisch" genannt, weil der Vater dieser Notation, Charles Simonyi, ein gebürtiger Ungar ist und die Namen auf den ersten Blick tatsächlich ein wenig fremdländisch wirken.
Übersicht
Datentyp Präfix Anmerkung
bool / unsigned char b vorzeichenloser 8-Bit Wert, bool Wert oder OEM-Zeichen
char c oder ch vorzeichenbehafteter 8-Bit Wert, ASCII-Zeichen
unsigned short w vorzeichenloser 16-Bit Wert
short / integer n vorzeichenbehafteter 16-Bit Wert oder Integer Wert
unsigned long dw vorzeichenloser 32-Bit Wert
long l vorzeichenbehafteter 32-Bit Wert
float f 32-Bit Gleitkommazahl
double d 64-Bit Gleitkommazahl
double float df Gleitkommazahl 64-Bit bei VC++, 96-Bit bei MinGW
class C Klasse oder Instanz einer Klasse
union u Variante (union) oder Instanz einer Variante
struct str Definition oder Instanz einer Struktur
enum e Enumeration oder Instanz einer Enumeration
Präfix Beispiel
--------------------------------------------------------------------------
Formular (Form) frm frmBriefAssistent
Kontrollkästchen (Checkbox) chk chkNurLesen
Kombinationsfeld (Combo) cmb cmbSprachAuswahl
Combo box cbo cboEnglish
Data-bound combo box dbc dbcEnglish
Befehlsschaltfläche (Commandbutton)cmd cmdOK
Datenbank-Objekt (Data Control) dat datAdressenKTAG
Directory list box dir dirSource
Drive list box drv drvTarget
File list box fil filSource
Gruppenfeld (Frame) fra fraSprachAuswahl
Gitternetz (Grid) grd grdPreise
Data-bound grid dbg dbgPrices
Horizont. Bildlaufl. (Scrollbar) hsb hsbVolume
Bild (Image) img imgIcon
Text (Label) lbl lblAdresse1
Linie (Line) lin linTrenner1
List box lst lstPolicyCodes
Data-bound list box dbl dblPolicyCode
Menue mnu mnuDatei
OLE container ole oleObject1
Optionsfeld (Radio-Button) opt optMaennlich
Bild (Picture-Box pic picBenutzer
Shape shp shpCircle
Textfeld (Text-Box) txt txtBenutzerName
Taktgeber (Timer) tmr tmrAlarmTimer
Object Präfix Beispiel
------------------------------------------------------------------------
Vertical scroll bar vsb vsbRate
Animation button ani aniMailBox
bed Pen Bedit bedFirstName
Checkbox chk chkReadOnly
Picture clip clp clpToolbar
Communications com comFax
Control ctr ctrCurrent
Data control dat datBiblioDirectory
Directory list box dir dirSource
Standard-Dialog (Common-Dialog) dlg dlgDateiOeffnen
Drive list box drv drvTarget
File list box fil filSource
Form frm frmEntry
Frame (3d) fra fraStyle
Gauge gau gauStatus
Group push button gpb gpbChannel
Graph gra graRevenue
Grid grd grdPrices
Pen Hedit hed hedSignature
Horizontalscrollbar hsb hsbVolume
Image img imgIcon
Pen Ink ink inkMap
Keyboard key status key keyCaps
Label lbl lblHelpMessage
Line lin linVertical
MDI child form mdi mdiNote
MAPI message mpm mpmSentMessage
MAPI session mps mpsSession
MCI mci mciVideo
Menu mnu mnuFileOpen
Object obj objUserTable
Option Button (3d) opt optRed
Outline control out outOrgChart
3d Panel pnl (3d) pnlTitleList
Report control rpt rptQtr1Earnings
Shape controls shp shpCircle
Spin control spn spnPages
Timer tmr tmrAlarm
Vertical scroll bar vsb vsbRate
Database Objects Präfix Beispiel
--------------------------------------------------------------------------
ODBC Database db dbAccounts
ODBC Dynaset object dyn dynSalesByRegion
Field collection fld fldCustomer
Field object fld fldAddress
Form frm frmNewUser
Index object idx idxAge
Index collection idx idxNewAge
Macro mcr mcrCollectUsers
QueryDef object qry qrySalesByRegion
Query qry qrySalesByRegion
Report rpt rptAnnualSales
Snapshot object snp snpForecast
Table object tbl tblCustomer
TableDef object tbd tbdCustomers
|