BASIC2PAS 1.2 ------------------------------------------------------------------- INTRODUCTION bas2pas help you to convert basic program to pascal. Your basic source must be in particular form, it's not fully compatible with QuickBasic. Pactage description: bas2pas.exe The converter basic.tpu Basic unit ( for turbo Pascal 7.0 ) basic.inf Info about basic unit pmouse.tpu Mouse unit ( for turbo pascal 7.0 ) pmouse.inf Info about mouse unit svga16.bgi SVGA driver 16 colors svga256.bgi SVGA driver 256 colors readme.txt This document demo.bas Demo program ------------------------------------------------------------------- IMPROVE TO QUICKBASIC SCREEN 14 SVGA graphic 640 x 400 x 256 colors SCREEN 15 SVGA graphic 640 x 480 x 256 colors SCREEN 16 SVGA graphic 800 X 600 X 256 colors SCREEN 17 SVGA graphic 1024 x 768 x 256 colors LOADPALETTE(file$) load the palette. ZPALETTE(color,red,green,blue) change the palette ACTIVEPALETTE active the palette Also, you can use variables, units and pascal commands. Exemples: %USES mouse ( dont forget the % ) %VAR flag:boolean %READLN(a$) LOOP UNTIL KEYPRESSED RUN execute a Dos program. Exempl.: RUN "PRG.EXE" ------------------------------------------------------------------- HOW TO USE BAS2PAS First save your basic program to text format, After, convert your program with the syntax: bas2pas BsicName[.bas] [PascalName.pas] Note that you dont need to use SHARED in your program because all variables are global. ------------------------------------------------------------------ LIMITATIONS Bas2pas dont support: decimals ( but you can use %VAR x:real ) CHAIN ( use RUN ) GET # GOSUB ( use SUB ) RETURN ------------------------------------------------------------------- BSC FUNCTION Turbo Pascal dont show the numeric variables with space. The corect syntax is: PRINT "you have "; x; " $" or PRINT "You have"; bsc(x); "$" ------------------------------------------------------------------- SYSTEM VARIABLES ACDATA AGRAPH DEFMODE GPALETTE GRAPHDRIVER GRAPHMODE MODE SW1 SW2 SW1$ SW2$ ------------------------------------------------------------------- SUPPORTED COMMANDS BEEP CALL CIRCLE (x,y)[,rayon,color] CLOSE #filenumber CLS COLOR fg [, bg] DATA longint [,longint] ( or DATA string [,string] ) DEFINT A-Z DEFDBL A-Z DEFLNG A-Z DEFSTR A-Z DIM var [, var] DO END END IF END SUB FOR id = longint TO longint ( or FOR id = longint to longint step -1 ) GET #filenumber GOTO linenumber IF exp THEN statements [ ELSE statements ] INPUT [#filenumber,] var [, var]* LINE (x1,y1)-(x2,y2)[[,c],BF] LINE INPUT [#exp,] [prompt {,|;}] var LOCATE y, x LOOP NEXT [id] ON OPEN filename [FOR {INPUT|OUTPUT}] as [#]filenumber PAINT (x,y),c,b PRINT [#filenumber,] print-list PSET(x,y),color RANDOMIZE READ var [,var] REM (or apostrophe) RESTORE RUN [string] SCREEN SUB SLEEP seconds SOUND frequency,duration STOP SWAP WEND WHILE exp STOP SYSTEM ------------------------------------------------------------------- SUPPORTED FUNCTIONS ASC() CHR$() CSRLIN DATE$ FIX() INKEY$ INPUT$() INT() LCASE$() LEFT$() LEN() LTRIM$() MID$() MKD$() MKI$() MKL$() MKS$() POINT() POS() RIGHT$() RND ( int(rnd(1)* x ) or ( int(rnd * x) ) SPACE$() STR$() STRING$() TIME$ UCASE$() VAL() ------------------------------------------------------------------- VERSION INFO This is a trial version, limited to 31 days. ------------------------------------------------------------------ DISTRIBUTION All distribution is accepted. ------------------------------------------------------------------- CONTACT If any bugs, comments or sugestions, contact: Denis Verreault ve2vdi@hotmail.com -------------------------------------------------------------------