Wünsche und Anregungen | | | | Jörg Sellmeyer | Ich würde mir wünschen, dass Parametertrenner einheitlich verwendet werden. Also keine Minus mehr bei verschiedenen Fenster- oder auch Zeichenbefehlen, sondern stattdessen einheitlich Kommas als Trenner. Auch das Semikolon könnte besser ersetzt werden. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 19.08.2016 ▲ |
| |
| | RGH | Aus Kompatibilitätsgründen ist es leider nicht möglich. Und würde ich beides erlauben, würde der Parser nur unübersichtlicher, langsamer und fehleranfälliger!
Gruß Roland |
| | | XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.08.2016 ▲ |
| |
| | Jörg Sellmeyer | Naja - ich hatte da auch eher an eine mittel- bis langfristige Lösung gedacht. Also Ankündigung jetzt und Umsetzung dann mit X15 oder X16. Bis dahin hätte jeder genug Zeit, seine Codes mal durchzuforsten. |
| | | Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 19.08.2016 ▲ |
| |
| | RGH | Sorry, ich habe wohl bei meiner Antwort zu kurz gedacht:
Ich habe mir die Sache noch mal genauer an geschaut! Es ist offensichtlich alles viel einfacher, als ich im ersten Moment dachte: Für die allermeisten Befehle können schon jetzt die Parameter-Trenner "=", ";" und ">" (andere kommen neben dem Komma ja nicht vor) durch ein Komma ersetzt werden, da das Komma ja zu den Zeichen gehört, die grundsätzlich das Ende eines Parameters anzeigen. (Das geht eigentlich schon seit Jahren.)
Ausnahme, die ich ändern müsste: WINDOW - Das "-" wird als Kennzeichen genutzt, dass es 4 Parameter gibt und nicht nur zwei. Das kann ich aber vermutlich leicht ändern.
Ausnahmen, die auch so bleiben sollten: PLAY - hier trennt das Komma die Töne der Folge, das Semikolon die Stimmen eines Tons PRINT - beim Semikolon werden die Ausdrücke direkt hintereinander ausgegeben, beim Komma wird ein Leerzeichen eingefügt
Bei den Zuweisungen an eine Bereichsvariable mit BYTE, CHAR, LONG, etc. ist das "=" natürlich sinnvoll, da es sich ja um eine Zuweisung handelt. (Tatsächlich kann es aber auch hier durch ein "," ersetzt werden.)
Bei CLASS und STRUCT sollte das "=" natürlich weiterhin zwingend erforderlich bleiben, da es sich um eine Definition handelt.
Bei MAT handelt es sich beim Trennzeichen zwischen den Parametern tatsächlich um einen Operator, so dass hier nur "=", "+", "-", "/" oder "*" erlaubt sind und bleiben.
Kurz: Lediglich WINDOW bedarf einer Überarbeitung!
Gruß Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.08.2016 ▲ |
| |
| | Jörg Sellmeyer | Super - Hartnäckigkeit zahlt sich eben doch aus Nimm den Thread doch einfach in deine ToDo-Liste auf. Wenn es dann eingebaut ist, könntest du es hier direkt auf erledigt setzen. Ich würde sowieso diesen ganzen Wünsche-Bereich gerne mal etwas aufräumen, damit man mal wieder weiß, weas eigentlich schon erledigt ist, was noch ansteht und was nicht umsetzbar ist. Mal sehen, wann David mal wieder reinschneit. |
| | | | |
| | RGH | Erledigt: Im nächsten Bugfix bzw, der nächsten Version (X3.1a oder X3.2) kann man dann auch beim Windows-Befehl das "-" durch ein "," ersetzen. Da aber immer noch das "-" erlaubt ist, muss im Zweifelsfall ein Ausdruck mit "-" im zweiten Parameter geklammert werden ... wie bisher.
Gruß Roland |
| | | XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 19.08.2016 ▲ |
| |
| | Michael W. | Da gibt's ja inzwischen etliches zu Beachten in der Syntax.
Frage: Funktioniert bei CaseOf auch das neue !=
und
Quad B,A = N1 [,N2 [...]]// der fehlt leider (und sein Gegenstück)
.Super.{methode}(...) AddFiles [*]S Arc X1,Y1 - X2,Y2; X3,Y3; X4,Y4 Array( Typ$ E1 [,En...]) // kein Trenner zw. Typ und Werten Byte B,A = N1 [,N2 [...]] Case {bedingung} : {befehl} CaseNot {bedingung} : {befehl} CaseOf T1 [,T2 [...]] // <,<=,>,>=,<> UND DIE FRAGE: != (als neuer Operator) auch erlaubt??? Char B,A = S1 [,S2 [...]] Chord X1,Y1 - X2,Y2; X3,Y3; X4,Y4 Class {name} = [g1]E1 [,[g2]E2 [...]] Copy S1 > S2 CopyBmp X1,Y1 - X2,Y2 > X3,Y3; N1 [,N2] CopyBmpToMem X1,Y1 - DX,DY > X2,Y2 CopyPic H,X1,Y1 - X2,Y2 > X3,Y3; N1 [,N2] CopySizedBmp X1,Y1 - X2,Y2 > X3,Y3 - X4,Y4; N CopySizedPic H,X1,Y1 - X2,Y2 > X3,Y3 - X4,Y4; N db("Go" , X [,N]) // [ |<, >|, <, >, * ] DrawExtBmp I,S,X,Y; N DrawPic /**/ H,X,Y; N1 [,N2] /**/ S,X,Y; N1 [,N2] /**/ I,S,X,Y; N1 [,N2] DrawSizedExtBmp I,S,X1,Y1 - X2,Y2; N DrawSizedPic /**/ H,X,Y - DX,DY; N /**/ S,X,Y - DX,DY; N /**/ I,S,X,Y - DX,DY; N DrawText /**/ X,Y,S[,N] /**/ X1,Y1,X2,Y2,S,N Ellipse X1,Y1 - X2,Y2 Float B,A = N1 [,N2 [...]] If( {bedingung}, {True-Wert}, {False-Wert}) LoadBmp S,X,Y;N LoadSizedBmp S,X1,Y1 - X2,Y2;N Long B,A = N [,N[...]] MCopyBmp X1,Y1 - X2,Y2 > X3,Y3; N1 [,N2] MCopySizedBmp X1,Y1 - X2,Y2 > X3,Y3 - X4,Y4; N Mouse( X1,Y1 - X2,Y2) // !!! Minus in Funktionsparametern oGL("2D" ,X,Y,Z,vSX,vSY) // Referenz-Parameter: vSX,vSY Pie X1,Y1 - X2,Y2; X3,Y3; X4,Y4 Play N1[ ;N2 [...;N16]] ,T,P Print /**/ f;f,f ... /**/ #N,f;f,f ... Rectangle X1,Y1 - X2,Y2 RoundRect X1,Y1 - X2,Y2; X3,Y3 SaveBmp S,X1,Y1 - X2,Y2 SaveBmpToClip X1,Y1 - DX1,DY1 ScreenCopy [X1,Y1 - X2,Y2] String B,A = S [,S[...]] StringW B,A = S [,S[...]] // alt Struct {Name} = E1 [,E2 [...]] SubProc {ContainerFunc}.{Unterfunktion} TBox X1,Y1 - X2,Y2; N TMouse( X1,Y1 - X2,Y2) // !!! Minus in Funktionsparametern WideChar B,A = WS [,WS[...]] WideString B,A = WS [,WS[...]] Window [X1,Y1 - ] X2,Y2 Word B,A = N[,N[...]] WriteIni S1,S2,S3=S4 Funktionieren bei STRUCT und CLASS die neuen Datentypen ???
|
| | | System: Windows 8/10, XProfan X4 Programmieren, das spannendste Detektivspiel der Welt. | 21.08.2016 ▲ |
| |
| | RGH | Nein, bei CaseOf funktioniert das "!=" nicht.
Bei Mouse() und TMouse() kann man schon (fast) immer das "-" duch ein "," ersetzen.
QUAD fehlt tatsächlich noch. Das sollte aber kein Problem sein, das einzubauen.
In Strukturen und Klassen sind die neuen Datentypen erlaubt, wie sie in der Hilfe unter 7.5 und 7.6 stehen: && und %% (Ich habe gerade gesehen: In der Referenz muss ich sie noch nachtragen.)
Gruß Roland |
| | | XProfan X3Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 21.08.2016 ▲ |
| |
|
AntwortenThemenoptionen | 10.371 Betrachtungen |
ThemeninformationenDieses Thema hat 3 Teilnehmer: |