Programmieren - alles kontrollieren 4.946 Themen, 20.742 Beiträge

Delphi: was tut die funktion

PaoloP / 7 Antworten / Flachansicht Nickles

Hallo


ich stehe immer noch mit meinen bescheidenen C-Kentnissen vor einem Haufen Delphi-Code und bin dem scheinbar hilflos ausgeliefert irgendwie.
Was genau macht das exit ohne Semikolon da in Zeile 10 ? Die beiden if-prüfungen sorgen doch beide für das verlassen der funktion oder ? if-1 liefert true und if-2 liefert false denke ich ist das richtig? oder ist das exit als exit end zu lesen und bedeutet wieder was anderers? Verwirrung pur


1: function hatKeineTeiler:boolean;
2:        var j:integer;
3:begin
4:         result:=true; 
5:         for j:=1 to AnzahlDerPrimzahlenBisher do
6:         Begin
7:                 if groesstePZ<primzahlen[j]*primzahlen[j] then exit;


8:                 if groesstePZ=(GroesstePZ div primzahlen[j])*primzahlen[j] then
9:                 Begin
10:                   result:=false; exit
11:               End;
12:        End;
13:end;

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
Danke aber PaoloP
Andreas42 PaoloP „Danke aber“
Optionen

Hi!

Das ist nach Pascal-Syntax zulassig. Der letzte Befehl eines Blockes (und Begen/End bilden einen Block), muss nicht mit einem Semikolon abgeschlossen werden.

Das gilt auch für "Einbefehlblöcke" z.B. bei If abfragen (zu sehen bei proc1()):

(..)
if a=1 then
proc1()
else
proc2();
(..)

Das Semikolon schliesst die IF-Anweisung ab. Wäre das die letzte anweisung eines Blocken, dann könnte man darauf verzichten.

Bis denn
Andreas

Gott2 wird noch richten, ob diese Antwort zielfuehrend ist oder nicht.
bei Antwort benachrichtigen
Danke aber to andreas42 PaoloP
Danke aber Borlander