If-Else Anweisung formulieren

Fragen zum Thema InterRun
Antworten
nomatar
Interessent
Beiträge: 10
Registriert: Mi, 02 Aug, 2006 14:28

If-Else Anweisung formulieren

Beitrag von nomatar » Sa, 12 Aug, 2006 20:23

Hallo!

Trotz zahlreicher Versuche will es mir nicht gelingen eine simple if-else-Anweisung zu schreiben. :cry:

Beispiel:

    if SInpRes = "A"
      Msg ( "A" )
    endif

Wie bekomme ich da jetzt eine else-Anweisung hinein?!
Ich kenne nur Java, C++, PHP und JavaScript - wenn das also irgendwie von VB abgeschaut ist, hab' ich keine Ahnung! (Ich weiss nur noch, dass die Sprache ähnlich aufgebaut ist, es ist aber zu lange her, dass ich damit Programmiert habe)

nomatar
Interessent
Beiträge: 10
Registriert: Mi, 02 Aug, 2006 14:28

Beitrag von nomatar » Sa, 12 Aug, 2006 20:34

Sorry, vielleicht hätte ich das Problem näher schildern sollen - hab' ich ganz vergessen.
Ich bekomme immer eine Index-Überschreitungs-Fehlermeldung (zwischen 19 und 20), wenn ich versuche eine Else-Anweisung zu einer schon vorhandenen if-Anweisung eines ToolButtons hinzuzufügen.
Leider ist bei InterRun.de im Augenblick nur Dokumentiert, dass es die Keywords "if, Then, Else" gibt, aber noch nicht, wie diese eingesetzt werden.

Im Internet steht zu Visual Basic folgendes Beispiel:

    if SInpRes = "A" Then
        Msg ( "A" )
    Else If SInpRes = "H" Then
        Msg ("H")
    endif

Das funktioniert genauso wenig wie alle mir einfallenden Möglichkeiten ohne "Then" oder einfach nur mit "Else" (was ja auch unlogisch wäre) oder einer Versetzung von "EndIf" usw, usw, usw...

Benutzeravatar
Team Schauries
Site Admin
Beiträge: 1058
Registriert: Mo, 17 Jan, 2005 20:25
Wohnort: Essen

Beitrag von Team Schauries » Sa, 12 Aug, 2006 20:58

Hallo nomatar,

nur ganz kurz...

ich meine es war:

if s = "a"
peeb
endif
else
sm("s ist nicht = a")
endelse

gruß,
joshi
Team Schauries

nomatar
Interessent
Beiträge: 10
Registriert: Mi, 02 Aug, 2006 14:28

Beitrag von nomatar » Mo, 14 Aug, 2006 12:30

Achso, dann gibt es wohl kein "elseif", sondern nur ein if, else in dieser Form:

    if SInpRes = "A" Then
        Msg ( "A" )
    ElseIf SInpRes = "H" Then
        Msg ("H")
    endelseif
    else
        MSG ("Weder A noch H")
    endelse

nomatar
Interessent
Beiträge: 10
Registriert: Mi, 02 Aug, 2006 14:28

Beitrag von nomatar » Mo, 14 Aug, 2006 12:33

Sch.... man! :evil:
Ich hab' mich wieder vertippt! Die Form oben ist natürlich die Art Abfrage, die ich erstellen möchte.
Wenn es das in der Sprache noch nicht gibt, steht die wohl noch ziemlich am Anfang der Entwicklung. :idea:

PS:
Es wäre gut, wenn man hier seine Beitrage editieren könnte.

Benutzeravatar
Team Schauries
Site Admin
Beiträge: 1058
Registriert: Mo, 17 Jan, 2005 20:25
Wohnort: Essen

Beitrag von Team Schauries » Mo, 14 Aug, 2006 20:15

Hallo nomatar,

Du hast völlig Recht, InterRun ist gerade mal in der Pubertät, wenn überhaupt, aber wir arbeiten dran.
Es gibt bspw. nur For-Schleifen - While oder Repeat sucht man vergeblich.

Was „If Then Else” angeht, würde ich in Deinem Fall die Case-Anweisung verwenden:

Procedure Schalter1_OnClick
var S : String

s = "B"

SelectCase s

Case "A"
sm("Ist A")
Beep

Case "B"
sm("Ist B")
Beep

EndCase

EndProcedure

Gruß,
Dirk Schauries
Team Schauries

nomatar
Interessent
Beiträge: 10
Registriert: Mi, 02 Aug, 2006 14:28

Beitrag von nomatar » Mo, 14 Aug, 2006 23:04

Naja, danke!
Das mit den Schleifen hab' ich auch schon schmerzlich vermisst. :wink:
Die Case-Anweisung funktioniert leider nicht, da hierfür nur feste Werte verwendet werden können (das mit dem "a" und "h" war ja nur ein vereinfachtes Beispiel).
Ich werde die Anweisungen wohl oder übel mit verschachtelten if-Anweisungen umsetzen. Das verkompliziert zwar alles deutlich aber im Augenblick sollte man noch nicht davon ausgehen, dass die Sprache für intesive arbeit geeignet ist. :shock:
Aber wenn ihr so weiter macht, wird das ein wirklich super Programm, das man hervorragend individuell erweitern kann!

Danke für die schnelle Antwort!! :)

Antworten