Skip to content

Anweisungen

Anweisungen sind eine oder mehrere Codezeilen gefolgt von einem Strichpunkt. Hier ist eine einfache Anweisung:

A := B;

Hier ist eine zusammengesetzte (oder strukturierte) Anweisung:

begin
  B := C;
  A := B;
end;

Einfache Anweisungen

Eine einfache Anweisung enthält einen einzelnen Strichpunkt. Wenn es nötig ist, die Anweisung auf mehrere Zeilen zu verteilen, rücken Sie die zweite Zeile zwei Leerstellen mehr ein als die vorherige:

MyValue := MyValue + (SomeVeryLongStatement / OtherLongStatement);

Zusammengesetzte Anweisungen

Zusammengesetzte Anweisungen enden immer mit einem Strichpunkt, außer sie stehen direkt vor einer end-Anweisung. In diesem Fall wäre der Strichpunkt optional.

Zuweisungen und Ausdrucksanweisungen

Jede Zeile sollte höchstens eine Anweisung beinhalten, z.B.:

BAD STYLE:

A := B + C; Inc(Count);

GOOD STYLE:

A := B + C;
Inc(Count);

Deklaration lokaler Variablen

Lokale Variablen sollten in Camel Caps benannt werden und bekommen ein v vorangestellt.

var
  vArraySize, vArrayCount: Integer;

Array-Deklarationen

Hier sollte immer vor der geöffneten Klammer “[" und nach der schließenden "]” ein Leerzeichen stehen.

type
  TMyArray = array [0..100] of Char;

Verzweigungen und Schleifen

if-Anweisungen sollten immer mindestens in zwei Zeilen stehen.

BAD STYLE:

if A < B then DoSomething;

GOOD STYLE:

if A < B then
  DoSomething;

Setze in zusammengesetzten if-Anweisungen jedes Element, das Anweisungen voneinander trennt in eine neue Zeile:

BAD STYLE:

if A < B then begin
  DoSomething;
  DoSomethingElse;

end else begin
  Foo;
  Bar;

end;

GOOD STYLE:

if A < B then
  begin
    DoSomething;
    DoSomethingElse;
  end
else
  begin
    Foo;
    Bar;
  end;

Gleiches gilt für case-Verzweigungen, repeat-until-, while- und for-Schleifen sowie try-except-Anweisungen.

for i := 0 to 10 do
  begin
    DoSomething;
  end;
while x < j do
  begin
    DoSomethingElse;
  end;
repeat
  X := j;
  UpdateValue(j);
until j > 25;
case Control.Align of
  vLeft, vNone: NewRange := Max(NewRange, Position);
  vRight: Inc(AlignMargin, Control.Width);
end;
try
  try
    EnumThreadWindows(CurrentThreadID, @Disable, 0);
    Result := TaskWindowList;
  except
    EnableTaskWindows(TaskWindowList);
    raise;
  end;
finally
  TaskWindowList := SaveWindowList;
  TaskActiveWindow := SaveActiveWindow;
end;

Rücksprung aus Funktionen / Funktionen in Übergabeparametern.

Der Rückgabewert der Funktion wird immer in der Variable Result gespeichert. Diese muss initialisiert werden, da sonst der Rückgabewert nicht definiert ist!


Copyright © 2021 Häcker Automation