| |
|
|
Michael Wodrich | Operatoren
Operatoren sabe Profano sólo seit el Versión 6. Vorher fueron matemático y Verknüpfungs-Operationen encima Características hecho. El Características existieren de Kompatibilitätsgründen weiterhin, puede aber para zukünfige Versionen de XProfan no garantiert voluntad.
Lo son folgende Operatoren:
<b>Zuweisung:</b>
Var = Ausdruck | Wertzuweisung | |
En Wertzuweisung son todos Variablentypen posible. Der Ausdruck debería vom gleichen Typ ser como Variable. Einige Werte voluntad automáticamente konvertiert (Int <--> LongInt, Int+LongInt -> Float). Für (String <--> Int) debería uno siempre Konvertierungsfunktionen benutzen ( @LINKF:[Int], @LINKF:[Str]$ ).
<b>String:</b>
A$ + B$ | Cuerdas verknüpfen; alt: @Add$(A$,B$) | A$ = B$ | Vergleich: Gleichheit; alt: @Equ$(A$,B$) | A$ <> B$ | Vergleich: Ungleichheit; alt: @NEq$(A$,B$) | |
Der Datentyp es hier siempre vom Typ String.
<b>Mathematisch:</b>
A% + B% | Addition; alt: @Add(A%,B%) | A% - B% | Subtraktion; alt: @Sub(A%,B%) | A% * B% | Multiplikation; alt: @Mul(A%,B%) | A% / B% | Division; alt: @Div(A%,B%) | A% B% | ganzzahlige Division: 5 2 = 2 (Rest fällt weg); alt: @Div&(A%,B%) | A% MOD B% | Modulo/Teilungsrest: 5 mod 2 = 1 (el Rest el Division); alt: @Mod(A%,B%) | A% ^ B% | Potenz; alt: @Pow(A%,B%) | |
Der Datentyp Integer (<b>%</b>) es hier stellvertretend para: <b>%</b> (Integer), <b>&</b> (LongInt), <b>!</b> (Float).
<b>Relational:</b>
A% < B% | Vergleich: kleiner como (less than); alt: @LT(A%,B%) | A$ < B$ | Vergleich: kleiner como (less than); alt: @LT$(A$,B$) | A% <= B% | Vergleich: kleiner oder igual (less or equal); (gab no como Función) | A$ <= B$ | Vergleich: kleiner oder igual (less or equal); (gab no como Función) | A% > B% | Vergleich: grösser como (greater than); alt: @GT(A%,B%) | A$ > B$ | Vergleich: grösser como (greater than); alt: @GT$(A$,B$) | A% >= B% | Vergleich: grösser oder igual (greater or equal); (gab no como Función) | A$ >= B$ | Vergleich: grösser oder igual (greater or equal); (gab no como Función) | A% = B% | Vergleich: Gleichheit; alt: @Equ(A%,B%) | A% <> B% | Vergleich: Ungleichheit; alt: @NEq(A%,B%) | |
Der Datentyp Integer (<b>%</b>) es hier stellvertretend para: <b>%</b> (Integer), <b>&</b> (LongInt), <b>!</b> (Float).
<b>Logisch:</b>
A% AND B% | logisches UND | A% O B% | logisches ODER | NOT(A%) | logisches NICHT (existiert <b>nur</b> como Función) | |
Der Datentyp Integer (<b>%</b>) es hier stellvertretend para: <b>%</b> (Integer), <b>&</b> (LongInt).
<b>Binär:</b>
A% & B% | binäres UND | A% | B% | binäres ODER | A% << B% | Bits después de links schieben (en Delphi: SHL) | A% >> B% | Bits después de rechts schieben (en Delphi: SHR) | |
Der Datentyp Integer (<b>%</b>) es hier stellvertretend para: <b>%</b> (Integer), <b>&</b> (LongInt).
Si el - auch Parámetro trennt (como etwa en LINKP:[WINDOW] y el vielen <a href="https://XProfan.com/index.mx?online-dokumentation-rubriken/rub8">Grafik-Befehlen</a>), es notwendig Subtraktionen einzuklammern, etwa: Ventana a%,(b% - 5) - (c% - 6),500
Anderenfalls kann el Parser durcheinander geraten y lo son Fehlermeldungen.
El Operatoren son en folgende Hierarchiestufen eingeteilt:
1. | ^ | | | | | | | | 2. | MOD | AND | * | / | | & | >> | << | 3. | O | + | - | | | | | | | 4. | = | > | < | | | | | | 5. | <> | >= | <= | | | | | | |
Referencia: El Hierarchie entspricht en etwa el bajo PASCAL y weicht de el BASIC-Hierarchie de. El Vergleichsoperatoren (Stufe 4 + 5) son en BASIC höher eingestuft.
Aus BASIC: If A% > 6 AND A% <= 20 THEN <...> End If
se en XProfan: If (A% > 6) AND (A% <= 20) <...> EndIf
In PASCAL sería uno escribir: If (A > 6) AND (A <= 20) THEN BEGIN <...>; End;
Klammerung es como üblich erlaubt, etwa: C% = 5 * (A% + B%) Ergebnis! = 248 * d% / (e% + f%)
Klammern puede cualquier, d.h. a para Stack-Überlauf, verschachtelt voluntad.
<b>Wichtig:</b> Achten Sie en el Klammersetzung. Versión 7.5 stösst en Fehler, el Versión 6.5 todavía übersehen ha! El Fehlermeldung "Zu wenig Parameter" en uno Línea con verschachtelten Características/Klammern deutet häufig en una Fehler en el Klammersetzung hin!
<b>Achtung:</b> Logisch bedeutet, dass el Ergebnis verdadero (1) oder falso (0) es, en binären Características voluntad el Werte bitweise verknüpft:
logisch: 2 O 4 ergibt 1, porque mindestens uno el Werte <> 0 (= verdadero) es
binär: @O(2,4) o. 2 | 4 ergibt 6: %0010 O %0100 = %0110
Für schnelle Berechnungen con Integer-Werten, z.B. en Schleifen, etc., hay en XProfan zusätzlich algunos Befehle, el más rápido y übersichtlicher son:
LINKP:[INC] V% | aumenta V% en 1 | LINKP:[DEC] V% | erniedrigt V% en 1 | LINKP:[ADD] V%,n | aumenta V% en n | LINKP:[SUB] V%,n | erniedrigt V% en n | |
(Hierbei es <b>V%</b> para una beliebige Integer- oder Longint-Variable y <b>n</b> para una beliebigen Ausdruck.)
Für el Zusammenfügen de Cuerdas (Zeichenketten) se el "+" verwandt: Texto$ = "Du bist " + Str$(Alter%) + " Jahre alt."
zwar funktioniert en algunos Versionen auch: Texto$ = "Du bist ";Str$(Alter%);" Jahre alt."
sin embargo es sólo el Pluszeichen como Verknüpfungs-Operator definiert. Lo kann deshalb a fehlerhaften Programmen führen, si hier no sorgfältig gearbeitet se.
<b>Hinweis:</b> El automatische Typumwandlung funktioniert en einfachen Variables. En Características, el una numerischen Valor zurückgeben, no es siempre automáticamente umgewandelt, por lo tanto es hier siempre el Función @LINKF:[Str]$ utilizarse! VOR y NACH el Operatoren muss una Leerzeichen posición. Como algunos Operatorzeichen auch en un otro Zusammenhang benutzt voluntad, puede Compiler y Interpreter sonst fehlerhaften Code erzeugen.
|
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 31.07.2005 ▲ |
|
|
|