8. Online Calculator


 

8.1. Bedienung

mbedit verfügt über einen eingebauten Taschenrechner, der mit dem Kommando "C"alc aufgerufen wird. Der zu berechnende Ausdruck wird in Status-Zeile 2 eingegeben und das Ergebnis (dezimal, hex und ASCII) ebenfalls dort angezeigt. Beispiel: Eingabe: C (((7 + 3) * 2) >> 2) + '0' Anzeige: Calc: 53 = 0x00000035 = '5' Calc kann außerdem numerische und String-Variable behandeln. Bei den String-Variablen gibt es einige, die eine fest definierte Bedeutung haben. Mit ihrer Hilfe kann man interne Parameter von mbedit abfragen, z.B. das Zeichen unter dem Cursor.

8.2. Operatoren / Prioritäten

Die Operatoren entsprechen der c- bzw. PLM-Syntax und werden daher nicht weiter erläutert. Hier folgt eine Aufzählung: Priorität | Operatoren ----------+-------------------------------------------------------------- 0 (high)| ( 1 | ! ~ 2 | ** 3 | * / % \\ 4 | + - 5 | << >> SAL SAR SHL SHR ROL ROR 6 | < <= > >= 7 | == != <> 8 | & 9 | ^ 10 | | 11 | && 12 | || 13 | = *= /= %= | += -= <<= >>= &= ^= |= 14 | ) 15 (low) | ;

8.3. Calc Variablen, numerisch

Calc kennt numerische Variablen, die durch einen Namen identifiziert werden. Beispiel: Eingabe: C alfa=3 Anzeige: Calc: 3 = 0x00000003 Eingabe: C beta=4 Anzeige: Calc: 4 = 0x00000004 Eingabe: C alfa + beta Anzeige: Calc: 7 = 0x00000007 Eine Sonderrolle nehmen die Variablen mit den Namen "n0" bis "n9" ein. Auf diese Variablen kann mit dem Control Zeichen ^N zugegriffen werden. In der Status-Zeile 2 werden die Werte immer dezimal eingesetzt, im Text (Insert / Exchange Mode) abhängig von der eingestellten Zahlenbasis (Set Radix). Siehe auch die Kapitel "Eingaben in Status-Zeile 2" und "Set Options" ! Beispiel: Eingabe: C n1=1023 Anzeige: Calc: 1023 = 0x000003ff Eingabe: SRH (Set Radix Hex) I ^N1 Anzeige: 3ff (Text) Eingabe: F ^N1 Anzeige: Find:"1023" (Status-Zeile 2)

8.4. Calc Variablen, Strings

Calc kennt ferner String-Variablen, die durch einen Namen identifiziert werden. Eine Sonderrolle nehmen die String-Variablen mit den Namen "s0" bis "s9" ein. Auf diese Variablen kann mit dem Control Zeichen ^S bzw. ^V zugegriffen werden. Beispiel: Eingabe: C Paul="Harry" Anzeige: Calc: "Harry" Eingabe: C s3="Peter" Anzeige: Calc: "Peter" Eingabe: I ^V3 Anzeige: Peter (Text) Eingabe: F ^V3 Anzeige: Find:"Peter" (Status-Zeile 2)

8.5. Vordefinierte Variablen

Einige Variablen in mbedit haben eine besondere Bedeutung. Mit Hilfe von Calc können sie ausgelesen werden: Typ | Name | Beschreibung ------+--------+------------------------------------ int | BOF | begin of file | | long | CNTEXE | macro execution int | CNTFND | no of "(-)Find" long | CNTMAC | macro completed int | CNTREP | no of "(?)Replace" | | int | COL | current column (in file) byte | CURCH | current character long | CURPOS | current position in file word | CURWD | current word | | long | DATE | (mm*10000 + dd)*100 + yy) = mmddyy int | EOF | end of file int | INOTHR | no of file: (0...n) int | ISDEL | current character is delimiter int | ISWHTE | current character is white space | | = <space>, <tab>, <cr>, <lf> long | LINACT | actual line no long | LINTOT | total lines in file byte | LOWCH | = tolower (CURCH) | | int | LSTFND | last Find command successful int | NSTLVL | macro nesting level byte | NXTCH | next char int | NXTTAB | next tab position word | NXTWD | next word int | ROW | current row (in file) | | char* | SB | string Block buffer char* | SE | string Edit file char* | SG | string Get file char* | SI | string Input file char* | SM | string Macro File char* | SO | string Other file char* | SP | string Put file char* | SR | string "Replace" char* | ST | string "Find" ('T'arget) char* | SW | string Write file | | long | SLx | string length x (0...9 or 2nd character) | | long | TAGA | offset of tag A long | TAGB | offset of tag B long | TAGC | offset of tag C long | TAGD | offset of tag D | | long | TIME | (hh*10000 + mm)*100 + ss) = hhmmss byte | UPCH | = toupper (CURCH) Beispiel: Eingabe: C date Anzeige: Calc: 81293 = 0x00013d8d (12. Aug 1993)

8.6. Vordefinierte String-Variablen

Die String-Variablen SB, SE, usw ... können auch im Insert / Exchange Mode sowie in der Status-Zeile 2 durch die Eingabe von ^S / ^V gefolgt von dem 2. Buchstaben angewählt werden. 2. Buchstabe | Spezieller String -------------+---------------------- B | Block Buffer E | Edit <filename> G | Get <filename> I | Input <filename> M | Macro <filename> O | Other <filename> P | Put <filename> R | Replace String T | Find String (T=Target) W | Write <filename> Y | sYntax <filename> Beispiel: Eingabe: I ^VM Anzeige: Text: ... C:\BIN\mbedit.mac ... Eingabe: QI ^VM Anzeige: Read Filename:"C:\BIN\mbedit.mac"

8.7. Fehlermeldungen

Falsche Eingaben im Calc-Kommando können folgende Fehlermeldungen erzeugen: - Invalid symbol in expression - Invalid expression - Unbalanced parentheses - Not a constant - Not a number - Numeric constant too large - Identifier too long - Too many variables - Assignment to constant - Divide by zero