Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zweimal end ?

22 views
Skip to first unread message

Jürgen Meyer

unread,
May 26, 2014, 11:15:02 AM5/26/14
to
Das deutsche InnoSetup-Forum gibt's nicht mehr und hier wird (ist) auch
geschlossen. Vielleicht komme ich ja trotzdem noch durch und irgendjemand
liest es.

Ich versuche gerade die Tiefen von InnoSetup zu ergr�nden, stehe aber noch
ganz am Anfang.

Ich habe zwei nahezu identische Funktionen
Warum muss dort am Ende "end;" zweimal stehen?
Ergibt f�r mich keinen Sinn.

function AddPath(version: String): Boolean;
begin
result:= false;
Case version of
'1':
begin
if accversion = '12' then
result:= true;
end;
'2':
begin
if accversion = '14' then
result:= true;
end;
'3':
begin
if accversion = '15' then
result:= true;
end;

end;
end;

Lasse ich ein "end;" weg, gib es bei der n�chsten Funktion eine Fehlermeldung:
"Identifier expected"

Wer kl�rt mich auf?
Gru�
J�rgen

P.S.
Gibt es da eventuell noch ein (deutsches) Forum f�r Anf�nger
(InnoSetup/Pascal)?

chk...@web.de

unread,
Jun 11, 2015, 5:35:23 AM6/11/15
to
Jürgen Meyer schrieb am 26.05.2014 17:15:
>
> Lasse ich ein "end;" weg, gib es bei der nächsten Funktion eine Fehlermeldung:
> "Identifier expected"

Die Case-Anweisung braucht auch ein end!

vg

Reinhard Buchholz

unread,
Nov 17, 2020, 4:11:14 AM11/17/20
to
Am 26.05.14 um 17:15 schrieb Jürgen Meyer:
> function AddPath(version: String): Boolean;
> begin
> result:= false;
> Case version of
> '1':
> begin
> if accversion = '12' then
> result:= true;
> end;
> '2':
> begin
> if accversion = '14' then
> result:= true;
> end;
> '3':
> begin
> if accversion = '15' then
> result:= true;
> end;
>
> end;
> end;

Du kannst dir die bind end's der verschiedenen case-Fälle sparen, da
jeweils nur eine if-Anweisung dort steht.
Das vorletzte end ist das end der case-Anweisung, die immer mit end
abgeschlossen wird. Somit ist die vereinfachte Struktur:

function AddPath(version: String): Boolean;
begin
result:= false;
Case version of
'1':if accversion = '12' then
result:= true;
'2':if accversion = '14' then
result:= true;
'3':if accversion = '15' then

Reinhard Buchholz

unread,
Nov 17, 2020, 4:15:27 AM11/17/20
to
Du kannst begin und end der verschiedenen case-Fälle einsparen, da
jeweils nur eine if-Anweisung dort steht.
Das vorletzte end ist das end der case-Anweisung, die immer mit end
abgeschlossen wird. Somit ist die vereinfachte Struktur:

function AddPath(version: String): Boolean;
begin
result:= false;
Case version of
'1':if accversion = '12' then
result:= true;
'2':if accversion = '14' then
result:= true;
'3':if accversion = '15' then
0 new messages