[gelöst] ENDIF ist kein Naturgesetz!

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

[gelöst] ENDIF ist kein Naturgesetz!

Beitrag 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?
Zuletzt geändert von Jonny1 am Do, 24.01.2013 15:35, insgesamt 2-mal geändert.
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: ENDIF ist kein Naturgesetz!

Beitrag 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
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: ENDIF ist kein Naturgesetz!

Beitrag 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
Benutzeravatar
boser
*****
Beiträge: 264
Registriert: Mi, 02.09.2009 08:28
Kontaktdaten:

Re: ENDIF ist kein Naturgesetz!

Beitrag 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 ).
mfg
boser

linux suse 11.4 / 12.2 ; LibreOffice 3.4.2
Jonny1
***
Beiträge: 55
Registriert: Mi, 12.01.2011 21:49

Re: ENDIF ist kein Naturgesetz!

Beitrag 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.
Antworten