Ankündigung

Einklappen
Keine Ankündigung bisher.

if -> mehrere Anweisungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • enertegus
    antwortet
    Zitat von saft6luck Beitrag anzeigen
    Hut ab, das mit den Kommentaren sieht echt cool aus so!!!Ohne das Lob schmälern zu wollen: Hast du auch noch eingebaut, dass leere Strichpunkte (also Strichpunkt und dann Zeilenende) ignoriert werden? Fände ich noch sehr wichtig.
    Na, wenn Ihr so nett fragt und weils ja bald Weihnachten hat - ich hab da auch mal nachgegeben und nun kann man den Strichpunkt setzten, wenn man will oder nicht.

    Einen Kommentar schreiben:


  • saft6luck
    antwortet
    Hut ab, das mit den Kommentaren sieht echt cool aus so!!!

    Ohne das Lob schmälern zu wollen: Hast du auch noch eingebaut, dass leere Strichpunkte (also Strichpunkt und dann Zeilenende) ignoriert werden? Fände ich noch sehr wichtig.

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von Matthias Beitrag anzeigen
    Da kann ich auch nur sagen: DANKE!
    Kann kaum erwarten die neue Version zu bekommen um endlich meinen Code vernünftig (also detailliert) dokumentieren zu können
    Ja, ich hätte auch schon vor 3 Wochen ein Release haben wollen, aber die Änderungen bzw. die Software sind noch nicht rund.
    Und selbst, wenn man das als Beta tituliert, sollte es doch soweit sein, dass zumindest im testbetrieb nix auftritt. Da versuche Euch mit neuen Features zu vertrösten.

    Einen Kommentar schreiben:


  • Matthias
    antwortet
    Kommentare

    Da kann ich auch nur sagen: DANKE!
    Kann kaum erwarten die neue Version zu bekommen um endlich meinen Code vernünftig (also detailliert) dokumentieren zu können

    Einen Kommentar schreiben:


  • Little Bastard
    antwortet
    Wat soll ich sachen?

    Hammer, Geil, Super, Perfekt!
    Sieht so aus, als könnte nun auch ich kommentieren.

    Ich find euch immer noch genial.

    Danke

    Andreas

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Des Kommentierers Paradies

    so hab das nun mal eingebaut
    [highlight=epc]

    [EibPC]
    /* Super, dieser Kommentar */ c=$$
    z= 1 // Eine Variable wurde definiert


    /* Super, dieser Kommentar mit Strichpunkt */; c2=$$

    // Noch ein Kommentar, aber so wie bisher


    /* Meine Beste if-Anweisung */ if /* Achtung Bedingung ist 1b01 */ EIN /* und wir haben nun den Then-Zweig */ then {
    c=elog()
    /* Das ist ein Kommentar ohne Strichpunkt */
    /* auch kein Strichpunkt */
    } endif


    if AUS then {
    // Oder lieber so
    z=4;
    // Diese Anweisung eben war ziemlich dumm
    // weil wir lieber z auf 7 setzen sollten
    z=7;
    // Ende gut alles gut
    } endif
    [/highlight]
    Dann ist hier wohl mal Ruhe im Karton mit den Kommentaren .
    Geht ab dem nächsten Release im Compiler (eibparser)

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von Little Bastard Beitrag anzeigen
    Das ist übrigens auf keinen Fall als Kritik am EIBPC zu verstehen.
    Ich werde nächsten Monat meinen 3ten kaufen... :-)

    Das haben schon deutlich schlechtere und unkreativere Köpfe hingekriegt.
    Ich glaube an euch.
    Na das nehm ich mal als einen Ansporn an!

    Einen Kommentar schreiben:


  • Little Bastard
    antwortet
    Das ist übrigens auf keinen Fall als Kritik am EIBPC zu verstehen.
    Ich werde nächsten Monat meinen 3ten kaufen... :-)

    Nur die Kommentarsache verstehe ich überhaupt nicht.
    Keine Ahnung warum das so kompliziert sein soll.
    Das haben schon deutlich schlechtere und unkreativere Köpfe hingekriegt.
    Ich glaube an euch.

    Einen Kommentar schreiben:


  • Little Bastard
    antwortet
    Hallo

    Mich würde nun noch folgendes interessieren (und ja, ich komme mit den Klammern, Strichpunkten, \\ ... auch null klar)

    ich würde gerne dieses If etwas lesbarer und auch für andere verständlich umstellen.

    Code:
        if event ("BWM_Bad_Praesenz_EIBPC-6/3/7") and  ("BWM_Bad_Praesenz_EIBPC-6/3/7"==EIN) and  Loc_Stat_HelligkeitEsszimmer<=10f16 and !Loc_Stat_ManuellBad then  {write("Dim_Bad_Schalten-14/2/1", EIN) }endif
    Das würde ich mir wünschen:

    Code:
        if event ("BWM_Bad_Praesenz_EIBPC-6/3/7")      and         //Wenn Prsenzmelder im Bad = EIN
             ("BWM_Bad_Praesenz_EIBPC-6/3/7"==EIN) and         //        und
               Loc_Stat_HelligkeitEsszimmer<=50f16 and         //Helligkeit im Esszimmer >50Lux
              !Loc_Stat_ManuellBad                 then         //und Nicht Manuell dann
              {write("Dim_Bad_Schalten-14/2/1", EIN) }endif        //Schalte das Licht ein
    Aber wie ich jetzt feststellen muss, kann ich egal mit welcher Schreibweise, mit Semikolon, \\, /* */ oder was auch immer keinen Kommentar vor einem then einfügen.

    Ist das so gewollt? Mache ich generell was falsch?

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von pio Beitrag anzeigen
    Und mit Yacc o.ä. gibt es ausreichend Tools, mit denen man seinen eigenen Compiler relativ einfach umsetzen kann, allerdings gebe ich zu, dass ich den Aufwand, den es bedeutet, das Validierungsschema über Yacc zu "verwursten" nicht bewerten kann.
    Es ist ja eben kein Compiler im klassischem Sinn, sondern es werden Objekte in eine Art Baum-Abhängigkeit gebracht.
    Zudem ist da noch die Sache mit den Datentypen, die eine "Vererbung" der Datentypen in der Baumstruktur voraussetzen. Schließlich noch die Funktionsargumente und deren Überprüfung (ok, das dürfte mit yacc gehen). Aus meiner Sicht hat das ingesamt wenig mit dem klassischen Compiler zu tun.
    Zugegeben, ich hatte die Sache mit der Zeilenorientierung nicht so auf den Wichtigkeitsradar - aber das wird sich noch geben bzw. ändern lassen.
    Immerhin habe ich ja nun schon Direktiven in den Compiler eingebaut und Makro-Funktionen mit Rückgabe und lokalen Variablen. Das ist doch was, und der Rest wird schon noch. Immerhin ist der EibPC erst 13 Monate alt...

    Einen Kommentar schreiben:


  • pio
    antwortet
    Ich geb jetzt auch noch meinen Senf dazu:

    Warum kann man nicht ein CRLF, CR, LF oder ; einfach als Ende eines
    Befehles akzeptieren?

    Was ist so schlimm an einem einzelnen ; ?
    Oder an sowas: ;;;;;; ;; ;;;;; ;;; ;;;;; ?

    Wenn zwischen zwei Semikolon nix oder Leerzeichen oder Tabs stehen, dann kann der Compiler die einfach ignorieren. Das ist kein grosser Aufwand.

    Und das kann man noch weiter spinnen:

    Warum muss ich mehrere Anweisungen zwischen { } setzen?
    Ich muss ja sowieso ein if .. then .. endif schreiben und kann ziemlich einfach alles was zwischen diesen Keywords liegt, als einen Block dem then- oder else- Teil zuordnen.
    Und warum darf das } nicht alleine stehen?

    Pascal Syntax war schon vor 20 Jahren deutlich verständlicher und einfacher strukturierbar, und Pascal gilt heute nicht mehr als das Optimum.

    Aus meiner Sicht greift das "EibPC ist Zeilenorientiert"-Argument nicht.
    Warum kann der Compiler nicht einfach ein ; zwischen zwei Anweisungen in einer Zeile als "neue Zeile" akzeptieren, wenn das "Zeilenorientiert" so fundamental wichtig ist?

    Die Leistungsfähigkeit des EibPC ist immens!
    Die Syntax ist verbesserungs-/vereinfachungswürdig.

    Und mit Yacc o.ä. gibt es ausreichend Tools, mit denen man seinen eigenen Compiler relativ einfach umsetzen kann, allerdings gebe ich zu, dass ich den Aufwand, den es bedeutet, das Validierungsschema über Yacc zu "verwursten" nicht bewerten kann.

    Einen Kommentar schreiben:


  • saft6luck
    antwortet
    Der Syntax ist unnötig umständlich (nicht ungewohnt!), bzw. man muss sich das Leben doch nicht unnötig kompliziert machen, oder?

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von saft6luck Beitrag anzeigen
    Ja, zum Beispiel. Ist das so schwer zu verstehen?
    Naja, es ist dann ja weniger ein Verständnisproblem als mehr ein Wunsch nach einem anderem Verhalten. Ich war mir jetzt da gar nicht mehr sicher, ob Du das Verhalten buggy betrachtest oder nur ungewohnt.

    Einen Kommentar schreiben:


  • saft6luck
    antwortet
    Zitat von enertegus Beitrag anzeigen
    Ich versteh dein Post nicht ganz: Meinst Du: Der Strichpunkt sollte immer erlaubt sein, quasi als Ende-Markierung wie bei C?
    Ja, zum Beispiel. Ist das so schwer zu verstehen?

    Einen Kommentar schreiben:


  • enertegus
    antwortet
    Zitat von saft6luck Beitrag anzeigen
    darf ich Strichpunkte checken gehen, toll.
    Ich versteh dein Post nicht ganz: Meinst Du: Der Strichpunkt sollte immer erlaubt sein, quasi als Ende-Markierung wie bei C?

    Einen Kommentar schreiben:

Lädt...
X