Archiv / Archive — Diese Online-Hilfe beschreibt einen älteren Stand; aktuelle V10-Referenz im V7-Paket / This online help describes an earlier version; current V10 reference in V7: CHM Deutsch · CHM English · Produktstatus / Product status . Historische Test- und Zielangaben gelten nicht als aktuelle Qualifikation / Historical test and target statements are not current qualification.
PBXA64 V22 vs PowerBASIC Compatibility
YES = Fully supported PART = Partial NO = Not implemented
Compiler Directives
Directive PBXA64 Notes
#COMPILE EXE/DLLYES DLL/GUI modes rejected with diagnostic (V22)
#DIM ALL / NONEYES #DIM ALL only
#INCLUDE / ONCE / INCLUDELONCEYES Recursive resolution with depth tracking (V22)
#PCODE / #ENDPYES PILOT embedded blocks
#IF / #ELSEIF / #ELSE / #ENDIF / $IFYES Conditional compilation (V21)
#DEFINE / #UNDEF / %DEF()YES Symbol definition and detection (V21/V22)
MACRO / MACROFUNCTION / MACROTEMPYES Full macro expansion engine (V22)
#RESOURCENO PE resources
#DEBUG / #TOOLS / #OPTIMIZENO
#REGISTER / #ALIGN / #STACKNO
Declarations & Procedures
Feature PBXA64 Notes
FUNCTION name(...) AS typeYES
SUB name(...)YES
FUNCTION PBMAIN() AS LONGYES Entry point
DECLARE FUNCTION/SUB ... LIB ... ALIAS ...YES
DECLARE ... ALIAS "#ordinal"YES V13+
DECLARE ... VARARGYES V17+
BYVAL / BYREFYES
OPTIONAL / OPTNO
CALLBACK FUNCTIONYES V17+
MACRO / MACROFUNCTIONYES Full expansion engine (V22)
CLASS / INTERFACE / METHOD / PROPERTYNO COM objects
Variable Declarations
Feature PBXA64 Notes
LOCALYES
DIMYES
STATICYES
GLOBALYES Limited support
THREADEDNO
REGISTERNO
Data Types
Type Suffix PBXA64 Notes
BYTE ?YES
WORD ?YES
DWORD ?YES
INTEGER %YES
LONG &YES
QUAD &&YES
SINGLE !PART Partial SSE lowering
DOUBLE #PART Partial SSE lowering
EXT ##PART Partial x87
CURRENCY @YES
STRING $PART Fixed buffers; heap runtime in V19
WSTRING $$PART Scalar only, heap runtime in V19
ASCIIZ / PTR YES
VARIANT NO
OBJECT / GUID NO
User-Defined Types
Feature PBXA64 Notes
TYPE ... END TYPEPART Numeric/STRING/nested fields, member access, deep copy (V15)
UNION ... END UNIONNO
ENUM ... END ENUMNO
Control Flow Statements
Statement PBXA64 Notes
IF / ELSEIF / ELSE / END IFYES
FOR var = start TO end [STEP n] / NEXTYES
WHILE / WENDYES
DO [WHILE|UNTIL] / LOOP [WHILE|UNTIL]YES
SELECT CASE / CASE / CASE ELSE / END SELECTYES
GOTO labelYES
GOSUB label / RETURNYES
EXIT FOR|WHILE|DO|FUNCTION|SUBYES
ITERATE FOR|WHILE|DOYES
CALL name(args)YES
I/O Statements
Statement PBXA64 Notes
PRINT exprYES
INPUT [prompt;] varYES Console ReadFile
PRINT #n, exprYES
INPUT #n, varYES
LINE INPUT #n, var$YES CR/LF-aware (V13)
LINE INPUT prompt; var$NO
OPEN FOR INPUT|OUTPUT|APPEND|BINARY|RANDOMYES RANDOM/BINARY in V19
OPEN ... ENCODING UTF16LE_BOM|AUTO|UTF8|ANSIYES V17-V19
CLOSE #nYES
GET #n, [pos,] varYES
PUT #n, [pos,] varYES
SEEK #n, posYES
PUT #n UDT with STRING/WSTRINGYES V20: descriptor-safe serialization
WRITE #nNO
LPRINTNO
File Functions
Function PBXA64 Notes
EOF(#n)YES V12+
LOF(#n)YES V12+
LOC(#n)YES V19+
SEEK(#n)YES V19+
FREEFILENO
FILEATTRNO
DIR$ / FILECOPY / KILL / NAME / MKDIR / CHDIRNO
String Functions
Function PBXA64 Notes
LEFT$(s$, n)YES
RIGHT$(s$, n)YES
MID$(s$, start [, n])YES
TRIM$ / LTRIM$ / RTRIM$YES
UCASE$ / LCASE$YES
LEN(s$)YES
STRPTR(s$) / VARPTR(v)YES
FORMAT$(n)PART Numeric only, no mask
SPACE$ / STRING$PART Runtime exists (V12/V19)
REMOVE$ / EXTRACT$ / PARSE$PART Runtime exists (V12/V19)
INSTR / TALLY / VERIFYPART INSTR (V21); TALLY/VERIFY not yet
STR$ / VAL / CHR$ / ASC / HEX$ / BIN$ / OCT$PART STR$/VAL/CHR$/ASC/HEX$ (V21); BIN$/OCT$ no
USING$ / REPEAT$ / BUILD$ / WRAP$NO
MKL$ / CVI / MKI$ / CVS / MKD$ / CVD etc.NO
Math Functions
Function PBXA64 Notes
ABS / SGN / INT / FIX / FRAC / ROUNDPART ABS/SGN/INT (V21); FIX/FRAC/ROUND no
SIN / COS / TAN / ATNPART SIN/COS (V21); TAN/ATN no
EXP / LOG / SQRPART SQR (V21); EXP/LOG no
RND / RANDOMIZEYES V21+
MIN / MAX / SWAPPART SWAP (V21); MIN/MAX no
Arrays
Feature PBXA64 Notes
Fixed arrays: DIM a(upper) YES
Fixed arrays: DIM a(lower TO upper) YES
REDIM a(bounds) AS typeYES Stack-backed
REDIM PRESERVEPART Basic support (V15)
LBOUND / UBOUNDYES
ARRAYATTRNO
ERASENO
ARRAY SCAN / SORT / INSERT / DELETENO
Operators
Operator PBXA64 Notes
+ - * / \ MOD ^YES
= <> < > <= >=YES
AND OR NOTYES
+ (string concat)YES
& (string concat)YES V21+
XOR EQV IMPYES V21+
IS ISFALSE ISTRUENO Object operators
Miscellaneous
Feature PBXA64
SLEEP / WAITKEY$ / STDOUT / STDINPART SLEEP (V21); others no
LSET / RSET / LET / SWAP / INCR / DECRYES V21+
WRITE #nYES V21+
POKE / PEEK / POKE$ / PEEK$ / MEMORYNO
DATE$ / TIME$ / NOW / TIMERYES V21+
CODEPTR / FUNCPTRYES V21+
KILL / NAME / MKDIR / CHDIR / DIR$ / FREEFILEYES V21+
SHELLYES V21+
PILOT (T: A: M: Y: N: C: J: U: E: R: S: D: GR: SO:) YES
Standalone .pilot/.pil/.pcode files YES
#ASM inline assembly blocksNO
Summary
Category YES PART NO
Directives 7 0 3
Declarations & Procedures 9 0 3
Variable Declarations 4 0 2
Data Types 8 4 2
User-Defined Types 0 1 2
Control Flow 10 0 0
I/O Statements 11 0 3
File Functions 4 0 2
String Functions 9 6 10
Math Functions 1 4 10
Arrays 4 1 4
Operators 17 0 2
Other 22 1 11
TOTAL 106 17 54
106 fully supported, 17 partial, 54 not yet implemented. PBXA64 V22 covers the core PB language plus macros, conditional compilation, string functions, file I/O, math functions, arrays, WinAPI, and PILOT. Missing: COM/objects, full graphics, PE resources, UNION, and advanced string packing.
Impressum | Datenschutz