Seite 1 von 1

[gelöst] ENDIF ist kein Naturgesetz!

Verfasst: Do, 24.01.2013 13:29
von Jonny1
Diese zwei Prozeduren zeigen, daß ENDIF nur dann nötig ist, wenn die auszuführende Anweisung nicht in der gleichen Zeile wie die Abfragung steht. (Oder, selbstverständlich, wenn mehrere Anweisungen ausgeführt werden sollen):

Code: Alles auswählen

sub Probe1
	a=0
	if a=0 then 
		print "a ist gleich Null!"
	endif
	print "Uffa!"
end sub

sub Probe2
	a=0
	if a=0 then print "a ist gleich Null!"
	print "Uffa!"
end sub
Hat jemand Gegenbeweise?

Re: ENDIF ist kein Naturgesetz!

Verfasst: Do, 24.01.2013 14:02
von juetho
Jonny1 hat geschrieben:Hat jemand Gegenbeweise?
Nein, wozu? Denn es ist schon immer korrekt so. In der Hilfe bei IF-THEN-ELSE lese ich zwar nichts darüber, aber beispielsweise im Base-Handbuch Seite 240 Mitte wird es ausdrücklich erwähnt.

Ich könnte mir vorstellen, dass das "seit Urzeiten" eine Eigenheit aller Basic-Dialekte ist.

Jürgen

Re: ENDIF ist kein Naturgesetz!

Verfasst: Do, 24.01.2013 14:08
von bst
Auch Hallo,
Jonny1 hat geschrieben:Oder, selbstverständlich, wenn mehrere Anweisungen ausgeführt werden sollen:
Sicher?

cu, Bernd
--

Code: Alles auswählen

Sub Main
	dim i as integer
	
	i = 1
	if true then print 1: i = i + 1: print 2
	print "i=" & i
End Sub

Re: ENDIF ist kein Naturgesetz!

Verfasst: Do, 24.01.2013 14:26
von boser
Ja, da bei IF-THEN-ELSE zeilen der Befehl von links nach rechts Abgearbeitet wird, also die IF-THEN-ELSE Anweisung,
D.H. wenn die Bedienung IF = Falsch ist , so wird entweder mit der Ausführung nach ELSE weiter gemacht. dh. wieder um ohne ELSE keine Ausführung. Egal wie viel Befehle durch : getrennt sind.
Das war schon so seit dem ich Basic kenne ( ca. 1986 ).

Re: ENDIF ist kein Naturgesetz!

Verfasst: Do, 24.01.2013 14:58
von Jonny1
Vielen Dank an euch allen.

Ich habe zwar mit Basic nicht 1986 angefangen, sondern ungefähr 5 Jahre früher, als es PCs noch nicht gab, sondern "Mikrocomputer" oder was ähnliches, von dem richtigen Namen bin ich mir nach mehr als 30 Jahren nicht mehr sicher.

Ich hatte zuerst einen Alphatronic von Triumph Adler. 64 KB RAM, von denen ich nur 48 KB benutzen konnte, denn zum Erlernen der Technik, die mir die Anwendung der restlichen kostbaren 16 KB ermöglicht hätte, habe ich nie die Zeit gefunden, obwohl die teure 16 KBs so etwa wie zusätzliche 1000 DM gekostet haben. Von Festplatten konnte ich damals nur träumen.

Aber immerhin habe ich es geschafft, mehr als dreißig Jahre lang zu ignorieren, daß man Anweisungen durch Doppelpunkt trennen kann. Eine einmalige Leistung! Aber vielleicht wusste ich es damals und habe dann es bis heute vergessen.