Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Zwei Anweisungen nach then-Anweisung mit AND verknüpfen?! Kategorie: Programmierung Basic (von Achim - 6.06.2004 17:25)
 Als Antwort auf Zwei Anweisungen nach then-Anweisung mit AND verknüpfen?! von Simon - 6.06.2004 15:36
Hi

> If Exit > 128 then MenuNr = 2
> If Exit > 128 then goto Grundmenue
>
> Kann man das jetzt vereinfachen, indem man schreibt:
>
> If Exit > 128 then MenuNr = 2 AND goto Grundmenue

Leider nein. AND ist allen Programmier-Sprachen, die ich kenne, die logische Verknüpfung zweier
Ausdrücke, aber nicht die Aneinanderreihung von zwei Statements.

> Wäre doch um einiges einfacher.

Üblicherweise, d.h. in anderen Sprachen, würde man einen Block bilden, etwa
if (Exit > 128) then
begin
  MenuNr=2
  goto Grundmenue
end

aber dann würde man wiederum kein goto verwenden (müssen). Statt "begin" und "end" gibt es die
unterschiedlichsten Konstrukte in den verschiedenen Sprachen. Im Conrad-Basic geht das mit den Blöcken
leider nicht. Man kann zwar zwei Statements in eine Zeile schreiben und mit ":" trennen, doch leider
funktioniert das bei

if Exit>128 then MenuNr=2:goto Grundmenue

so, dass zwar der Compiler nicht meckert, aber für ihn ist

if Exit>128 then MenuNr=2

das erste Statement und

goto Grundmenue

das zweite. D.h., dass das goto Grundmenu unbedingt ausgeführt wird.

> Geht das oder gibt es eine bessere alternative?

Du könnstest Die Bedingung negieren und dann um den "then"-Teil herumspringen, etwa

if Exit<=128 then goto endif
  MenuNr=2
  goto Grundmenu
#endif


HTH

Bye
 Achim

 Antwort schreiben

Bisherige Antworten: