diff --git a/codemirror/qb-lang.js b/codemirror/qb-lang.js index f999f93..241bfd0 100644 --- a/codemirror/qb-lang.js +++ b/codemirror/qb-lang.js @@ -42,7 +42,7 @@ CodeMirror.defineMode("qbjs", function(conf, parserConf) { '_screenexists', '_sndclose', '_sndopen', '_sndplay', '_sndloop', '_sndpause', '_sndstop', '_sndvol', '_title', '_trim', '_width', 'abs', 'asc', 'atn', 'chr', 'circle', 'cls', 'color', 'command', 'cos', 'cvi', 'cvl', 'exp', 'fix', 'hex', 'input', 'inkey', 'instr', 'int', 'lbound', 'left', 'lcase', 'len', 'line', 'locate', 'log', 'ltrim', 'mid', 'mki', 'mkl', - 'point', 'print', 'pset', 'right', 'rtrim', 'rnd', 'screen', 'shared', 'sgn', 'sin', 'sleep', 'space', 'sqr', 'str', 'swap', 'tan', + 'oct', 'point', 'print', 'pset', 'right', 'rtrim', 'rnd', 'screen', 'shared', 'sgn', 'sin', 'sleep', 'space', 'sqr', 'str', 'swap', 'tan', 'timer', 'ubound', 'ucase', 'val', // QBJS-specific 'alert', 'confirm', 'domadd', 'domcontainer', 'domcreate', 'domevent','domget', 'domgetimage', 'domremove', 'export', diff --git a/qb.js b/qb.js index 32715b4..c9bcfe6 100644 --- a/qb.js +++ b/qb.js @@ -854,6 +854,10 @@ var QB = new function() { return ascii.split("").reverse().join(""); }; + this.func_Oct = function(n) { + return n.toString(8).toUpperCase(); + }; + this.func_Point = function(x, y) { var screen = _images[_activeImage]; var ctx = screen.ctx; @@ -1102,6 +1106,8 @@ var QB = new function() { var ret; if (value.substring(0, 2) == "&H") { ret = parseInt(value.slice(2), 16); + } else if (value.substring(0, 2) == "&O") { + ret = parseInt(value.slice(2), 8); } else { ret = Number(value); } diff --git a/qb2js.js b/qb2js.js index 454f9f7..9780fd2 100644 --- a/qb2js.js +++ b/qb2js.js @@ -2531,6 +2531,7 @@ if (QB.halted()) { return; } await sub_AddQBMethod( "FUNCTION", "Mid$", False); await sub_AddQBMethod( "FUNCTION", "Mki$", False); await sub_AddQBMethod( "FUNCTION", "Mkl$", False); + await sub_AddQBMethod( "FUNCTION", "Oct$", False); await sub_AddQBMethod( "FUNCTION", "Point", False); await sub_AddQBMethod( "SUB", "Print", True); await sub_AddQBMethod( "SUB", "PSet", False); diff --git a/tools/qb2js.bas b/tools/qb2js.bas index 6804ffb..0b1e186 100644 --- a/tools/qb2js.bas +++ b/tools/qb2js.bas @@ -2673,6 +2673,7 @@ Sub InitQBMethods AddQBMethod "FUNCTION", "Mid$", False AddQBMethod "FUNCTION", "Mki$", False AddQBMethod "FUNCTION", "Mkl$", False + AddQBMethod "FUNCTION", "Oct$", False AddQBMethod "FUNCTION", "Point", False AddQBMethod "SUB", "Print", True AddQBMethod "SUB", "PSet", False