diff --git a/Microsoft QuickBASIC v3/ABSOLUTE.ASM b/Microsoft QuickBASIC v3/ABSOLUTE.ASM new file mode 100644 index 0000000..abddaa3 --- /dev/null +++ b/Microsoft QuickBASIC v3/ABSOLUTE.ASM @@ -0,0 +1,30 @@ + TITLE ABSOLUTE - helper for assembly routines + +;*** +; ABSOLUTE - Helper for calling BASIC interpreter assembly routines +; +; Just used to clear information from the stack to various registers and +; memory locations. +;*** + +CODE SEGMENT BYTE PUBLIC 'CODE' + + ASSUME CS:CODE + + PUBLIC ABSOLUTE + +ABSOLUTE PROC FAR + + POP DI ;return offset + POP SI ;return segment + POP BX ;address of routine offset + PUSH SI ;restack return segment + PUSH DI ;restack return offset + PUSH DS:[0] ;stack DEF SEG segment + PUSH [BX] ;stack routine offset + RET ;far return to start of called routine + +ABSOLUTE ENDP + +CODE ENDS + END diff --git a/Microsoft QuickBASIC v3/ABSOLUTE.OBJ b/Microsoft QuickBASIC v3/ABSOLUTE.OBJ new file mode 100644 index 0000000..18e8bbb Binary files /dev/null and b/Microsoft QuickBASIC v3/ABSOLUTE.OBJ differ diff --git a/Microsoft QuickBASIC v3/BCOM30.LIB b/Microsoft QuickBASIC v3/BCOM30.LIB new file mode 100644 index 0000000..63aed82 Binary files /dev/null and b/Microsoft QuickBASIC v3/BCOM30.LIB differ diff --git a/Microsoft QuickBASIC v3/BCOM3087.LIB b/Microsoft QuickBASIC v3/BCOM3087.LIB new file mode 100644 index 0000000..edc0a54 Binary files /dev/null and b/Microsoft QuickBASIC v3/BCOM3087.LIB differ diff --git a/Microsoft QuickBASIC v3/BRUN30.EXE b/Microsoft QuickBASIC v3/BRUN30.EXE new file mode 100644 index 0000000..cee0505 Binary files /dev/null and b/Microsoft QuickBASIC v3/BRUN30.EXE differ diff --git a/Microsoft QuickBASIC v3/BRUN30.LIB b/Microsoft QuickBASIC v3/BRUN30.LIB new file mode 100644 index 0000000..2f831cb Binary files /dev/null and b/Microsoft QuickBASIC v3/BRUN30.LIB differ diff --git a/Microsoft QuickBASIC v3/BRUN3087.EXE b/Microsoft QuickBASIC v3/BRUN3087.EXE new file mode 100644 index 0000000..c7d6aa1 Binary files /dev/null and b/Microsoft QuickBASIC v3/BRUN3087.EXE differ diff --git a/Microsoft QuickBASIC v3/BRUN3087.LIB b/Microsoft QuickBASIC v3/BRUN3087.LIB new file mode 100644 index 0000000..0c0d1d7 Binary files /dev/null and b/Microsoft QuickBASIC v3/BRUN3087.LIB differ diff --git a/Microsoft QuickBASIC v3/BUG.BAS b/Microsoft QuickBASIC v3/BUG.BAS new file mode 100644 index 0000000..47d9f36 --- /dev/null +++ b/Microsoft QuickBASIC v3/BUG.BAS @@ -0,0 +1,18 @@ +tron +defint a-z + +for startrow = 1 to 12 step 12 + for startcol = 16 to 64 step 24 + call triangle (startrow,startcol) + next startcol +next startrow + +sub triangle (vertical,horizontal) static +for row = 0 to 10 + locate vertical+row,horizontal-row + for x = horizontal-row to horizontal+row + locate vertical+row,x + print "*" + next x +next row +end sub diff --git a/Microsoft QuickBASIC v3/BUILDLIB.EXE b/Microsoft QuickBASIC v3/BUILDLIB.EXE new file mode 100644 index 0000000..59ae911 Binary files /dev/null and b/Microsoft QuickBASIC v3/BUILDLIB.EXE differ diff --git a/Microsoft QuickBASIC v3/CALLSHAP.BAS b/Microsoft QuickBASIC v3/CALLSHAP.BAS new file mode 100644 index 0000000..5dd08cf --- /dev/null +++ b/Microsoft QuickBASIC v3/CALLSHAP.BAS @@ -0,0 +1,7 @@ +defint a-z + +starta = 15 : startb=5 :startc=10 : startd = 40 +call ex (startb,startc) +call tri (startd) +call square(starta) +end diff --git a/Microsoft QuickBASIC v3/DEMO.BAS b/Microsoft QuickBASIC v3/DEMO.BAS new file mode 100644 index 0000000..ff7fd69 --- /dev/null +++ b/Microsoft QuickBASIC v3/DEMO.BAS @@ -0,0 +1,11 @@ +defint a-z + +startrow=1:startcol=16 +for row = 0 to 10 + locate startrow+row,startcol-row + for x = startcol-row to startcol+row + locate startrow+row,x + print "*" + next x +next row + diff --git a/Microsoft QuickBASIC v3/E.BAS b/Microsoft QuickBASIC v3/E.BAS new file mode 100644 index 0000000..e62b9ec --- /dev/null +++ b/Microsoft QuickBASIC v3/E.BAS @@ -0,0 +1,31 @@ +100 DIGITS% = 200 +110 DIM A%( 200 ) +120 HIGH% = DIGITS% +130 X% = 0 +140 N% = HIGH% - 1 +150 IF N% <= 0 GOTO 200 +160 A%[ N% ] = 1 +170 N% = N% - 1 +180 GOTO 150 +200 A%[ 1 ] = 2 +210 A%[ 0 ] = 0 +220 IF HIGH% <= 9 GOTO 400 +230 HIGH% = HIGH% - 1 +235 N% = HIGH% +240 IF N% = 0 GOTO 300 +250 A%[ N% ] = X% MOD N% +255 rem PRINT "a[n-1]"; A%[ N% - 1 ] +260 X% = ( 10 * A%[ N% - 1 ] ) + ( X% \ N% ) +265 rem PRINT "x: "; X%, "n: "; N% +270 N% = N% - 1 +280 GOTO 240 +300 IF X% >= 10 GOTO 330 +310 PRINT USING "#"; X%; +320 GOTO 220 +330 PRINT USING "##"; X%; +340 GOTO 220 +400 PRINT "" +410 PRINT "done" +420 SYSTEM + + diff --git a/Microsoft QuickBASIC v3/EMULATOR.OBJ b/Microsoft QuickBASIC v3/EMULATOR.OBJ new file mode 100644 index 0000000..19b0d60 Binary files /dev/null and b/Microsoft QuickBASIC v3/EMULATOR.OBJ differ diff --git a/Microsoft QuickBASIC v3/EX.BAS b/Microsoft QuickBASIC v3/EX.BAS new file mode 100644 index 0000000..07a77fe --- /dev/null +++ b/Microsoft QuickBASIC v3/EX.BAS @@ -0,0 +1,11 @@ +defint a-z + +sub ex (startb,startc) static +size = 5 +for x=0 to size + locate startb+x, startc+x + print "*" + locate startb+x, startc+size-x + print "*" +next x +end sub diff --git a/Microsoft QuickBASIC v3/GWCOM.OBJ b/Microsoft QuickBASIC v3/GWCOM.OBJ new file mode 100644 index 0000000..eff5bb0 Binary files /dev/null and b/Microsoft QuickBASIC v3/GWCOM.OBJ differ diff --git a/Microsoft QuickBASIC v3/GWCOM87.OBJ b/Microsoft QuickBASIC v3/GWCOM87.OBJ new file mode 100644 index 0000000..e945b45 Binary files /dev/null and b/Microsoft QuickBASIC v3/GWCOM87.OBJ differ diff --git a/Microsoft QuickBASIC v3/INT86.ASM b/Microsoft QuickBASIC v3/INT86.ASM new file mode 100644 index 0000000..5189757 --- /dev/null +++ b/Microsoft QuickBASIC v3/INT86.ASM @@ -0,0 +1,510 @@ + TITLE INT86 - BASCOM software interrupt calling routine + +;----------------------------------------------------------------------- +; R E V I S I O N H I S T O R Y +; 11-Mar-87 [1] RDK Since VARPTR returns negative values for DGROUP +; offsets 32K to 64K, add 64K to these values. +;----------------------------------------------------------------------- + +; +; Microsoft Math Version +; +; +; Frame structure definition + +; The following is used in INT86, INT86X, and PTR86. + +ARG1 = 0AH ;pointer to first of three arguments +ARG2 = 08H ;pointer to second of three arguments +ARG3 = 06H ;pointer to third of three arguments +UCODE_SEG = 04H ;user code return pointer - segment +UCODE_OFF = 02H ;user code return pointer - offset + +UCODE_BP = 00H ;user code BP register value (FRAME base) + +; The following frame temp variables are used in INT86 and INT86X. + +UCODE_FLGS = -02H ;user code flag register value +OUTARY_SEG = -04H ;output array pointer - segment +OUTARY_OFF = -06H ;output array pointer - offset +REG_NUM = -08H ;number of regs used (INT86=8, INT86X=10) +INT_ES = -0AH ;INT ES register value +INT_DS = -0CH ;INT DS register value +INT_FLGS = -0EH ;INT flags register value +INT_DI = -10H ;INT DI register value +INT_SI = -12H ;INT SI register value +INT_BP = -14H ;INT BP register value +INT_DX = -16H ;INT DX register value +INT_CX = -18H ;INT CX register value +INT_BX = -1AH ;INT BX register value +INT_AX = -1CH ;INT AX register value + +FRM_SIZ = -1CH ;negative size of frame temporaries + +; Locations past frame allocation used to recover post-INT BP value. + +FRM_BP = -1EH ;frame BP saved for post-INT recovery +INT_BP_TMP = -20H ;temp location for INT BP register value + +;*** +; INT86, INT86X - BASCOM software interrupt calling interface +; Purpose: +; To allow a BASIC Compiler program to perform any software +; interrupt. The interrupt is executed with the registers +; set to values specified in an integer array. The post- +; interrupt values of the registers are then stored in +; another integer array. +; +; CALL INT86[X] (int_no%,VARPTR(in_ary%(x)),VARPTR(out_ary%(y))) +; +; Inputs: +; int_no% = interrupt number (range 0 to 255) to execute +; in_ary%(x) to in_ary%(x+7) = input array. (INT86) +; in_ary%(x) to in_ary%(x+9) = input array. (INT86X) +; This array specifies the register values at the INT as +; follows (INT86 uses DGROUP to set DS and ES, not array +; elements 8 and 9.): +; in_ary%(x) = AX +; in_ary%(x+1) = BX +; in_ary%(x+2) = CX +; in_ary%(x+3) = DX +; in_ary%(x+4) = BP +; in_ary%(x+5) = SI +; in_ary%(x+6) = DI +; in_ary%(x+7) = flags +; in_ary%(x+8) = DS (if -1, then use DGROUP value) (INT86X only) +; in_ary%(x+9) = ES (if -1, then use DGROUP value) (INT86X only) +; Outputs: +; If no error: +; int_no% = unchanged (range 0 to 255) +; out_ary%(y) to out_ary%(y+9) = output array. +; This array will be set to the post-interrupt +; register values. It has the same structure +; as in_ary%. +; If error: +; int_no% = -1 +; out_ary% unchanged. INT call is not performed. +; error occurs: +; first argument not 0 to 255 (2^8-1) +;[1] second or third arguments not in VARPTR range +;[1] -32767 (-2^15+1) to 1048575 (2^20-1) +; Modifies: +; All, except BP, DS, and flags. +; Also, possible side effects of INT call. +; Exceptions: +; INT 24H call may result from some INT 21H MS-DOS calls. +;*** + +DATA SEGMENT WORD PUBLIC 'DATA' +DATA ENDS + +DGROUP GROUP DATA + +CODE SEGMENT BYTE PUBLIC 'CODE' + + ASSUME CS:CODE,DS:DGROUP,ES:DGROUP,SS:DGROUP + + PUBLIC INT86 + +INT86 PROC FAR + + PUSH BP ;save BASCOM frame pointer on stack + MOV BP,SP ;establish program frame reference + ADD SP,FRM_SIZ ;allocate working space for frame + MOV WORD PTR [BP].REG_NUM,08H ;eight regs used (not DS or ES) + JMP SHORT INT86_COMMON ;jump to common code + + PUBLIC INT86X + +INT86X PROC FAR + + PUSH BP ;save BASCOM frame pointer on stack + MOV BP,SP ;establish program frame reference + ADD SP,FRM_SIZ ;allocate working space for frame + MOV WORD PTR [BP].REG_NUM,0AH ;ten regs used (including DS and ES) + +; Save a copy of the processor flags in the stack frame. + +INT86_COMMON: + PUSHF ;push the flags on the stack + POP [BP].UCODE_FLGS ;put value in the stack frame + +; From the third CALL argument on the stack, get the pointer to the +; VARPTR value of the output array and compute a far pointer to +; it. Then save the far pointer segment and offset in the frame. + + MOV SI,[BP].ARG3 ;get pointer to s.p. VARPTR value + CALL SP_TO_PTR ;convert to far pointer in DX:AX + JC INT_ERROR_JUMP ;if error, then jump + MOV [BP].OUTARY_SEG,DX ;save far pointer segment in frame + MOV [BP].OUTARY_OFF,AX ;save far pointer offset in frame + +; From the second CALL argument on the stack, obtain the far +; pointer to the input array in the same manner as above. + + MOV SI,[BP].ARG2 ;get pointer to s.p. VARPTR value + CALL SP_TO_PTR ;convert to far pointer in DX:AX + JNC NO_INT_ERROR ;if no error, then jump +INT_ERROR_JUMP: + JMP INT_ERROR ;long jump to error routine +NO_INT_ERROR: + +; Move eight or ten words (depending if executing INT86 or INT86X) +; of the integer input array from the far pointer computed to the frame. + + MOV DS,DX ;move array pointer segment + MOV SI,AX ;and array offset - far pointer in DS:SI + LEA DI,[BP].FRM_SIZ ;get frame offset - ES = SS = DGROUP + MOV CX,[BP].REG_NUM ;eight or ten words to move + CLD ;movement is to higher memory + REP MOVSW ;move the array into the stack frame + + PUSH ES ;get compiler data segment value on stack + POP DS ;restore so DS = ES = SS = compiler data seg + +; Save stack frame pointer to recover its value after the INT call. + + PUSH BP ;saved to first word past the stack frame + +; Create a two-instruction program on the stack to execute the +; INT call requested and return with stack cleanup. +; +; INT XX (hex: CD XX) <--- fourth word past stack frame +; RETF 06 (hex: CA 06 00) <--- third and second word + + XOR AX,AX ;value of second word past frame + PUSH AX ;put on stack - 00 byte of RETF and filler + MOV AX,06CAH ;value of third word past frame + PUSH AX ;put on stack - CA 06 bytes of RETF + MOV SI,[BP].ARG1 ;ptr to first CALL arg - interrupt number + MOV AX,[SI] ;from pointer, get integer value of INT type + OR AH,AH ;test if in range, 00 to FFH is legal + JNZ INT_ERROR_JUMP ;if not, then error - jump + MOV AH,AL ;move interrupt number to upper byte of AX + MOV AL,0CDH ;value of fourth word past frame + PUSH AX ;put on stack - CD XX bytes of INT XX + +; Push far pointer of return address after the stack program +; executes, which is INT_RET in this code segment. + + PUSH CS ;push current code segment for return segment + MOV AX,OFFSET CODE:INT_RET ;offset just after stack program call + PUSH AX ;push value for return offset + +; Push far pointer pointer to the start of the stack program. +; The stack program will be entered by executing a RETF after the +; registers are set up. + + PUSH SS ;push current stack segment for starting ptr + MOV AX,SP ;get current stack offset + ADD AX,6 ;move past the last three stack entries + PUSH AX ;push offset for starting ptr of stack program + +; Move the input array values from the stack to their actual registers. + + MOV AX,[BP].INT_FLGS ;get input flag register value + AND AX,0000111111010101B ;mask out undefined 8086 flags + PUSH AX ;push masked flag register value + + MOV AX,[BP].INT_AX ;set up input AX value + MOV BX,[BP].INT_BX ;set up input BX value + MOV CX,[BP].INT_CX ;set up input CX value + MOV DX,[BP].INT_DX ;set up input DX value + + MOV SI,[BP].INT_SI ;set up input SI value + MOV DI,[BP].INT_DI ;set up input DI value + +; For DS and ES, leave in the compiler data segment values if: +; executing INT86; or executing INT86X with array values of -1. + + CMP WORD PTR [BP].REG_NUM,08H ;test if executing INT86 + JE INT_ES_DEF ;if so, then use both default values + + CMP [BP].INT_DS,0FFFFH ;test if default DS to be used + JE INT_DS_DEF ;if so, then leave it unchanged + MOV DS,[BP].INT_DS ;set up input DS value +INT_DS_DEF: + CMP [BP].INT_ES,0FFFFH ;test if default ES to be used + JE INT_ES_DEF ;if so, then leave it unchanged + MOV ES,[BP].INT_ES ;set up input ES value +INT_ES_DEF: + + MOV BP,[BP].INT_BP ;set up input BP value + ;must be last move using BP + + POPF ;set up input flag register value + +; With all registers set according to the input array, execute the +; stack program. +; +; The following RETF pops the last two stack entries, which are +; interpreted as a far pointer to the stack program. +; +; The stack program executes the INT XX call which changes the +; registers (flags included) to the values to be put into the +; output array. +; +; The stack program then executes the RETF 06 instruction which +; does two operations. First, the next two entries on stack are +; popped and interpreted as a far ptr return address, which points +; the code at INT_RET in this code segment. Second, the stack +; pointer is then adjusted by six bytes to remove the six-byte +; program from the stack. + + RET ;far return to execute stack program, etc. +INT_RET: + +; The stack should now contain only the first entry past the +; frame, the value of the stack frame pointer itself. First +; save the BP value from the INT call, then get the old value +; to reference the frame. + + PUSH BP ;save post-INT value of BP + MOV BP,SP ;temporary frame is second word past frame + MOV BP,[BP+02H] ;get real frame reference value + +; Put post-INT value of all registers into the frame variables +; to be subsequently written into the output array. + + PUSHF ;put flags on the stack + POP [BP].INT_FLGS ;put in post-INT flag register value + + PUSH [BP].UCODE_FLGS ;get old copy of flags from frame + POPF ;and restore the old flag values + + MOV [BP].INT_AX,AX ;put in post-INT AX value + MOV [BP].INT_BX,BX ;put in post-INT BX value + MOV [BP].INT_CX,CX ;put in post-INT CX value + MOV [BP].INT_DX,DX ;put in post-INT DX value + + MOV AX,[BP].INT_BP_TMP ;get post-INT BP value (one entry past frame) + MOV [BP].INT_BP,AX ;put in post-INT BP value + + MOV [BP].INT_SI,SI ;put in post-INT SI value + MOV [BP].INT_DI,DI ;put in post-INT DI value + + MOV [BP].INT_DS,DS ;put in post-INT DS value + MOV [BP].INT_ES,ES ;put in post-INT ES value + +; Restore DS to SS. Move frame register values to the output +; array whose far pointer is in the frame. + + PUSH SS ;put compiler data segment on stack + POP DS ;and restore DS register to it + LEA SI,[BP].FRM_SIZ ;get start of register area in frame + + MOV ES,[BP].OUTARY_SEG ;get output array segment + MOV DI,[BP].OUTARY_OFF ;get output array offset + MOV CX,[BP].REG_NUM ;eight or ten words to move + CLD ;movement is toward upper memory + REP MOVSW ;perform the transfer + +; Clean up stack to remove frame. Remove CALL arguments with RETF. + + MOV SP,BP ;deallocate temporary frame variables + POP BP ;return compiler frame pointer + RET 06 ;remove three CALL arguments and far return + +; If error, then restore DS, set int_no% to -1 to report error, +; clean up, and exit. + +INT_ERROR: + PUSH SS ;put compiler data segment value on stack + POP DS ;and restore DS to its original value + MOV SI,[BP].ARG1 ;ptr to first CALL arg - interrupt number + MOV [SI],0FFFFH ;set interrupt number to -1 for error + MOV SP,BP ;deallocate temporary frame variables + POP BP ;return compiler frame pointer + RET 06 ;remove three CALL arguments and far return + +INT86X ENDP +INT86 ENDP + +;*** +; PTR86 - Compute segment/offset from variable VARPTR value. +; Purpose: +; From a s.p. VARPTR of a compiler data variable, compute an +; equivalent segment and offset integer values. These variables +; are used to set INT86X register input array values. +; +; CALL PTR86 (varseg%,varoff%,VARPTR(var)) +; +; Inputs: +; var = data variable (any type) +; Outputs: +; if no error, varseg% = segment part of far pointer to var +; varoff% = offset part of far pointer to var +; if error, varseg% = -1 +; Modifies: +; AX, DX, and SI. +; Exceptions: +; None. +;*** + + PUBLIC PTR86 + +PTR86 PROC FAR + + PUSH BP ;save BASCOM frame pointer on stack + MOV BP,SP ;establish program frame reference + MOV SI,[BP].ARG3 ;ptr to third CALL arg - VARPTR of variable + CALL SP_TO_PTR ;compute segment:offset in DX:AX + MOV SI,[BP].ARG1 ;ptr to first CALL arg - segment result + JC PTR86_ERROR ;if error, then jump + MOV [SI],DX ;put segment value into argument + MOV SI,[BP].ARG2 ;ptr to second CALL arg - offset result + MOV [SI],AX ;put offset value into argument + POP BP ;restore old frame pointer + RET 06H ;far return to caller - remove three stack args +PTR86_ERROR: + MOV [SI],0FFFFH ;put -1 in first arg for error report + POP BP ;restore old frame pointer + RET 06H ;far return to caller - remove three stack args + +PTR86 ENDP + +;*** +; SP_TO_PTR - converts s.p. VARPTR value to segment/offset values +; Purpose: +; From the s.p. value pointed by DS:SI, convert to an integer +;[1] value. Report an error if not in the range -2^15 to 2^20-1. +;[1] Negative values are adjusted by 2^16 (65535) since VARPTR +;[1] maps the values 32768...65535 to -32768...-1 for interpreter +;[1] compatibility. Convert 20-bit address to segment and offset +; integer values using the standard 8086/8088 address computation: +; +; (16-bit segment)*16 + (16-bit offset) = 20-bit address +; +; Inputs: +; SI = pointer to s.p. address value +; +; The value is represented in Microsoft binary format, consisting +; of four bytes starting at the pointer given. The first three +; bytes are the low, middle, and high bytes of the number's +; mantissa while the fourth is the exponent. Sign-magnitude +; representation is used with the sign being the MSB of the high +; mantissa byte. All values are stored normalized with the +; mantissa MSB hidden with the sign bit. The binary point of the +; mantissa is before its MSB. The exponent is biased by 80H. +; A zero exponent implies a zero value independent of the mantissa's +; contents. +; Outputs: +; If no error: +; CF = 0 (carry cleared) +; DX = pointer segment integer result +; AX = pointer offset integer result +; If error: +; CF = 1 (carry set) +; DX,AX = undefined +; Modifies: +; None. +; Exceptions: +; None. +;*** + +SP_TO_PTR PROC NEAR + +; Load s.p. number into DX:AX. + + MOV AX,[SI] ;AH=middle mantissa - AL=low mantissa + MOV DX,[SI+2] ;DH=exponent - DL=sign/high mantissa + +; If exponent is zero, then number value is zero. + + OR DH,DH ;test if exponent is zero + JZ SP_ZERO ;if so, then jump + +; Put in hidden MSB of mantissa. + + OR DL,80H ;set hidden high-order mantissa bit + +; Move data so DX:AX has 24-bit mantissa right-justified in 32 bits; +; and CX has 8-bit exponent right-justified in 16 bits. + + PUSH CX ;save register... + XOR CX,CX ;clear both CH and CL + XCHG CL,DH ;DX:AX=24-bit mantissa - CX=exponent + +; Remove 80H bias from exponent. Also subtract 12 (0CH) to move +; the binary from left of the 24th bit to left of the 12th bit of +; DX:AX. The resulting value is the number of left shifts of DX:AX +; resulting in a binary value with 20 bits left of the binary point +; and 12 bits right of it. + + SUB CX,8CH ;remove 80H bias and 0CH to move b.pt. 12 bits + JE SP_NO_SHIFT ;if no shifting needed, then jump + JB SP_RIGHT_SHIFT ;if negative, then right shifting needed +SP_LEFT_SHIFT_LOOP: + SHL AX,1 ;shift low-order word left once + RCL DX,1 ;shift carry into high-order word + LOOP SP_LEFT_SHIFT_LOOP ;shift until done + JMP SHORT SP_NO_SHIFT ;shifting left done - jump + +; A negative shift count is the inverse of the number of right +; shifts needed. + +SP_RIGHT_SHIFT: + NEG CX ;compute shift count of DX:AX to the right +SP_RIGHT_SHIFT_LOOP: + SHR DX,1 ;shift high-order word right once + RCR AX,1 ;shift carry into low-order word + LOOP SP_RIGHT_SHIFT_LOOP ;loop until done... + +;[1] If input value was negative, test magnitude for legal range +;[1] of 1 to 32768 (1 to 8000H). First decrement the value, so the +;[1] range is now 0 to 7FFFH. Test for the range and, if legal, +;[1] invert the significant bits. + +SP_NO_SHIFT: + TEST BYTE PTR [SI+2],80H ;[1]test if value was negative + JZ SP_NOT_NEG ;[1]if not, then jump + SUB AH,10H ;[1]decrement value in high nybble of AH + SBB DX,0 ;[1]propagate if borrow was needed + TEST DX,NOT 7FFH ;[1]test if in legal range + JNZ SP_ERROR ;[1]jump to return error + XOR AH,0F0H ;[1]invert high nybble of AH + XOR DX,0FFFH ;[1]invert rest of value in DX + +; The lower 4 bits of the 20-bit integer value are in the upper +; nybble of AX. Rotate and mask to move to lower nybble which +; will be the offset returned. + +SP_NOT_NEG: ;[1] + ROL AX,1 ;rotate leftmost nybble in AX to rightmost... + ROL AX,1 ;second bit... + ROL AX,1 ;third bit... + ROL AX,1 ;fourth bit - done + AND AX,000FH ;leave only rightmost nybble left + +; The upper 16 bits of the 20-bit integer value are in DX. +; This value is the integer divided by 16 and is therefore the +; paragraph value of the pointer. Since VARPTR values are +; relative to the compiler data segment, add the data segment +; value to compute the pointer segment. + + MOV CX,DS ;get compiler data segment value + ADD DX,CX ;add to get pointer (permit wraparound) + POP CX ;restore register + CLC ;clear carry for success + RET ;near return to caller + +; If zero, report 0 as the offset and the compiler data segment. + +SP_ZERO: + XOR AX,AX ;clear offset result + MOV DX,DS ;set segment result to compiler DS + CLC ;clear carry for success + RET ;near return to caller + +; If error, then set carry to report it. + +SP_ERROR: ;[1] + POP CX ;[1] + STC ;set carry for failure + RET ;near return to caller + +SP_TO_PTR ENDP + +CODE ENDS + + END diff --git a/Microsoft QuickBASIC v3/INT86.OBJ b/Microsoft QuickBASIC v3/INT86.OBJ new file mode 100644 index 0000000..5cf0bc2 Binary files /dev/null and b/Microsoft QuickBASIC v3/INT86.OBJ differ diff --git a/Microsoft QuickBASIC v3/INT8687.ASM b/Microsoft QuickBASIC v3/INT8687.ASM new file mode 100644 index 0000000..6da4303 --- /dev/null +++ b/Microsoft QuickBASIC v3/INT8687.ASM @@ -0,0 +1,462 @@ + TITLE INT8687 - BASCOM software interrupt calling routine + +;----------------------------------------------------------------------- +; R E V I S I O N H I S T O R Y +; 12-Mar-87 [2] RDK In SP_TO_PTR, value popped in wrong order. +; 11-Mar-87 [1] RDK Since VARPTR returns negative values for DGROUP +; offsets 32K to 64K, add 64K to these values. +; Also add DGROUP to compute far pointer. +;----------------------------------------------------------------------- + +; +; IEEE Math Coprocessor version +; +; +; Frame structure definition + +; The following is used in INT86, INT86X, and PTR86. + +ARG1 = 0AH ;pointer to first of three arguments +ARG2 = 08H ;pointer to second of three arguments +ARG3 = 06H ;pointer to third of three arguments +UCODE_SEG = 04H ;user code return pointer - segment +UCODE_OFF = 02H ;user code return pointer - offset + +UCODE_BP = 00H ;user code BP register value (FRAME base) + +; The following frame temp variables are used in INT86 and INT86X. + +UCODE_FLGS = -02H ;user code flag register value +OUTARY_SEG = -04H ;output array pointer - segment +OUTARY_OFF = -06H ;output array pointer - offset +REG_NUM = -08H ;number of regs used (INT86=8, INT86X=10) +INT_ES = -0AH ;INT ES register value +INT_DS = -0CH ;INT DS register value +INT_FLGS = -0EH ;INT flags register value +INT_DI = -10H ;INT DI register value +INT_SI = -12H ;INT SI register value +INT_BP = -14H ;INT BP register value +INT_DX = -16H ;INT DX register value +INT_CX = -18H ;INT CX register value +INT_BX = -1AH ;INT BX register value +INT_AX = -1CH ;INT AX register value + +FRM_SIZ = -1CH ;negative size of frame temporaries + +; Locations past frame allocation used to recover post-INT BP value. + +FRM_BP = -1EH ;frame BP saved for post-INT recovery +INT_BP_TMP = -20H ;temp location for INT BP register value + +;*** +; INT86, INT86X - BASCOM software interrupt calling interface +; Purpose: +; To allow a BASIC Compiler program to perform any software +; interrupt. The interrupt is executed with the registers +; set to values specified in an integer array. The post- +; interrupt values of the registers are then stored in +; another integer array. +; +; CALL INT86[X] (int_no%,VARPTR(in_ary%(x)),VARPTR(out_ary%(y))) +; +; Inputs: +; int_no% = interrupt number (range 0 to 255) to execute +; in_ary%(x) to in_ary%(x+7) = input array. (INT86) +; in_ary%(x) to in_ary%(x+9) = input array. (INT86X) +; This array specifies the register values at the INT as +; follows (INT86 uses DGROUP to set DS and ES, not array +; elements 8 and 9.): +; in_ary%(x) = AX +; in_ary%(x+1) = BX +; in_ary%(x+2) = CX +; in_ary%(x+3) = DX +; in_ary%(x+4) = BP +; in_ary%(x+5) = SI +; in_ary%(x+6) = DI +; in_ary%(x+7) = flags +; in_ary%(x+8) = DS (if -1, then use DGROUP value) (INT86X only) +; in_ary%(x+9) = ES (if -1, then use DGROUP value) (INT86X only) +; Outputs: +; If no error: +; int_no% = unchanged (range 0 to 255) +; out_ary%(y) to out_ary%(y+9) = output array. +; This array will be set to the post-interrupt +; register values. It has the same structure +; as in_ary%. +; If error: +; int_no% = -1 +; out_ary% unchanged. INT call is not performed. +; error occurs: +; first argument not 0 to 255 (2^8-1) +; second or third arguments not 0 to 1048575 (2^20-1) +; (VARPTR will always be in this range) +; Modifies: +; All, except BP, DS, and flags. +; Also, possible side effects of INT call. +; Exceptions: +; INT 24H call may result from some INT 21H MS-DOS calls. +;*** + +DATA SEGMENT WORD PUBLIC 'DATA' +DATA ENDS + +DGROUP GROUP DATA + +CODE SEGMENT BYTE PUBLIC 'CODE' + + ASSUME CS:CODE,DS:DGROUP,ES:DGROUP,SS:DGROUP + + PUBLIC INT86 + +INT86 PROC FAR + + PUSH BP ;save BASCOM frame pointer on stack + MOV BP,SP ;establish program frame reference + ADD SP,FRM_SIZ ;allocate working space for frame + MOV WORD PTR [BP].REG_NUM,08H ;eight regs used (not DS or ES) + JMP SHORT INT86_COMMON ;jump to common code + + PUBLIC INT86X + +INT86X PROC FAR + + PUSH BP ;save BASCOM frame pointer on stack + MOV BP,SP ;establish program frame reference + ADD SP,FRM_SIZ ;allocate working space for frame + MOV WORD PTR [BP].REG_NUM,0AH ;ten regs used (including DS and ES) + +; Save a copy of the processor flags in the stack frame. + +INT86_COMMON: + PUSHF ;push the flags on the stack + POP [BP].UCODE_FLGS ;put value in the stack frame + +; From the third CALL argument on the stack, get the pointer to the +; VARPTR value of the output array and compute a far pointer to +; it. Then save the far pointer segment and offset in the frame. + + MOV SI,[BP].ARG3 ;get pointer to s.p. VARPTR value + CALL SP_TO_PTR ;convert to far pointer in DX:AX + JC INT_ERROR_JUMP ;if error, then jump + MOV [BP].OUTARY_SEG,DX ;save far pointer segment in frame + MOV [BP].OUTARY_OFF,AX ;save far pointer offset in frame + +; From the second CALL argument on the stack, obtain the far +; pointer to the input array in the same manner as above. + + MOV SI,[BP].ARG2 ;get pointer to s.p. VARPTR value + CALL SP_TO_PTR ;convert to far pointer in DX:AX + JNC NO_INT_ERROR ;if no error, then jump +INT_ERROR_JUMP: + JMP INT_ERROR ;long jump to error routine +NO_INT_ERROR: + +; Move eight or ten words (depending if executing INT86 or INT86X) +; of the integer input array from the far pointer computed to the frame. + + MOV DS,DX ;move array pointer segment + MOV SI,AX ;and array offset - far pointer in DS:SI + LEA DI,[BP].FRM_SIZ ;get frame offset - ES = SS = DGROUP + MOV CX,[BP].REG_NUM ;eight or ten words to move + CLD ;movement is to higher memory + REP MOVSW ;move the array into the stack frame + + PUSH ES ;get compiler data segment value on stack + POP DS ;restore so DS = ES = SS = compiler data seg + +; Save stack frame pointer to recover its value after the INT call. + + PUSH BP ;saved to first word past the stack frame + +; Create a two-instruction program on the stack to execute the +; INT call requested and return with stack cleanup. +; +; INT XX (hex: CD XX) <--- fourth word past stack frame +; RETF 06 (hex: CA 06 00) <--- third and second word + + XOR AX,AX ;value of second word past frame + PUSH AX ;put on stack - 00 byte of RETF and filler + MOV AX,06CAH ;value of third word past frame + PUSH AX ;put on stack - CA 06 bytes of RETF + MOV SI,[BP].ARG1 ;ptr to first CALL arg - interrupt number + MOV AX,[SI] ;from pointer, get integer value of INT type + OR AH,AH ;test if in range, 00 to FFH is legal + JNZ INT_ERROR_JUMP ;if not, then error - jump + MOV AH,AL ;move interrupt number to upper byte of AX + MOV AL,0CDH ;value of fourth word past frame + PUSH AX ;put on stack - CD XX bytes of INT XX + +; Push far pointer of return address after the stack program +; executes, which is INT_RET in this code segment. + + PUSH CS ;push current code segment for return segment + MOV AX,OFFSET CODE:INT_RET ;offset just after stack program call + PUSH AX ;push value for return offset + +; Push far pointer pointer to the start of the stack program. +; The stack program will be entered by executing a RETF after the +; registers are set up. + + PUSH SS ;push current stack segment for starting ptr + MOV AX,SP ;get current stack offset + ADD AX,6 ;move past the last three stack entries + PUSH AX ;push offset for starting ptr of stack program + +; Move the input array values from the stack to their actual registers. + + MOV AX,[BP].INT_FLGS ;get input flag register value + AND AX,0000111111010101B ;mask out undefined 8086 flags + PUSH AX ;push masked flag register value + + MOV AX,[BP].INT_AX ;set up input AX value + MOV BX,[BP].INT_BX ;set up input BX value + MOV CX,[BP].INT_CX ;set up input CX value + MOV DX,[BP].INT_DX ;set up input DX value + + MOV SI,[BP].INT_SI ;set up input SI value + MOV DI,[BP].INT_DI ;set up input DI value + +; For DS and ES, leave in the compiler data segment values if: +; executing INT86; or executing INT86X with array values of -1. + + CMP WORD PTR [BP].REG_NUM,08H ;test if executing INT86 + JE INT_ES_DEF ;if so, then use both default values + + CMP [BP].INT_DS,0FFFFH ;test if default DS to be used + JE INT_DS_DEF ;if so, then leave it unchanged + MOV DS,[BP].INT_DS ;set up input DS value +INT_DS_DEF: + CMP [BP].INT_ES,0FFFFH ;test if default ES to be used + JE INT_ES_DEF ;if so, then leave it unchanged + MOV ES,[BP].INT_ES ;set up input ES value +INT_ES_DEF: + + MOV BP,[BP].INT_BP ;set up input BP value + ;must be last move using BP + + POPF ;set up input flag register value + +; With all registers set according to the input array, execute the +; stack program. +; +; The following RETF pops the last two stack entries, which are +; interpreted as a far pointer to the stack program. +; +; The stack program executes the INT XX call which changes the +; registers (flags included) to the values to be put into the +; output array. +; +; The stack program then executes the RETF 06 instruction which +; does two operations. First, the next two entries on stack are +; popped and interpreted as a far ptr return address, which points +; the code at INT_RET in this code segment. Second, the stack +; pointer is then adjusted by six bytes to remove the six-byte +; program from the stack. + + RET ;far return to execute stack program, etc. +INT_RET: + +; The stack should now contain only the first entry past the +; frame, the value of the stack frame pointer itself. First +; save the BP value from the INT call, then get the old value +; to reference the frame. + + PUSH BP ;save post-INT value of BP + MOV BP,SP ;temporary frame is second word past frame + MOV BP,[BP+02H] ;get real frame reference value + +; Put post-INT value of all registers into the frame variables +; to be subsequently written into the output array. + + PUSHF ;put flags on the stack + POP [BP].INT_FLGS ;put in post-INT flag register value + + PUSH [BP].UCODE_FLGS ;get old copy of flags from frame + POPF ;and restore the old flag values + + MOV [BP].INT_AX,AX ;put in post-INT AX value + MOV [BP].INT_BX,BX ;put in post-INT BX value + MOV [BP].INT_CX,CX ;put in post-INT CX value + MOV [BP].INT_DX,DX ;put in post-INT DX value + + MOV AX,[BP].INT_BP_TMP ;get post-INT BP value (one entry past frame) + MOV [BP].INT_BP,AX ;put in post-INT BP value + + MOV [BP].INT_SI,SI ;put in post-INT SI value + MOV [BP].INT_DI,DI ;put in post-INT DI value + + MOV [BP].INT_DS,DS ;put in post-INT DS value + MOV [BP].INT_ES,ES ;put in post-INT ES value + +; Restore DS to SS. Move frame register values to the output +; array whose far pointer is in the frame. + + PUSH SS ;put compiler data segment on stack + POP DS ;and restore DS register to it + LEA SI,[BP].FRM_SIZ ;get start of register area in frame + + MOV ES,[BP].OUTARY_SEG ;get output array segment + MOV DI,[BP].OUTARY_OFF ;get output array offset + MOV CX,[BP].REG_NUM ;eight or ten words to move + CLD ;movement is toward upper memory + REP MOVSW ;perform the transfer + +; Clean up stack to remove frame. Remove CALL arguments with RETF. + + MOV SP,BP ;deallocate temporary frame variables + POP BP ;return compiler frame pointer + RET 06 ;remove three CALL arguments and far return + +; If error, then restore DS, set int_no% to -1 to report error, +; clean up, and exit. + +INT_ERROR: + PUSH SS ;put compiler data segment value on stack + POP DS ;and restore DS to its original value + MOV SI,[BP].ARG1 ;ptr to first CALL arg - interrupt number + MOV [SI],0FFFFH ;set interrupt number to -1 for error + MOV SP,BP ;deallocate temporary frame variables + POP BP ;return compiler frame pointer + RET 06 ;remove three CALL arguments and far return + +INT86X ENDP +INT86 ENDP + +;*** +; PTR86 - Compute segment/offset from variable VARPTR value. +; Purpose: +; From a s.p. VARPTR of a compiler data variable, compute an +; equivalent segment and offset integer values. These variables +; are used to set INT86X register input array values. +; +; CALL PTR86 (varseg%,varoff%,VARPTR(var)) +; +; Inputs: +; var = data variable (any type) +; Outputs: +; if no error, varseg% = segment part of far pointer to var +; varoff% = offset part of far pointer to var +; if error, varseg% = -1 +; Modifies: +; AX, DX, and SI. +; Exceptions: +; None. +;*** + + PUBLIC PTR86 + +PTR86 PROC FAR + + PUSH BP ;save BASCOM frame pointer on stack + MOV BP,SP ;establish program frame reference + MOV SI,[BP].ARG3 ;ptr to third CALL arg - VARPTR of variable + CALL SP_TO_PTR ;compute segment:offset in DX:AX + MOV SI,[BP].ARG1 ;ptr to first CALL arg - segment result + JC PTR86_ERROR ;if error, then jump + MOV [SI],DX ;put segment value into argument + MOV SI,[BP].ARG2 ;ptr to second CALL arg - offset result + MOV [SI],AX ;put offset value into argument + POP BP ;restore old frame pointer + RET 06H ;far return to caller - remove three stack args +PTR86_ERROR: + MOV [SI],0FFFFH ;put -1 in first arg for error report + POP BP ;restore old frame pointer + RET 06H ;far return to caller - remove three stack args + +PTR86 ENDP + +;*** +; SP_TO_PTR - converts s.p. VARPTR value to segment/offset values +; Purpose: +; From the s.p. value pointed by DS:SI, convert to an integer +; value. Report an error if not in the range 0 to 2^20-1. +; Convert 20-bit address to segment and offset integer values +; using the standard 8086/8088 address computation: +; +; (16-bit segment)*16 + (16-bit offset) = 20-bit address +; +; Inputs: +; SI = pointer to s.p. address value +; +; If IEEE, the value is represented in IEEE floating point binary format, +; consisting of four bytes starting at the pointer given. +; +; If MS-Math, the value is represented in Microsoft binary format, +; consisting of four bytes starting at the pointer given. The first three +; bytes are the low, middle, and high bytes of the number's mantissa +; while the fourth is the exponent. Sign-magnitude representation is used +; with the sign being the MSB of the high mantissa byte. All values are +; stored normalized with the mantissa MSB hidden with the sign bit. The +; binary point of the mantissa is before its MSB. The exponent is biased +; by 80H. A zero exponent implies a zero value independent of the +; mantissa's contents. +; +; Outputs: +; If no error: +; CF = 0 (carry cleared) +; DX = pointer segment integer result +; AX = pointer offset integer result +; If error: +; CF = 1 (carry set) +; Modifies: +; None. +; Exceptions: +; None. +;*** + +SP_TO_PTR PROC NEAR + +; +; Use coprocessor to perform float to int conversion +; + FLD DWORD PTR [SI] ;Coprocessor ST(0) = s.p. number + PUSH BX ;Preserve + PUSH AX ;Create 4 byte temp on stack + PUSH AX + MOV BX,SP ;[BX] = pointer to 4 byte temp + FISTP DWORD PTR [BX] ;[BX] = pointer to converted int + FWAIT + POP AX ;[2] + POP DX ;[2][DX:AX] = 20 bit physical address + POP BX ;Restore +; +; Check for an invalid value +; + TEST DX,0FFF0H + JZ SP_CONVERT ;[1]if between 0 and 2^20, then jump + CMP DX,0FFFFH ;[1]negative - test high-order word + JNZ SP_ERROR ;[1]if not all ones (less than -64K), then err + TEST AH,80H ;[1]test if less than -32K + JZ SP_ERROR ;[1]if so, then also an error + NOT DX ;[1]invert high-order word to zero + +;[1] Value now in DX:AX - 0 to 2^20-1 - 000x:xxxx. +;[1] Normalize pointer to xxxx:000x and add DGROUP value. + +SP_CONVERT: + PUSH CX ;[1]save register... + MOV CX,12D ;[1]will double-shift 12 times... +SP_LOOP: ;[1] + SHL AX,1 ;[1]shift the low-order word... + RCL DX,1 ;[1]...and the high-order word with carry + LOOP SP_LOOP ;[1]loop until done + MOV CL,4 ;[1]value now xxxx:x000 - need xxxx:000x, so... + ROL AX,CL ;[1]rotate low-order word - now xxxx:000x + MOV CX,DS ;[1]get the DGROUP value + ADD DX,CX ;[1]and add it to get far pointer in DX:AX + + POP CX ;[1]restore register + CLC ;clear carry for success + RET ;near return to caller + +; If error, then set carry to report it. + +SP_ERROR: + STC ;set carry for failure + RET ;near return to caller + +SP_TO_PTR ENDP + +CODE ENDS + + END diff --git a/Microsoft QuickBASIC v3/INT8687.OBJ b/Microsoft QuickBASIC v3/INT8687.OBJ new file mode 100644 index 0000000..c605b5d Binary files /dev/null and b/Microsoft QuickBASIC v3/INT8687.OBJ differ diff --git a/Microsoft QuickBASIC v3/LINK.EXE b/Microsoft QuickBASIC v3/LINK.EXE new file mode 100644 index 0000000..ff5e247 Binary files /dev/null and b/Microsoft QuickBASIC v3/LINK.EXE differ diff --git a/Microsoft QuickBASIC v3/MODE43.COM b/Microsoft QuickBASIC v3/MODE43.COM new file mode 100644 index 0000000..c4e2523 Binary files /dev/null and b/Microsoft QuickBASIC v3/MODE43.COM differ diff --git a/Microsoft QuickBASIC v3/PPRINT.BAS b/Microsoft QuickBASIC v3/PPRINT.BAS new file mode 100644 index 0000000..2cb2af0 --- /dev/null +++ b/Microsoft QuickBASIC v3/PPRINT.BAS @@ -0,0 +1,751 @@ +REM $Title:'Microsoft PPRINT- Formatted Print Utility' +REM $Subtitle:'Introduction' +' +' Microsoft PPRINT- Formatted Print Utility +' Copyright (C) Microsoft Corporation - 1986 +' +' This program is designed to format QuickBASIC source files that include +' the formatting metacommands found in QuickBASIC V1.00 and earlier +' Microsoft BASIC Compilers. +' +' The Metacommands processed by PPRINT are: +' +' TITLE: 'title' Prints 'title' at the top of each page +' SUBTITLE: 'subtitle' Prints 'subtitle' below the title area +' LINESIZE:n Sets output line width to n +' PAGESIZE:n Sets the output page size to n +' PAGE Skips to next page +' PAGEIF:n Skips to next page if there are fewer than n +' lines left on current page +' SKIP[:n] Skips n lines or to top of next page +' LIST- Turns OFF output of lines +' LIST+ Turns ON output of lines +' +' +' USAGE: The PPRINT Utility has the following usage: +' +' PPRINT InputFile, [OutputFile] +' +' If the OutputFile is ommitted, LPT1: is the default +' +' COMPILATION: +' +' Since the PPRINT utility is distributed in source form (PPRINT.BAS) +' You must compile it before using. Suggested compilation procedures are +' as follows: +' +' 1) Load PPRINT.BAS into the QuickBASIC editor +' 2) Select "Compile..." from the RUN Menu +' 3) Select ".EXE" from the output options section +' 4) press the "Compile" button or press return +' +' These 4 steps should create a file PPRINT.EXE on your default +' drive. +' +' REVISION HISTORY: +' +' 12/1/86- GEL - Fixed TARs # 57720 & 56937 +' + +rem $subtitle:'Global Declarations' +rem $page + DEFINT a - z + DIM KeyWordCount, LineCount, Seps$ + DIM KeyBoard, Console + DIM InputFile$, OutputFile$ + DIM Temp$,x ' temp variables + ' + ' global variables for handling metacommands + DIM Out.Title$, Out.Subtitle$, MetaCommand.On + DIM Out.LineSize, Out.Pagesize, Out.List, Out.LineCount, Out.BlankBottom + DIM Out.PageNum + +REM $subtitle:'FnToUpper- Converts To Uppercase' +rem $page +' +' FNToUpper$ - Convert string to uppercase +' Description: +' This routine converts a string to uppercase. If already uppercase +' nothing is done. Returns a null string if input is null +' Input: +' InString$ - string to convert +' Output: +' FNToUpper$ - uppercase string +Def FNToUpper$(InString$) +static LenInString, AscChar, Index, IndexInString + + LenInString = len(InString$) + ' Exit if input string is empty (null) + if (LenInString = 0) then + FNToUpper$ = "" + Exit Def + end if + for IndexInstring = 1 to LenInString + AscChar = asc(mid$(InString$, IndexInstring, 1)) + ' &hdf is special bit pattern that converts from lower to upper + if ((AscChar >= asc("a")) and (AscChar <= asc("z"))) then + AscChar = AscChar and &hdf + mid$(InString$, IndexInstring, 1) = chr$(AscChar) + end if + next IndexInString + FNToUpper$ = InString$ + +End Def + +rem $subtitle:'FnTabsToBlanks- Converts TABs to Blanks' +rem $page +' +' FnTabsToBlanks- turns TABs into blanks in the given string +' +' Input: Source$ +' Output Source$ with ALL TABs as 3 Blanks +' Note: If TABs are set at a value different from 3, change the following +' procedure in the 'Then' part of the IF statement +' +DEF FNTabsToBlanks$(source$) +STATIC Temp$,i + + Temp$ = "" + If Instr(Source$, Chr$(9)) = 0 Then FnTabsToBlanks$ = Source$: Exit Def + + For i = 1 to Len(source$) + If ASC(Mid$(Source$,i,1)) = 9 Then + Temp$ = Temp$ + Space$(3) ' replace with 3 spaces + Else + Temp$ = Temp$ + Mid$(source$,i,1) + End If + Next i + + FnTabsToBlanks$ = Temp$ +End Def + + +rem $subtitle:'FnStrSpn- String Spanner' +rem $page +' +' FNStrSpn - Get the index of the first character within InString$ that is +' NOT one of the characters from Separater$ +' Description: +' This routine will search the parameter string InString$ until it finds +' a character that is not part of the Separater string. This can be used +' with FNStrBrk to isolate strings within strings that are separated by +' blanks, comma etc. whatever is specified in Separater$. This is especially +' helpful in extracting parameters from the command line. See FNGetToken$ +' for example of use. +' +' Input: +' InString$ = string to search +' Separater$ = string of Separater +' +' Output: +' FNStrSpn = index into InString$ if 0 then all character in Separater$ +' are in InString$ +Def FNStrSpn(InString$, Separater$) +static LenInString, LenSeparater, StartFound, IndexSeparater, IndexInString +static ChTemp$ + + LenInString = Len(InString$) + LenSeparater = Len(Separater$) + ' Examine each character from InString$ to see if it is in Separater$ + for IndexInString = 1 to LenInString + ChTemp$ = Mid$(InString$, IndexInString, 1) + StartFound = false + ' search all of the Separaters to see of any equal this character + for IndexSeparater = 1 to LenSeparater + if (ChTemp$ = Mid$(Separater$, IndexSeparater, 1)) then + goto NextChar + end if + next IndexSeparater + ' found a character not equal to one of the Separaters$ + ' exit from loops + StartFound = true + goto EndStrSpn +NextChar: + Next IndexInString +EndStrSpn: + if (StartFound) then + FNStrSpn = IndexInString + else + FNStrSpn = 0 + end if +End Def + +rem $subtitle:'FnStrBrk- String Breaker' +rem $page +' +' FNStrBrk - finds the first occurance of any character in string2$ in +' string1$ +' Description: +' This routine is the opposite to FNStrSpn. It finds the first occurance +' of one of the characters from String2$ within String$. It is used +' generally for search from specific strings within strings. See FNSeparater +' on use. See FNGetToken$ to see the routines in use. +' +' Input: +' string1$ = string to search for first occurance +' string2$ = string of characters to search for +' Output: +' FNStrBrk = index to character in string1$ of first occurance +' +' Uses: +' LenString1 = length parameter string +' ChTemp$ = temp used for current character from String1$ +' IndexString1 = current indices into parameter string +' +Def FNStrBrk(String1$, String2$) +static LenString1, IndexString1, StartFound +static ChTemp$ + + LenString1 = Len(String1$) + ' Search String1$ until one of the characters from String2$ is found + ' or run out of characters from String$2 + for IndexString1 = 1 to LenString1 + ChTemp$ = Mid$(String1$, IndexString1, 1) + if (instr(String2$, ChTemp$)) then + StartFound = true + FNStrBrk = IndexString1 + Exit Def + end if + Next IndexString1 + FnStrBrk = 0 + +End Def + +rem $subtitle:'FnGetToken- Gets a Token' +rem $page +' +' FNGetToken$ - Extract a token for a string. +' Description: +' This routine extracts tokens from strings. A token is a word that is +' surrounded by separaters, such as spaces or commas. It is usually the +' word of interest and examining sentences or commands. If the string +' to search for tokens "Search$" is null (.i.e "") then the last +' non-null string passed will be used. The allows for multiple calls +' to FNGetToken$ to move through the string. EG: The sequences of calls +' would be: +' token$ = FNGetToken$("token string, a short one", " ,") +' while (token$ <> "") +' print token$ +' token$ = FNGetToken$("", " ,") +' wend +' This will return "token", "string", "a", "short", "one" +' +' Note that the token is returned as an Uppercase character string. +' +' Input: +' Search$ = string to search +' InSeps$ = String of Seps$ +' Output: +' FNGetToken$ = next token +' Uses: +' TokenString$ = last non-null string passed as parameter (do not modify) +' TokenIndex2 = index to last separater (do not modify) +' +def FNGetToken$(Search$, InSeps$) +static TokenIndex1 + + ' Null strings indicate use of last string used + ' TokenString$ is set to last string if Search$ is not null + if (Search$ = "") then + Search$ = TokenString$ + else + TokenIndex2 = 1 + TokenString$ = Search$ + end if + ' If last separater position is past end of search string then no more + ' tokens can be in string, since searching is started from this position + ' Exit with null return in this case + if (TokenIndex2 >= len(Search$)) then + FNGetToken$ = "" + Exit Def + end if + ' Section out a token from the search string. This is done by finding the + ' start of a token then locating it's end by the start of separaters + TokenIndex1 = FNStrSpn(mid$(Search$, TokenIndex2, len(Search$)), InSeps$) + ' If no more token bump to end of line so we move past current point + if (TokenIndex1 = 0) then + TokenIndex1 = len(Search$) + else + TokenIndex1 = TokenIndex1 + TokenIndex2 - 1 + end if + TokenIndex2 = FNStrBrk(mid$(Search$, TokenIndex1, len(Search$)), InSeps$) + ' If separater position (end of token) came back zero the token must be + ' up against end of string. Set the separater position one past string + ' length so that size of token computation is correct and next call + ' with same string will return null for no more tokens + if (TokenIndex2 = 0) then + TokenIndex2 = len(Search$) + 1 + else + TokenIndex2 = TokenIndex1 + TokenIndex2 - 1 + end if + ' Cut out token from search string and convert to uppercase. + ' It is converted to uppercase since string compares are case sensitive + FNGetToken$ = mid$(Search$,TokenIndex1,TokenIndex2 - TokenIndex1) +end def + +rem $subtitle:'FnIsNumber- Is a Number?' +rem $page +' +' FNIsNumber - Checks to see if character a number or alpha +' Description: +' This routine returns true if character passed is in the range 0 - 9 +' It returns false if not. It is used to tell wither a token is +' a number or alpha. +' Input: +' Char - character to check +' Output: +' FNIsNumber - true if within 0 - 9 +' +def FNIsNumber(Char$) +static CharAsc + + if (Char$ = "") then + FNIsNumber = false + else + CharAsc = asc(Char$) + FNIsNumber = ((CharAsc >= asc("0")) and (CharAsc <= asc("9"))) + end if + +end def + +rem $subtitle:'FnIsChar- Is a character?' +rem $page +def FNIsChar(Char$) +static CharAsc + + CharAsc = asc(Char$) + FNIsChar = ((CharAsc >= asc("A")) and (CharAsc <= asc("z"))) + +end def + + +rem $subtitle:'FnIsKeyword- Is a Keyword?' +rem $page +' FNIsKeyWord - returns true if specified string is a BASIC key word +' Description: +' Checks keyword list agains String$, non-zero return if keyword +' +def FNIsKeyWord(Key$) +static KeyWord$, AscCh, t + + if (len(Key$) > 0) then + t = asc(key$) + + while t < 33 AND Key$ <> "" ' strip off all spaces and below + key$= mid$(key$,2) + If key$ <> "" then t = asc(key$) Else FNIsKeyword=0: Exit Def + wend + Key$ = FNToUpper$(Key$) + AscCh = (asc(Key$) - asc("A") + 1) + if ((AscCh >= 0 ) and (AscCh <= 24)) then + on (AscCh) gosub AKey, BKey, CKey, DKey, EKey, FKey, GKey, HKey, _ + IKey, JKey, KKey, LKey, MKey, NKey, OKey, PKey, _ + QKey, RKey, SKey, TKey, UKey, VKey, WKey, XKey, _ + YKey, ZKey + read KeyWord$ + + while (KeyWord$ <> "") + if (KeyWord$ = Key$) then + FNIsKeyWord = TRUE + exit def + end if + read KeyWord$ + wend + end if + end if + FNIsKeyWord = FALSE + exit def +AKey: + DATA ABS, AND, APPEND, AS, ASC, ATN, AUTO, "" + restore AKey: return +BKey: + DATA BEEP, BLOAD, BSAVE, "" + restore BKey: return +CKey: + DATA CALL, CALLS, CDBL, CHAIN, CHDIR, CHR$, CINT, CIRCLE, CLEAR + DATA CLOSE, CLS, COLOR, COM, COMMAND$, COMMON, CONT, COS, CSNG + DATA CSRLIN, CVD, CVI, CVS, "", "" + restore CKey: return +DKey: + DATA DATA, DATE$, DEF, DEFDBL, DEFINT, DEFSNG, DEFSTR, DEF FN, DEF USR, DELETE + DATA DIM, DRAW, "" + restore DKey: return +EKey: + DATA EDIT, ELSE, END, ENVIRON, ENVIRON$, EOF, EQV, ERASE + DATA ERL, ERR, ERROR, EXIT, EXP, "" + restore EKey: return +FKey: + DATA FIELD, FILES, FIX, FOR, FRE, "" + restore FKey: return +GKey: + DATA GET, GO, GOSUB, GOTO, "" + restore GKey: return +HKey: + DATA HEX$, "" + restore HKey: return +IKey: + DATA IF, IMP, INKEY$, INP, INPUT, INPUT$, INPUT$, INSTR, INT, "" + restore IKey: return +JKey: + DATA "" + restore JKey: return +KKey: + DATA KEY, KILL, "" + restore KKey: return +LKey: + DATA LCOPY, LEFT$, LEN, LET, LINE, LIST, LBOUND, LLIST, LOAD + DATA LOC, LOCAL, LOCATE, LOCK, LOF, LOG, LPOS, LPRINT, LSET, "" + restore LKey: return +MKey: + DATA MERGE, MID$, MKD$, MKI$, MKS$, MKDIR, MOD, MOTOR, "" + restore MKey: return +NKey: + DATA NAME, NEW, NEXT, NOT NULL, "" + restore NKey: return +OKey: + DATA OCT$, ON, OPEN, OPTION, OR, OUT, OUTPUT, "" + restore OKey: return +PKey: + DATA PAINT, PALETTE, PEEK, PEN, PLAY, PMAP + DATA POINT, POKE, POS, PRESET, PRINT, PSET, PUT, "" + restore PKey: return +QKey: + DATA "" + restore QKey: return +RKey: + DATA RANDOMIZE, READ, REDIM, REM, RENUM, REM, RENUM + DATA RESTORE, RESUME, RETURN, RIGHT$, RMDIR, RND, RSET, RUN, "" + restore RKey: return +SKey: + DATA SAVE, SCREEN, SEG, SGN, SHARED, SHELL, SIN, SOUND, SPACE + DATA SPC, SQR, STATIC, STEP, STICK, STOP, STR, STRIG, STRING + DATA SUB, SWAP, SYSTEM, "" + restore SKey: return +TKey: + DATA TAB, TAN, THEN, TIME, TIMER, TO, TROFF, TRON, "" + restore TKey: return +UKey: + DATA UBOUND, UNLOCK, USING, "" + restore UKey: return +VKey: + DATA VAL, VARPTR, VIEW, "" + restore VKey: return +WKey: + DATA WAIT, WEND, WHILE, WIDTH, WINDOW, WRITE, "" + restore WKey: return +XKey: + DATA XOR, "" + restore XKey: return +YKey: + DATA "" + restore YKey: return +ZKey: + DATA "" + restore ZKey: return + +end def + +rem $subtitle:'FnIsMetacommand- Is a Metacommand?' +rem $page +'FNIsMetaCommand- returns non-zero if source$ is a meta command of +' the form "'$metacommand" or "$metacommand" +' +' Input: +' Source$ - source string to determine if metacommand +' +def FnIsMetacommand(source$) + +' The following is a list of the metacommands processed by this program +Meta$ = "TITLE SUBTITLE LINESIZE PAGESIZE PAGE PAGEIF SKIP LIST- LIST+ LIST" + + if (mid$(source$,1,1)) = "'" then source$=mid$(source$,2) + if ((mid$(source$,1,1)) <> "$") OR (len(source$) < 4 ) then + FnIsMetacommand = 0 + exit def + else + source$=Mid$(source$,2) ' get rid of the $ + source$ = FnToUpper$(source$) 'convert to uppercase + x = instr(meta$,source$) + if x <> 0 then FnIsMetacommand = -1 else FnIsMetacommand = 0 + end if +end def + + +rem $subtitle:'InQuote' +rem $page +' InQuote- determines whether or not we are in the middle of a +' quoted literal +' +' Input: Target$- string to see if it contains a double quote character +' Output: either 1 or 0, toggles state of Quoted.Literal +' +SUB InQuote(Target$, Quoted.Literal) STATIC +STATIC x,xi + x= INSTR(1,target$,chr$(34)) ' is there a quote in the string?? + IF x = 0 then + Exit SUB ' no quote chracters, exit... + + ELSE + x1 = Instr(x+1, target$,chr$(34)) ' look for a 2nd quote + if x1 = 0 then quoted.Literal = NOT Quoted.Literal + END IF +END SUB + + +rem $subtitle:'Write.Outputfile- writes 1 line' +rem $page +' Write.Outputfile- Writes one line to the output file, handling all the +' all the parameters set up by metacommands. +' Assumptions:- This routine assumes that channel #2 has been opened for output +' +' Input: +' OutputLine$ - The line to output +' Output: +' None +' Uses: +' Out.Title$, Out.SubTitle$, Out.LineSize, Out.PageSize, Out.List, +' Out.LineCount, Out.BlankBottom, MetaCommand.On, True, False +SUB Write.Outputfile(outputLine$) STATIC + +SHARED Out.Title$, Out.SubTitle$, Out.LineSize, Out.PageSize, Out.List +SHARED Out.LineCount, Out.BlankBottom, MetaCommand.On, True, False + If Out.List = False THEN Exit Sub 'Listing is OFF + If MetaCommand.On Then MetaCommand.On = False: Exit Sub ' Don't Print the metacommand line + IF Out.LineCount = 0 Then CALL Out.Header 'must be first time into this routine + + ' Convert all TABs in the line to Blanks + OutputLine$ = FnTabsToBlanks$(outputline$) + + 'Output the line, given the page width + OutLine.Length = Len(outputLine$) + While OutLine.Length > Out.LineSize-1 + IF (Out.LineCount > (Out.PageSize-Out.BlankBottom)) AND (Out.PageSize <> 255) THEN CALL Out.Header + PRINT #2, Mid$(OutputLine$,1,Out.LineSize-1) + OutputLine$ = Mid$(OutputLine$,Out.LineSize) 'start at next char + OutLine.Length = Len(outputLine$) + Out.LineCount = Out.LineCount + 1 + Wend + IF (Out.LineCount > (Out.PageSize-Out.BlankBottom)) AND (Out.PageSize <> 255) THEN CALL Out.Header + PRINT #2, Mid$(OutputLine$,1,Out.LineSize-1) + Out.LineCount = Out.LineCount + 1 + +End Sub + + +rem $subtitle:'Out.Header- Writes the Header Info' +rem $page +' Out.Header - Output the header to the output file +' +' Assumptions- Assumes Channel #2 is open for output +' Input: +' None +' Output: +' None +' Uses: +' Out.Title$, Out.SubTitle$, Out.LineSize, Out.PageSize, Out.List, +' Out.LineCount +SUB Out.Header STATIC + +SHARED Out.Title$, Out.SubTitle$, Out.LineSize +SHARED Out.LineCount, Out.PageNum, Out.List + + If Out.List = 0 Then exit sub + + ' first update the screen + Locate 2,5:print "Microsoft PPRINT: Formatted Print Utility" + locate 4,5:print space$(60) + locate 4,5:print "Currently printing Page: ";Out.Pagenum + if out.pagenum > 1 then Print #2, Chr$(12) ' The FF character + + Print #2, Mid$(Out.Title$,1,Out.LineSize); + page$ = "Page"+string$(4-len(str$(out.pagenum))," ")+str$(out.PageNum) + print #2,Tab(Out.LineSize-len(page$));Page$ + print #2, Mid$(Out.Subtitle$,1,Out.LineSize); + print.date$ = left$(date$,6)+right$(date$,2) + print #2, Tab(Out.LineSize-8);print.date$ + print #2, Tab(Out.LineSize-8);Time$ + Print #2,Tab(Out.LineSize-35);"Microsoft QuickBASIC Compiler V2.01" + + Print #2, "" ' add a blank line + Out.LineCount = 7 + Out.PageNum = Out.PageNum + 1 + +END SUB + + +rem $subtitle:'ProcessMetacommand- Process 1 Metacommand' +rem $page +' ProcessMetaCommand- Determines which meta command it is and takes +' the appropriate action(s) +' +' Input +' Token$- Last token found +' Output +' None, except the action associated with the metacommand +' + +SUB ProcessMetaCommand( Token$) STATIC +SHARED Out.Title$, Out.SubTitle$, Out.LineSize, Out.PageSize, Out.List +SHARED Out.LineCount, Out.BlankBottom, MetaCommand.On, True, False +SHARED OutputFile$ +STATIC X, Meta1$ +' Each item in the following list is an a 10 character boundary so that +' I can find the index, divide by 10, and use the ON...GOTO contruct + +meta1$ = " TITLE SUBTITLE LINESIZE PAGE PAGESIZE PAGEIF SKIP LIST- LIST+" + + + if (mid$(token$,1,1)) = "'" then token$=mid$(token$,2) + token$=Mid$(token$,2) ' get rid of the $ + token$ = FnToUpper$(token$) 'convert to uppercase + MetaCommand.On = -1 + x = instr(Meta1$,token$)/10 + + ON x GOTO Title, Subtitle, LineSize, Page, PageSize, Pageif, Skip, ListOff, ListOn + +Title: + arg$=FnGetToken$("","'"): Arg$=FnGetToken$("","'") + Out.Title$ = Arg$ + Exit Sub +Subtitle: + arg$=FnGetToken$("","'"): Arg$=FnGetToken$("","'") + Out.SubTitle$ = Arg$ + Exit Sub +LineSize: + arg$=FnGetToken$("","': ") + Out.LineSize=Val(arg$) + IF OutputFile$ = "LPT1:" THEN WIDTH #2,Out.LineSize 'FIX #57720 + Exit Sub +Page: + CALL Out.Header + Exit Sub +PageSize: + arg$=FnGetToken$("","': ") + Out.PageSize=Val(arg$) + Out.LineCount = Out.LineCount MOD Out.PageSize + Exit Sub +Pageif: + arg$=FnGetToken$("","': ") + x =Val(arg$) + If (Out.PageSize-Out.BlankBottom-x) <= Out.LineCount Then CALL Out.Header + Exit Sub +Skip: + arg$=FnGetToken$("","': ") + x =Val(arg$) + IF (Out.LineCount+x) > (Out.PageSize-Out.BlankBottom) Then + Call Out.Header + Else + For i=1 to x + Call Write.OutputFile(" ") + Next i + END IF + MetaCommand.On = -1 ' Fix #56937 + Exit Sub +ListOff: + Out.List = False + Exit Sub +ListOn: + Out.List= True + Exit Sub +END SUB + +rem $subtitle:'GetFilenames- Gets the I/O filenames' +rem $page +' +' GetFileNames - Parses the input and output file names from command$ +' Description: +' This routine retrieves the input and output file names. These should +' be separated by a comma with the input file name coming first. +' Input: +' Command$ - Command line +' true, false - logical flags +' Output: +' InputFile$, OutputFile$ - Input/Output file name +' +sub GetFileNames static +shared InputFile$, OutputFile$, Seps$, true, false + + if (Command$ = "") then + print " Microsoft PPrint: Formatted Print Utility" + print " " + Input " Input Filename (return to terminate)";InputFile$ + If inputfile$ = "" Then Exit Sub + Input " Output Filename (default is LPT1:)";OutputFile$ + CLS + else + InputFile$ = FNGetToken$(Command$, Seps$) + OutputFile$ = FNGetToken$("", " ") 'next token is outputfilename + end if +ExitGet: + 'Add .bas if filename has no extension + if Instr(InputFile$,".") = 0 then InputFile$ = InputFile$ + ".bas" + if (OutputFile$ = "") then OutputFile$ = "LPT1:" +end sub + +rem $subtitle:'InitSys- Initialize the System' +rem $page +' +' initialize the system +' +SUB initsys STATIC +SHARED true, false, KeyWordCount, Seps$ +SHARED Out.Title$, Out.SubTitle$, Out.LineSize, Out.PageSize, Out.List, Out.LineCount, Out.BlankBottom, Out.PageNum + + Seps$ = " ,: ": true = -1: false = 0 + Out.Title$ = "" + Out.SubTitle$ = "" + Out.LineSize = 80 + Out.PageSize = 66 + Out.List = true + Out.LineCount = 0 + Out.BlankBottom = 6 '6 lines are left blank at the bottom of each + ' page unless pagesize=255 meaning an infinate + ' page. + Out.PageNum = 1 + MetaCommand.On = 0 +END SUB + +rem $subtitle:'MAIN PROGRAM' +rem $page +main: + Call InitSys + Call GetFileNames + If Inputfile$ = "" Then goto Exitmain + open InputFile$ for input as #1 + open outputfile$ for output as #2 + while not eof(1) + line input #1, LineCur$ + outputLine$ = LineCur$ + OutputIndex = 1 + TokenCur$ = FNGetToken$(LineCur$, Seps$) + while (TokenCur$ <> "") + CALL InQuote(TokenCur$,Quoted.Literal) + IF FNIsKeyWord(TokenCur$) then + ' Make uppercase + ' stuff into line at appropriate position + ' + Temp$=FNToUpper$(TokenCur$) + x = Instr(OutputIndex,OutputLine$,TokenCur$) + IF NOT Quoted.Literal THEN MID$(OutPutLine$,x) = Temp$ 'replace with uppercase + OutputIndex = x + len(temp$) + + ELSEIF FnIsMetacommand(tokencur$) Then + OutputIndex = OutputIndex + Len(TokenCur$) + ' process the metacommand + Call ProcessMetaCommand(TokenCur$) + ELSE + 'move index across line + OutputIndex = OutputIndex + Len(TokenCur$) + END IF + + TokenCur$ = FNGetToken$("", Seps$) + wend + Call Write.Outputfile(OutputLine$) + wend + + Print #2,chr$(12) 'send one last FF character + CLOSE ' Close all files + +Exitmain: +end + diff --git a/Microsoft QuickBASIC v3/PREFIX.ASM b/Microsoft QuickBASIC v3/PREFIX.ASM new file mode 100644 index 0000000..ea7154d --- /dev/null +++ b/Microsoft QuickBASIC v3/PREFIX.ASM @@ -0,0 +1,50 @@ + title prefix +_CODE segment para public 'BC_CODE' +_CODE ends +CSEG segment para public 'CODESG' +CSEG ends +CODE segment para public 'CODE' +CODE ends +SHELL segment para public 'CODESG' +SHELL ends +CLEAR segment para public 'CODESG' +CLEAR ends +BC_ICN_CODE segment para public 'INIT_CODE' +BC_ICN_CODE ends +BC_IDS_CODE segment para public 'INIT_CODE' +BC_IDS_CODE ends +INIT_CODE segment para public 'INIT_CODE' +INIT_CODE ends + +; DSEG must come first and not be CONST or _DATA so that other language +; obj's do not mess with the location of DSEG +DSEG segment common 'DATASG' +DSEG ends +CONST segment para public 'CONST' +CONST ends +_BSS segment word public 'BSS' +_BSS ends +c_common segment word public 'BSS' +c_common ends +DATA segment para public 'DATA' +DATA ends +BC_DATA segment word public 'BC_VARS' +BC_DATA ends +named_common segment word common 'BC_VARS' +named_common ends +BC_FT segment word public 'BC_SEGS' +BC_FT ends +BC_CN segment para public 'BC_SEGS' +BC_CN ends +BC_DS segment para public 'BC_SEGS' +BC_DS ends +COMMON segment para common 'BLANK' +COMMON ends +LAST_SEGMENT segment para public 'LAST_SEGMENT' +LAST_SEGMENT ends +DGROUP group DSEG,CONST,_BSS,DATA,BC_DATA,BC_FT,BC_CN,BC_DS,COMMON + + public __acrtused +__acrtused equ 1 + + end diff --git a/Microsoft QuickBASIC v3/PREFIX.OBJ b/Microsoft QuickBASIC v3/PREFIX.OBJ new file mode 100644 index 0000000..554513d Binary files /dev/null and b/Microsoft QuickBASIC v3/PREFIX.OBJ differ diff --git a/Microsoft QuickBASIC v3/PREFIX87.ASM b/Microsoft QuickBASIC v3/PREFIX87.ASM new file mode 100644 index 0000000..2690151 --- /dev/null +++ b/Microsoft QuickBASIC v3/PREFIX87.ASM @@ -0,0 +1,82 @@ + TITLE PREFIX87 - segment ordering module for assembly programs + +_CODE segment para public 'BC_CODE' +_CODE ends +CSEG segment para public 'CODESG' +CSEG ends +CODE segment para public 'CODE' +CODE ends +SHELL segment para public 'CODESG' +SHELL ends +CLEAR segment para public 'CODESG' +CLEAR ends +BC_ICN_CODE segment para public 'INIT_CODE' +BC_ICN_CODE ends +BC_IDS_CODE segment para public 'INIT_CODE' +BC_IDS_CODE ends +INIT_CODE segment para public 'INIT_CODE' +INIT_CODE ends + +; DSEG must come first and not be CONST or _DATA so that other language +; obj's do not mess with the location of DSEG + +DSEG segment common 'DATASG' +DSEG ends +CONST segment para public 'CONST' +CONST ends +_BSS segment word public 'BSS' +_BSS ends +c_common segment word public 'BSS' +c_common ends +DATA segment para public 'DATA' +DATA ends +BC_DATA segment word public 'BC_VARS' +BC_DATA ends +named_common segment word common 'BC_VARS' +named_common ends +BC_FT segment word public 'BC_SEGS' +BC_FT ends +BC_CN segment para public 'BC_SEGS' +BC_CN ends +BC_DS segment para public 'BC_SEGS' +BC_DS ends +COMMON segment para common 'BLANK' +COMMON ends +LAST_SEGMENT segment para public 'LAST_SEGMENT' +LAST_SEGMENT ends +DGROUP group DSEG,CONST,_BSS,DATA,BC_DATA,BC_FT,BC_CN,BC_DS,COMMON + + public __acrtused +__acrtused equ 1 + +fINT EQU 0CDH +fFWAIT EQU 09BH +fESCAPE EQU 0D8H +fNOP EQU 090H +fES EQU 026H +fCS EQU 02Eh +fSS EQU 036h +fDS EQU 03Eh + +BEGINT equ 084h ; QB 3 beginning interrupt + + +PUBLIC FIWRQQ,FIERQQ,FIDRQQ +PUBLIC FISRQQ,FJSRQQ,FIARQQ,FJARQQ,FICRQQ,FJCRQQ ; new fixups + +FIDRQQ EQU (fINT + 256*(BEGINT + 0)) - (fFWAIT + 256*fESCAPE) + +FIERQQ EQU (fINT + 256*(BEGINT + 8)) - (fFWAIT + 256*fES) + +FIWRQQ EQU (fINT + 256*(BEGINT + 9)) - (fNOP + 256*fFWAIT) + +FIARQQ EQU (fINT + 256*(BEGINT + 8)) - (fFWAIT + 256*fDS) +FJARQQ EQU 256*(((0 shl 6) or (fESCAPE and 03Fh)) - fESCAPE) + +FISRQQ EQU (fINT + 256*(BEGINT + 8)) - (fFWAIT + 256*fSS) +FJSRQQ EQU 256*(((1 shl 6) or (fESCAPE and 03Fh)) - fESCAPE) + +FICRQQ EQU (fINT + 256*(BEGINT + 8)) - (fFWAIT + 256*fCS) +FJCRQQ EQU 256*(((2 shl 6) or (fESCAPE and 03Fh)) - fESCAPE) + + END diff --git a/Microsoft QuickBASIC v3/PREFIX87.OBJ b/Microsoft QuickBASIC v3/PREFIX87.OBJ new file mode 100644 index 0000000..814c393 Binary files /dev/null and b/Microsoft QuickBASIC v3/PREFIX87.OBJ differ diff --git a/Microsoft QuickBASIC v3/QB.EXE b/Microsoft QuickBASIC v3/QB.EXE new file mode 100644 index 0000000..79d6626 Binary files /dev/null and b/Microsoft QuickBASIC v3/QB.EXE differ diff --git a/Microsoft QuickBASIC v3/QB87.EXE b/Microsoft QuickBASIC v3/QB87.EXE new file mode 100644 index 0000000..0ac7b55 Binary files /dev/null and b/Microsoft QuickBASIC v3/QB87.EXE differ diff --git a/Microsoft QuickBASIC v3/README.DOC b/Microsoft QuickBASIC v3/README.DOC new file mode 100644 index 0000000..52439f1 --- /dev/null +++ b/Microsoft QuickBASIC v3/README.DOC @@ -0,0 +1,771 @@ + "README.DOC" File + Release Notes for the MICROSOFT(R) QuickBASIC Compiler + Version 3.0 for IBM(R) Personal Computers + and Compatibles + + (C) Copyright Microsoft Corporation, 1987 + +THIS FILE CONTAINS IMPORTANT INFORMATION CONCERNING VERSION 3.0 OF +THE MICROSOFT(R) QUICKBASIC COMPILER. PLEASE READ THE ENTIRE FILE +VERY CAREFULLY BEFORE USING YOUR QUICKBASIC PRODUCT. + +This file is divided into three parts, as follows: + + PART CONTENTS + + 1 Information about additions and changes to QuickBASIC + made after the manual was printed. + + 2 Additions and corrections to the QuickBASIC Compiler + Version 3.0 update document. + + 3 Additions and corrections to the QuickBASIC Compiler + Version 2.0 manual. + +For information on corrections to the software from Version 2.0 to 3.0, +please refer to the UPDATE.DOC file on this disk. + +============================================ + +1. Executing Command Buttons + + In QuickBASIC 2, pressing ENTER always executed the command button + with the double outline (the default command), regardless of which + button was highlighted. To execute the command in the highlighted + button, you had to press SPACEBAR. + + In QuickBASIC 2.01 and 3, this is no longer the case: pressing either + ENTER or SPACEBAR executes the highlighted button. + +2. The QB.INI Initialization File + + QB.INI is an initialization file that QuickBASIC uses to set both the + Options settings in the View menu and the Autosave command settings + in the File menu. Upon exiting QuickBASIC, if you have modified + any of the Options settings or the state of the File menu's Autosave + command, these changes are written to QB.INI. Note that QB.INI is + not supplied on any of the product disks. It is created only when + you change the Options or Autosave settings. If you use only the + default settings, QB.INI is never created. + + When QB.INI is created, it is placed in the current directory. When + QuickBASIC starts, it looks for QB.INI in the current directory, then + in the locations specified by the PATH environment variable. + +3. Source-File Line Termination + + QuickBASIC requires a CR-LF (carriage return-line feed) sequence at the + end of each line. If only carriage returns are present, QuickBASIC reads + the first 255 characters only, and continues without producing an error + message. If only line feeds are present, QuickBASIC appears to read the + file correctly, but will in fact overlook the last character of each line. + If you use an editor that places only a CR or an LF at the end of a line, + you need to modify your source files so they have the correct sequence at + the end of each line. The following program examines the end of each line + in a BASIC source file and inserts a carriage return, line feed, or both, if + needed (the original contents are saved in a file with the extension ".BAK"). + + ' Be sure to compile this program with the "On Error" (/e) and + ' "Resume Next" (/x) options to turn on error trapping + + DEFINT A-Z + CONST FALSE = 0, TRUE = NOT FALSE + + CarReturn$ = CHR$(13) + LineFeed$ = CHR$(10) + + DO + CLS + INPUT "File (.BAS): ", InpFile$ + Extension = INSTR(InpFile$,".") + IF Extension > 0 THEN + InpFile$ = LEFT$(InpFile$,Extension-1) + END IF + ON ERROR GOTO Handler + NAME InpFile$ + ".BAS" AS InpFile$ + ".BAK" + OPEN InpFile$ + ".BAK" FOR INPUT AS #1 + ON ERROR GOTO 0 + OPEN InpFile$ + ".BAS" FOR OUTPUT AS #2 + PrevCarReturn = False + DO UNTIL EOF(1) + FileChar$ = INPUT$(1, #1) + IF FileChar$ = CarReturn$ THEN + IF PrevCarReturn THEN FileChar$ = LineFeed$ + FileChar$ + PrevCarReturn = True + ELSEIF FileChar$ = LineFeed$ THEN + IF NOT PrevCarReturn THEN FileChar$ = CarReturn$ + FileChar$ + PrevCarReturn = False + ELSEIF PrevCarReturn THEN + PrevCarReturn = False + FileChar$ = LineFeed$ + FileChar$ + END IF + PRINT #2, FileChar$; + LOOP + CLOSE + PRINT "Another file (Y/N)?" + More$ = INPUT$(1) + LOOP WHILE More$ = "y" OR More$ = "Y" + + SYSTEM + + Handler: + ErrNumber = ERR + IF ErrNumber = 53 THEN + CLS + PRINT "No such file. Enter new name." + INPUT "File (.BAS): ", InpFile$ + RESUME + ELSEIF ErrNumber = 58 THEN + KILL InpFile$ + ".BAK" + RESUME + ELSE + ON ERROR GOTO 0 + ERROR ErrNumber + END IF + +4. Using CALL ABSOLUTE with In-Memory Compilation + + ABSOLUTE is considered an external subroutine by the QuickBASIC compiler. + The assembly-language source for this subroutine is in the file + ABSOLUTE.ASM, which can be found on either of the disks labeled Disk 1 in + the QuickBASIC distribution package. ABSOLUTE.OBJ, an assembled version of + this subroutine suitable for inclusion in a user library with the BUILDLIB + utility, can be found on either of the disks labeled Disk 2 in the QuickBASIC + distribution package. + +5. Compilation Errors + + When an error is detected during compilation, code generation stops. This + allows for faster compilation, but has the side effect that some errors may + be reported that are not errors. When the original error is corrected, + these side-effect errors go away. For example, the statements + + FOR I = 1 + . + . + . + NEXT I + + generate two errors, "Missing TO" and "NEXT without FOR". When + the FOR statement is changed to read "FOR I = 1 to 10", both errors + are corrected. + +6. COMMAND.COM, the SHELL Statement and the Free Menu's Shell Command + + QuickBASIC requires COMMAND.COM before it can execute either a SHELL + statement or the Shell command from the File menu. QuickBASIC looks + for COMMAND.COM first in the directory specified in the COMSPEC + environment variable, then in the current directory. + +7. Using the SHELL Statement in a Subroutine + + The SHELL statement does not compress memory. If not enough contiguous + memory is available, (for example, if many CHAIN statements have been + executed, or several dynamic arrays were allocated then erased), a SHELL + statement may fail with an "Out of memory" error message. + +8. Using the SHELL Statement with DOS 2.X + + If you are using a 2.X version of DOS, programs that contain SHELL + statements may not exit correctly. This is due to a known problem in DOS + 2.X. The problem occurs when DOS reloads the transient portion of the + command processor into high memory. + + To exit QuickBASIC after executing an in-memory program that contains + SHELL statements, when the program finishes running, choose Shell from the + File menu, then type "exit" at the DOS prompt. + + When standalone executable programs exit, the message "Invalid COMMAND.COM" + may appear. If so, you must restart your system. If you compile using + BRUN30.EXE, in most cases the program exits properly. + + Another solution is to upgrade your DOS version to 3.X. + +9. Running Terminate-and-Stay-Resident Programs from the File Menu's + Shell Command + + Do not run terminate-and-stay-resident programs while executing the Shell + command from the File menu. When a Shell command is executed, QuickBASIC + is compressed into the smallest memory possible. The terminate-and-stay- + resident program occupies memory required by QuickBASIC, making it + impossible to compile or run a program, or do anything that allocates + memory. + +10. Changing Directories from the File Menu's Shell Command + + If you change directories after executing the Shell command from the File + menu, this directory is the current directory when you return to QuickBASIC. + Subsequent Load commands use this as the default directory, and when you + quit QuickBASIC, you will be in this directory. + +11. Using BRUN30.EXE with User Libraries + + The run-time module BRUN30.EXE obtains the user library using the name + the program module was compiled with. All independently compiled program + modules to be linked together must be compiled with the same user library + using the same name; othewise, an error occurs at run time. + + You cannot use BCOM30.LIB, the alternate run-time library, with user + libraries. + +12. Using /l with Nonreferenced Libraries + + User libraries specified with the /l option are pulled into the + executable file regardless of whether the program requires them. + +13. The User-Library Search Path + + If path information is provided with the qb command's /l option, as in + + qb progname /l \src\lib\mylib.exe + + no path search is performed. If the library is not in the specified location + an error occurs. If no path information is provided, the current directory + is searched, then the directory specified in the LIB environment variable. + +14. Graphics-Mode Statements + + A color-graphics adapter is required if you are using any of the following + statements: + + CIRCLE PMAP + COLOR (screen modes 1-10) POINT + DRAW PRESET + GET (graphics) PSET + LINE PUT (graphics) + PAINT SCREEN (screen modes 1-10) + PALETTE VIEW + PCOPY WINDOW + +15. EGA-Card Restrictions + + The EGA card does not support the COLOR statement's border parameter. Using + the border parameter causes unpredictable results. + +16. Program Capacity + + Because the Debug option generates extra code, extremely large programs + that are compiled with the Debug option may exceed the memory limits of + your computer. + +17. Object-File Size + + Programs compiled with the Debug option (the default) create larger + object files than programs compiled without the Debug option. + +18. Using the PEN Function When a Mouse Driver Is Present + + The mouse driver intercepts the PEN function's BIOS calls and redirects + them to the mouse. If you don't want to use the mouse as a lightpen, call + mouse function 14 to disable the mouse's lightpen-emulation flag, which is + on by default. Mouse function 13 turns lightpen emulation back on. For + example, the following code turns mouse lightpen emulation off: + + CALL MOUSE(14,0,0,0) + + See your mouse manual for more information. + +19. Editing Responses to the INPUT Statement + + The input editor supplied with QuickBASIC is a line editor only. This + means you can move and edit only horizontally. Attempts to use the + UP, DOWN, PGUP and PGDN cursor keys produce a beep. + +20. Disk-Error Messages + + Whenever you get a disk-error message, such as "Write protect violation", + DO NOT change to a different disk before selecting "RETRY". If you want + to retry with a different disk, select the "Cancel" button, replace the + disk, and compile again. + +========== + +Page Correction +---- ---------- + +Update-25 The first sentence under "Viewing User-Library Source Code" + should be changed to read as follows: + + QuickBASIC's debugger also lets you see the text of any BASIC + source file used to build the user library, provided the + source file was compiled with either the /d command-line option + or the Debug option in the Compile... dialog box. If a source + in the user library was compiled without these options, the + debugger displays the following message if you try to view the + file with the F6 command: + + ***** No Debug Information ***** + +Update-44 The following information on emulating the function of an + 8087/80287 math coprocessor should be added to Section 4.2: + + Programs using either the standard BRUN3087.LIB library + or the alternate BCOM3087.LIB library automatically use an + 8087/80287 coprocessor at run time if one is installed. + However, you can override the use of the coprocessor and force + an application to emulate its function by setting the NO87 + environment variable. + + HOW TO SET THE NO87 ENVIRONMENT VARIABLE + ---------------------------------------- + + EXAMPLES + -------- + + SET NO87=Use of coprocessor suppressed + SET NO87= + + Both of the preceding examples force software emulation of + the 8087/80287 coprocessor, provided the application is + using BRUN3087.LIB or BCOM3087.LIB linked with EMULATOR.OBJ + (see the "COPROCESSOR/EMULATION USAGE TABLE" below for + more information on when NO87 forces emulation). The first + setting causes the message + + Use of coprocessor suppressed + + to appear on the screen when a program that uses an 8087 + or 80287 is executed, and an 8087 or 80287 is present. + The second setting does not display a message. + + To turn off forced emulation, set NO87 equal to a null, or + empty, value. + + EXAMPLE + ------- + + SET NO87= + + The preceding example turns off software emulation of + the 8087/80287. Note: no spaces follow the "equal" (=) + sign. + + COPROCESSOR/EMULATION USAGE TABLE + --------------------------------- + + The following table shows the effects of setting the NO87 + variable on applications using QB87: + + +----------------------+-----------------------+ + | Math Coprocessor | Math Coprocessor not | + | Present and NO87 Set | Present | + +--------------------+----------------------+-----------------------+ + | | | | + | Application | Emulates | Emulates | + | using BRUN3087.EXE | coprocessor | coprocessor | + | | | | + +--------------------+----------------------+-----------------------+ + | Application | | | + | compiled with /o, | Emulates | Emulates | + | and linked with | coprocessor | coprocessor | + | EMULATOR.OBJ | | | + +--------------------+----------------------+-----------------------+ + | Application | | | + | compiled with /o, | Uses | Does not run | + | but not linked | coprocessor | | + | with EMULATOR.OBJ | | | + +--------------------+----------------------+-----------------------+ + + NOTES ON TABLE: + + 1) The entries under the "Math Coprocessor not Present" + heading are valid regardless of whether or not the + NO87 variable is set. + + 2) If an 8087/80287 coprocessor is present and either one + of the following conditions is true, the application + always uses the coprocessor: + + a) The NO87 variable is not set. + + b) Forced emulation has been turned off by setting + NO87 equal to a null value. + +Update-45 The text under the "Effect" heading for CLS 1 should + be changed to read as follows: + + ...Previously, CLS 1 changed the screen only + after a VIEW statement was executed. + + Also, add the following to the text for CLS 2: + + See the reference entry for VIEW PRINT in the + Microsoft QuickBASIC Compiler manual for more + information on creating a text window. + +========== + +Page Correction +---- ---------- + +61-63 Significant enhancements have been made to QuickBASIC's debugging + capabilities. See the discussion in Section 3, "Debugging Commands," + of the "Microsoft QuickBASIC Compiler Version 3.0 Update," which + supersedes the discussion on pages 61-63 of the Version 2.0 manual. + +71 In the syntax line at the bottom of the page, the "c:buffersize" + option should be preceded by a forward slash, as follows: + + /c:buffersize + +76 In the first paragraph after Figure 4.2, the sentence "If you + are in a subdirectory..." should state that the entry ".." + appears in the "upper-left corner", not the "upper-right". + +78 Binary files cannot be loaded into QuickBASIC. The note in the + middle of the page should read: + + QuickBASIC accepts only ASCII files. If you attempt to load a + binary file, you will get an error. + +78 BASICA ASCII files containing explicit extended ASCII characters, + (graphics characters), are treated as binary files by QuickBASIC. + +93 In Section 4.4.3.11, "Exe," it should be noted that the executable + files created using this method require the support of the BRUN30.EXE + run-time module in order to execute. + +120 The first line of this example (DEFINT I-L) should be changed + to DEFINT I-S so as to execute correctly. + +152 The stack is preset to 768 bytes, not 512. + +160 The list of nonexecutable statements should also include the + CONST statement. + +161 In the example under Section 9.2.2, there should not be an underscore + character (_) following the FIELD variable D$. + +162 String constants can be ASCII characters in the range 32 to 126. + (127 is the DEL character) + +172 In the discussion of "Overflow" and "Division by zero" errors, the + following paragraph should be added to item 1a: + + If you are running a program from the QuickBASIC + user interface (editor) with the Debug option on, + and one of these errors occurs, the program ends + and the appropriate error message appears in the + dialog box at the bottom of the screen. You are + then returned to the editor, with the cursor + positioned on the line where the error occurred. + + The following should also be added to item 2: + + If you are running a program from the QuickBASIC + interface with the Debug option off, the program + still ends with the appropriate error message + displayed; however, when you are returned to the + editor, the cursor is positioned on the first line + of the program, rather than the offending line. + +183 In Table 10.1, you should add the statements PEEK, POKE, and DEF SEG + to the column "May Require Modifying Interpreter Programs," since + the memory maps of the interpreter and the compiler are different. + For example, programs that read from or write to memory locations in + the RAM-resident portion of the interpreter do not work in the + compiler environment since the interpreter is not present. + +188 In Section 10.3.2, the $INCLUDE metacommand, restriction 2) is in + error. Included files may contain END statements. + +193 In Table 10.6, you should add the statements PEEK, POKE, and + DEF SEG, since the memory maps of the interpreter and the compiler + are different. For example, programs that read from or write to memory + locations in the RAM-resident portion of the interpreter do not work in + the compiler environment since the interpreter is not present. + +200 In the Action section for the BLOAD command, it states that + BLOAD can take input from "any input device." This is not true, + as the BLOAD command does not take input from the "KYBD:" device. + +222 The EGA card does not support the COLOR statement's border parameter. + If you have an EGA card installed on your system, using the border + parameter causes unpredictable results. + +229 The list of nonexecutable statements should also include the + CONST and DATA statements. + +232 The "VO1" variable in the third line from the bottom should be changed + to read as follows: + + DENS=W/VOL + +235 The last line in the example should be "LOCATE Y,X" not + "LOCATE X,Y". + +265 The syntax for the ERASE statement should have a comma between + the array names, as shown here: + + ERASE arrayname [,arrayname...] + +275 In the FIELD statement's Example 2, the order of arguments is reversed + for all string-manipulation functions. The affected section of the + program should read as follows: + + . + . + . + IF (ZCHECK$ > "85699" AND ZCHECK$ < "85801") THEN + INFO$ = PLIST$ + PRINT LEFT$(INFO$,25) + PRINT MID$(INFO$,16,25) + PRINT RIGHT$(INFO$,17) + END IF + + The FIELD statements in the two examples shown under Example 4 should + be changed to read as follows: + + FIELD #1, RECLENGTH% AS OFFSET$, SIZE% AS A$(I%) + + and + + FIELD #1, 15 AS A$(1), 10 AS A$(2),..., 8 AS A$(14) + +280 Change the first sentence at the top of the page to read as + follows: + + The body of a FOR...NEXT loop is executed at least + once, unless one of the following conditions is true, + in which case the loop is not executed: + + * Step size is positive, and is greater + than . + + * Step size is negative, and is less than + . + +283 In the FRE function example, the first line of the example should be + a $DYNAMIC metacommand, as follows: + + ' $DYNAMIC + PRINT "Before dimensioning arrays: " FRE(""),FRE(0),FRE(-1) + . + . + . + +286 There is a missing parenthesis in the formula for computing the GET + graphics statement's array size. There should be three left parentheses + after the INT keyword, as follows: + + 4 + INT(((x2 - x1 +1) * bits-per-pixel + 7)/8) * ((y2 - y1) +1) + +297 The two examples comparing the single-line and block forms of the + IF...THEN...ELSE statement should read as follows: + + Example 1: + + INPUT "Price = ",x + IF (x >= 10000) THEN DISC! = x * .25! ELSE _ + + IF (x < 10000) AND (x >= 5000) THEN DISC! = x * .2! ELSE _ + + IF (x < 5000) AND (x >= 1000) THEN DISC! = x * .1! ELSE _ + + DISC! = 0 + + IF DISC! = 0 THEN PRINT "No discount" ELSE _ + + PRINT "Discounted price = "; : PRINT USING "$$####.##";x - DISC! + + Example 2: + + INPUT "Price = ",x + IF (x >= 10000) THEN + DISC! = x * .25! + ELSEIF (x < 10000) AND (x >= 5000) THEN + DISC! = x * .2! + ELSEIF (x < 5000) AND (x >= 1000) THEN + DISC! = x * .1! + ELSE DISC! = 0 + END IF + IF DISC! = 0 THEN + PRINT "No discount" + ELSE + PRINT "Discounted price = "; + PRINT USING "$$####.##";x - DISC! + END IF + +313 The last sentence of the description of Example 2, after + the semicolon, should read: "The last line displays the new + soft-key values." + +314 Since QB3 supports the Advanced 101-Key keyboard, the + function keys F11 and F12 can now be trapped. Trapping + of F11 can be controlled with KEY(30) {ON | OFF | STOP}, + while trapping of F12 can be controlled with + KEY(31) {ON | OFF | STOP}. + +315 The table listed on this page is incomplete. In addition to + the values listed, you must also take into account the state + of the NUM LOCK and CAPS LOCK keys. For NUM LOCK active you + should add the value &H20, and for CAPS LOCK active you should + add the value &H40 to the keyboard flag. + +317 The second comment in the example program should read: + + ' DOWN key will now be trapped + + Also, note this program traps only the CTRL-s (lowercase s) key + sequence. To trap CTRL-S (with a capital S), you need to deal with + capital letters produced by holding down the SHIFT key, as well as + capital letters produced when the CAPS-LOCK key is active, as shown + here: + + KEY 16, CHR$(&H05) + CHR$(&H1F) ' Trap CTRL + SHIFT + s + KEY 17, CHR$(&H44) + CHR$(&H1F) ' Trap CTRL + CAPS-LOCK + s + + KEY (16) ON + KEY (17) ON + + ON KEY (16) GOSUB KEYTRAP + ON KEY (17) GOSUB KEYTRAP + +325 The STEP option example requires a hyphen before the STEP keyword, as + follows: + + LINE -STEP (10,5) + + The phrase following the example should read: + + "draws a line from (10,10) to the point with x-coordinate + 10+10 and y-coordinate 10+5, or (20,15)." + +327 The Action for LINE INPUT should read: + + Inputs an entire line (up to 255 characters) to a string variable... + +338 The Remark for LOF should read: + + When a file is opened in any mode, LOF returns the size of the file in + bytes. + +348 In the description of the example it should be noted that line 100 + converts the single-precision variable AMT to a 4-byte string; + therefore, the field variable D$ needs to be defined as only a + 4-byte string: + + FIELD #1, 4 AS D$, 20 AS N$ + +353 Delete the last sentence on this page. + +369 Add the following note concerning the ACCESS clause: + + The ACCESS clause works in an OPEN statement only if you are using + versions of DOS that support networking (3.0 or later). In addition, + you must run the SHARE.EXE program (or the network startup program must + run it) to perform any locking operation. Earlier versions of DOS + return an "Advanced Feature" error if ACCESS is used with OPEN. + +375 The second sentence under the Action heading for the LF option should be + changed to read: + + When LF is specified, a line-feed character (0AH) is automatically sent + after each carriage-return character (0DH). + +388 The last sentence in the REMARKS section should be deleted. The + argument to the PEEK statement should be a single-precision + variable in the range 0-1,048,575. + +396 The variable in the first line of PLAY statement's Example 1 should be + SCALE$, not SCALES$: + + SCALE$ = "CDEFGAB" + +410 In the example, all references to the file STORINVENT should be changed + to INVENT.DAT. The file argument to both OPEN statements should be + the same file, INVENT.DAT. + +418 The first entry in the "Arguments" column should be (x,y), not + (x1,y1). + +420 Images cannot be scaled with the PUT graphics statement. Only one set + of x,y coordinates can be specified as arguments to PUT. All text + after "Because you can specify..." in the second paragraph, and all of + the following paragraph, should be ignored. + +424 The second sentence in the Remarks section for the READ statement should + be changed to read as follows: + + READ statements assign DATA-statement values to variables on a + one-to-one basis. + +448 The text format for SCREEN 1 should be 40 X 25, and the text format + for SCREEN 2 should be 80 X 25. + + The first line under the SCREEN 2 heading should be corrected to + read as follows: + + * 640 x 200 pixel high-resolution graphics + +452 The color range listed for SCREEN 2 should be 0 - 15, not 0 - 1. + + Because the WIDTH statement in QuickBASIC 3 now lets you set the + number of lines displayed on the screen as well as the number of + columns, the information on legal video-page ranges in SCREEN 0 + shown in Table 11.6 should be updated as follows: + + WIDTH Statement Display/Adapter Legal Video-Page + Format Hardware Ranges + ---------------------------------------------------------------- + WIDTH 80,25 MDPA 0 only + CGA 0 - 3 + EGA (64K) 0 - 3 + EGA (128K - 256K) 0 - 7 + + WIDTH 40,25 CGA, EGA 0 - 7 + + ---------------------------------------------------------------- + WIDTH 80,43 EGA (64K) 0 - 1 + EGA (128K - 256K) 0 - 3 + + WIDTH 40,43 EGA (64K) 0 - 3 + EGA (128K - 256K) 0 - 7 + ---------------------------------------------------------------- + NOTE: 43-line mode is valid only with an EGA adapter with its + switch set for an EGA display. + +474 The example for the STR$ function should read as follows: + + DEF FNNum$(X) + X$ = STR$(X) + LENGTH = LEN(X$) + IF LEFT$(X$,1) <> "-" THEN LENGTH = LENGTH - 1 + FNNum$ = RIGHT$(X$,LENGTH) + END DEF + + PRINT "Enter 0 to end." + DO + INPUT "Find cosine of: ",Num + IF Num THEN PRINT "COS(" FNNum$(Num) ") = " COS(Num) + LOOP WHILE Num <> 0 + +482 In the example, the input to the prompt "Pattern to be searched + for?" must be SUB (not "sub") in order to get the output shown. + +525 Add CASE, CONST, DEBUG, DO, ELSEIF, LOOP, OFF, RANDOM, and SELECT + to the list of reserved words. + + Delete the dollar-sign ($) character at the end of GOTO. + +535 Batch files created for versions of QuickBASIC before 2.0 require + modification. In older batch files, "bascom" should be "qb". + +536 If you are using a version of DOS earlier than 3.0, use the PATH command + instead of the SET command to define the PATH variable. Using SET under + earlier versions of DOS can cause the PATH variable to work incorrectly + for some path specifications containing lowercase letters. + +546 & The stack is preset to 768 bytes, not 512. +547 + +566 The third bulleted remark ("A USR function...") should be deleted. + +570 The explanation for the error message "Too many files" should read: + + This error most commonly occurs when an attempt is made to open a + number of files that exceeds the limit set by the FILES= parameter in + the CONFIG.SYS file. It also occurs when the per-directory file limit + is exceeded by an attempt to create a new file with the SAVE or OPEN + statement. Refer to your DOS manual for the number of files permitted + in a directory. diff --git a/Microsoft QuickBASIC v3/REMLINE.BAS b/Microsoft QuickBASIC v3/REMLINE.BAS new file mode 100644 index 0000000..ad6e9db --- /dev/null +++ b/Microsoft QuickBASIC v3/REMLINE.BAS @@ -0,0 +1,382 @@ +' Microsoft RemLine- Line Number Removal Utility +' Copyright (C) Microsoft Corporation- 1985,1986 + +' REMLINE.BAS is a program to remove line numbers from Microsoft BASIC +' Programs. It removes only those line numbers that are not the object +' of a goto, gosub or if-then +' +' REMLINE is run by typing: +' +' REMLINE [ [, ]] +' +' where is any input file name and is +' is any output file name. If is not present +' the output goes to the console. If +' is present has to be present. +' +' It makes several assumptions about the program +' 1. Program is correct syntactically, and runs in an MS Interpreter. +' 2. 200 limit on referenced line numbers. If larger, change LineTable! +' declaration. +' 3. The first number encountered on a line is considered a line num- +' ber; thus some continuation lines (in a compiler specific +' construct) may not work correctly. +' 4. Remember that ERL assumes the existence of line numbers, so +' REMLINE should not be used on programs which depend on ERL. + + DEFINT a - z + DIM SHARED KeyWordTable$( 8 ) + DIM SHARED LineTable!( 400 ) + DIM KeyWordCount, LineCount, Seps$ + DIM KeyBoard, Console + DIM InputFile$, OutputFile$ + +' +' FNToUpper$ - Convert string to uppercase +' Description: +' This routine converts a string to uppercase. If already uppercase +' nothing is done. Returns a null string if input is null +' Input: +' InString$ - string to convert +' Output: +' FNToUpper$ - uppercase string +' Uses: +' AscChar - temp used to hold ASCII form of character +' LenInString - Length of input string +' IndexInstring - Current index into input string +Def FNToUpper$(InString$) + + LenInString = len(InString$) + ' Exit if input string is empty (null) + if (LenInString = 0) then FNToUpper$ = "" : Exit Def + for IndexInstring = 1 to LenInString + AscChar = asc(mid$(InString$, IndexInstring, 1)) + ' &hdf is special bit pattern that converts from lower to upper + if ((AscChar >= asc("a")) and (AscChar <= asc("z"))) then _ + AscChar = AscChar and &hdf: _ + mid$(InString$, IndexInstring, 1) = chr$(AscChar) + next IndexInString + FNToUpper$ = InString$ + +End Def + +' +' FNStrSpn - Get the index of the first character within InString$ that is +' NOT one of the characters from Separater$ +' Description: +' This routine will search the parameter string InString$ until it finds +' a character that is not part of the Separater string. This can be used +' with FNStrBrk to isolate strings within strings that are separated by +' blanks, comma etc. whatever is specified in Separater$. This is especially +' helpful in extracting parameters from the command line. See FNGetToken$ +' for example of use. +' +' Input: +' InString$ = string to search +' Separater$ = string of Separater +' +' Output: +' FNStrSpn = index into InString$ if 0 then all character in Separater$ +' are in InString$ +' Uses: +' LenInString, LenSeprater = length parameter strings +' ChTemp$ = temp used for current character from InString$ +' StartFound = Logical flag if search was successful +' IndexSeparater, IndexInString = current indices into parameter strings +' +Def FNStrSpn(InString$, Separater$) + + LenInString = Len(InString$) + LenSeparater = Len(Separater$) + ' Examine each character from InString$ to see if it is in Separater$ + for IndexInString = 1 to LenInString + ChTemp$ = Mid$(InString$, IndexInString, 1) + StartFound = false + ' search all of the Separaters to see of any equal this character + for IndexSeparater = 1 to LenSeparater + if (ChTemp$ = Mid$(Separater$, IndexSeparater, 1)) then _ + goto NextChar + next IndexSeparater + ' found a character not equal to one of the Separaters$ + ' exit from loops + StartFound = true + goto EndStrSpn +NextChar: + Next IndexInString +EndStrSpn: + if (StartFound) then _ + FNStrSpn = IndexInString _ + else FnStrSpn = 0 + +End Def + +' +' FNStrBrk - finds the first occurance of any character in string2$ in +' string1$ +' Description: +' This routine is the opposite to FNStrSpn. It finds the first occurance +' of one of the characters from String2$ within String$. It is used +' generally for search from specific strings within strings. See FNSeparater +' on use. See FNGetToken$ to see the routines in use. +' +' Input: +' string1$ = string to search for first occurance +' string2$ = string of characters to search for +' Output: +' FNStrBrk = index to character in string1$ of first occurance +' +' Uses: +' LenString1 = length parameter string +' ChTemp$ = temp used for current character from String1$ +' IndexString1 = current indices into parameter string +' +Def FNStrBrk(String1$, String2$) + + LenString1 = Len(String1$) + ' Search String1$ until one of the characters from String2$ is found + ' or run out of characters from String$2 + for IndexString1 = 1 to LenString1 + ChTemp$ = Mid$(String1$, IndexString1, 1) + if (instr(String2$, ChTemp$)) then _ + StartFound = true: _ + FNStrBrk = IndexString1: _ + Exit Def + Next IndexString1 + FnStrBrk = 0 + +End Def +' +' FNGetToken$ - Extract a token for a string. +' Description: +' This routine extracts tokens from strings. A token is a word that is +' surrounded by separaters, such as spaces or commas. It is usually the +' word of interest and examining sentences or commands. If the string +' to search for tokens "Search$" is null (.i.e "") then the last +' non-null string passed will be used. The allows for multiple calls +' to FNGetToken$ to move through the string. EG: the sequences of calls +' would be: +' token$ = FNGetToken$("token string, a short one", " ,") +' while (token$ <> "") +' print token$ +' token$ = FNGetToken$("", " ,") +' wend +' This will return "token", "string", "a", "short", "one" +' +' Note that the token is returned as an Uppercase character string. +' +' Input: +' Search$ = string to search +' InSeps$ = String of Seps$ +' Output: +' FNGetToken$ = next token +' Uses: +' TokenString$ = last non-null string passed as parameter (do not modify) +' TokenIndex2 = index to last separater (do not modify) +' TokenIndex1 = index to last token +' +def FNGetToken$(Search$, InSeps$) + + + ' Null strings indicate use of last string used + ' TokenString$ is set to last string if Search$ is not null + if (Search$ = "") then _ + Search$ = TokenString$ _ + else TokenIndex2 = 1: _ + TokenString$ = Search$ + ' If last separater position is past end of search string then no more + ' tokens can be in string, since searching is started from this position + ' Exit with null return in this case + if (TokenIndex2 >= len(Search$)) then _ + FNGetToken$ = "": Exit Def + ' Section out a token from the search string. This is done by finding the + ' start of a token then locating it's end by the start of separaters + TokenIndex1 = FNStrSpn(mid$(Search$, TokenIndex2, len(Search$)), InSeps$) + ' If no more token bump to end of line so we move past current point + if (TokenIndex1 = 0) then _ + TokenIndex1 = len(Search$): _ + else TokenIndex1 = TokenIndex1 + TokenIndex2 - 1 + TokenIndex2 = FNStrBrk(mid$(Search$, TokenIndex1, len(Search$)), InSeps$) + ' If separater position (end of token) came back zero the token must be + ' up against end of string. Set the separater position one past string + ' length so that size of token computation is correct and next call + ' with same string will return null for no more tokens + if (TokenIndex2 = 0) then _ + TokenIndex2 = len(Search$) + 1 _ + else TokenIndex2 = TokenIndex1 + TokenIndex2 - 1 + ' Cut out token from search string and convert to uppercase. + ' It is converted to uppercase since string compares are case sensitive + FNGetToken$ = FNToUpper$(mid$(Search$,TokenIndex1,TokenIndex2 - TokenIndex1)) +end def + +' +' FNIsNumber - Checks to see if character a number or alpha +' Description: +' This routine returns true if character passed is in the range 0 - 9 +' It returns false if not. It is used to tell wither a token is +' a number or alpha. +' Input: +' Char - character to check +' Output: +' FNIsNumber - true if within 0 - 9 +' +def FNIsNumber(Char$) + + if (Char$ = "") then _ + FNIsNumber = false: _ + else CharAsc = asc(Char$): _ + FNIsNumber = ((CharAsc >= asc("0")) and (CharAsc <= asc("9"))) + +end def + +' +' GetFileNames - Parses the input and output file names from command$ +' Description: +' This routine retrieves the input and output file names. These should +' be separated by a comma with the input file name coming first. +' Input: +' Command$ - Command line +' true, false - logical flags +' Output: +' Console - flag if no output file +' InputFile$, OutputFile$ - Input/Output file name +' +sub GetFileNames static +shared Console, InputFile$, OutputFile$, Seps$, true, false + + Console = false + if (Command$ = "") then + print " Microsoft RemLine: Line Number Removal Utility" + print " " + Input " Input Filename (return to terminate)";InputFile$ + If inputfile$ = "" Then Exit Sub + Input " Output Filename (default is console:)";OutputFile$ + if (OutputFile$ = "") then Console = true + CLS + ELSE + InputFile$ = FNGetToken$(Command$, Seps$) + OutputFile$ = FNGetToken$("", Seps$) + if (OutputFile$ = "") then Console = true + END IF + +ExitGet: +end sub + +' +' BuildTable - Build a table of line numbers that are references +' Description: +' This routine examines all of the text file looking for line numbers +' that are the object of goto, gosub etc. As each is found it is entered +' into a table of these line numbers. This table is used during a second +' pass at the source to remove all line numbers not in this list +' Input: +' KeyWordTable$ - array of keywords that have line number following them +' KeyWordCount - number of entries in KeyWordTable$ +' Seps$ - current token Seps$ +' true, false - true, false flags +' Output: +' LineTable! - table of referenced line numbers +' LineCount - number of lines in LineTable! +' +sub BuildTable static +shared KeyWordCount, Seps$, LineCount, false, true + + WHILE NOT EOF( 1 ) + LINE INPUT #1, inlin$ + token$ = FNGetToken$(inlin$, Seps$) + WHILE (token$ <> "") + for KeyIndex = 0 to KeyWordCount + if (KeyWordTable$(KeyIndex) <> token$) then goto KeyNotFound + token$ = FNGetToken$("", Seps$) + ' loop through looking for multiple lines in the case + ' of a computed gosub or goto. A non-numeric will terminate + ' search (another keyword etc.) + while (FNIsNumber(Left$(token$,1))) + LineCount = LineCount + 1 + LineTable!(LineCount) = val(token$) + token$ = FNGetToken$("", Seps$) + if token$ <> "" then KeyIndex = 0 + wend +KeyNotFound: + next KeyIndex +KeyFound: + token$ = FNGetToken$("", Seps$) + WEND + WEND + +end Sub + +' +' GenOutFile - Generate output file +' Description: +' This routine generates the output file removing the unreferenced line +' numbers. +' Input: +' LineTable! - Table of line numbers that are referenced +' LineCount - number of entries in LineTable! +' Seps$ - Separaters used between keywords +' Console - flags if output to file +' false, true - logical flags +' + +sub GenOutFile static +shared false, true, Seps$, LineCount, Console + + WHILE NOT EOF( 1 ) + LINE INPUT #1, inlin$ + if (inlin$ = "") then goto NoLine + token$ = FNGetToken$(inlin$, Seps$) + if (not FNIsNumber(Left$(token$,1))) then goto NoLine + Linenumber! = VAL(token$) + FoundNumber = false + for index = 1 to LineCount + if (Linenumber! = LineTable!(index)) then _ + FoundNumber = true + next index + if (not FoundNumber) then _ + mid$(inlin$,FNStrSpn(inlin$,Seps$),len(token$)) = space$(len(token$)) +NoLine: + if (Console) then _ + PRINT inlin$ _ + else Print #2, inlin$ +WEND +end sub +' +' initialize the system +' +SUB initsys STATIC +SHARED true, false, KeyWordCount, Seps$, KeyWordTable$() + + Seps$ = " ,: ": true = -1: false = 0 + RESTORE keydata 'keywords + ' Initialize the keyword table. Keywords are recognized so that + ' the difference between a line number and a numeric contstant can + ' be determined + KeyWordCount = 0 + READ KeyWord$ + WHILE KeyWord$ <> "" + KeyWordCount = KeyWordCount + 1 + KeyWordTable$( KeyWordCount ) = KeyWord$ + READ KeyWord$ + WEND +END SUB + +' keyword search data + +keydata: + DATA THEN, ELSE, GOSUB, GOTO, RESUME, RETURN, RESTORE, RUN, "" + +main: + CALL initsys + CALL GetFileNames + if (InputFile$ = "") goto ExitMain + OPEN InputFile$ FOR INPUT AS 1 + call BuildTable + CLOSE #1 + OPEN InputFile$ FOR INPUT AS 1 + if (not Console) then _ + OPEN OutputFile$ FOR OUTPUT AS 2 + call GenOutFile + CLOSE #1 + ExitMain: +end + diff --git a/Microsoft QuickBASIC v3/SIEVE.BAS b/Microsoft QuickBASIC v3/SIEVE.BAS new file mode 100644 index 0000000..ee54d72 --- /dev/null +++ b/Microsoft QuickBASIC v3/SIEVE.BAS @@ -0,0 +1,20 @@ +1 SIZE% = 8190 +2 DIM FLAGS%(8191) +3 PRINT "10 iterations" +4 FOR X% = 1 TO 10 +5 COUNT% = 0 +6 FOR I% = 0 TO SIZE% +7 FLAGS%(I%) = 1 +8 NEXT I% +9 FOR I% = 0 TO SIZE% +10 IF FLAGS%(I%) = 0 THEN 18 +11 PRIME% = I% + I% + 3 +12 K% = I% + PRIME% +13 IF K% > SIZE% THEN 17 +14 FLAGS%(K%) = 0 +15 K% = K% + PRIME% +16 GOTO 13 +17 COUNT% = COUNT% + 1 +18 NEXT I% +19 NEXT X% +20 PRINT COUNT%," PRIMES" diff --git a/Microsoft QuickBASIC v3/SMALLERR.OBJ b/Microsoft QuickBASIC v3/SMALLERR.OBJ new file mode 100644 index 0000000..822eab0 Binary files /dev/null and b/Microsoft QuickBASIC v3/SMALLERR.OBJ differ diff --git a/Microsoft QuickBASIC v3/SQUARE.BAS b/Microsoft QuickBASIC v3/SQUARE.BAS new file mode 100644 index 0000000..3ffd632 --- /dev/null +++ b/Microsoft QuickBASIC v3/SQUARE.BAS @@ -0,0 +1,8 @@ +defint a-z +sub square(starta) static +for x = starta to (starta+5) + for y = (starta) to (starta+5) + locate x,y:print "*" + next y +next x +end sub diff --git a/Microsoft QuickBASIC v3/TRIANGLE.BAS b/Microsoft QuickBASIC v3/TRIANGLE.BAS new file mode 100644 index 0000000..646018b --- /dev/null +++ b/Microsoft QuickBASIC v3/TRIANGLE.BAS @@ -0,0 +1,12 @@ +defint a-z + +sub tri (startd) static +startrow=10:startcol=startd +for row = 0 to 10 + locate startrow+row,startcol-row + for x = startcol - row to startcol+row + locate startrow+row,x + print "*" + next x +next row +end sub diff --git a/Microsoft QuickBASIC v3/TTT.BAS b/Microsoft QuickBASIC v3/TTT.BAS new file mode 100644 index 0000000..f2ae254 --- /dev/null +++ b/Microsoft QuickBASIC v3/TTT.BAS @@ -0,0 +1,121 @@ +1 REM Tic Tac Toe solving app that learns what WOPR learned: you can't win +2 REM Only three starting positions are examined. Others are just reflections of these +3 REM b% -- The board +4 REM al% -- Alpha, for pruning +5 REM be% -- Beta, for pruning +6 REM l% -- Top-level loop iteration +7 REM wi% -- The winning piece (0 none, 1 X, 2, O ) +8 REM re% -- Resulting score of 4000/minmax board position. 5 draw, 6 X win, 4 Y win +9 REM sx% -- Stack array for "recursion" X can be P, V, A, or B for those variables. +10 REM v% -- Value of a board position +11 REM st% -- Stack Pointer. Even for alpha/beta pruning Minimize plys, Odd for Maximize +12 REM p% -- Current position where a new piece is played +14 REM rw% -- Row in the Winner function (2000) +15 REM cw% -- Column in the Winner function (2000) +18 REM mc% -- Move count total for debugging. Should be a multiple of 6493 +19 REM Note: Can't use real recursion with GOSUB because stack is limited to roughly 5 deep +20 REM BASIC doesn't support goto/gosub using arrays for target line numbers +23 li% = val( command$ ) +24 if 0 = li% then li% = 1 +30 DIM b%(9) +32 DIM sp%(10) +34 DIM sv%(10) +36 DIM sa%(10) +37 DIM sb%(10) +38 mc% = 0 +39 PRINT "start time: "; TIME$ +40 FOR l% = 1 TO li% +41 mc% = 0 +42 al% = 2 +43 be% = 9 +44 b%(0) = 1 +45 GOSUB 4000 +58 al% = 2 +59 be% = 9 +60 b%(0) = 0 +61 b%(1) = 1 +62 GOSUB 4000 +68 al% = 2 +69 be% = 9 +70 b%(1) = 0 +71 b%(4) = 1 +72 GOSUB 4000 +73 b%(4) = 0 +74 REM print "mc: "; mc%; " l is "; l% +80 NEXT l% +82 REM print elap$ +83 PRINT "end time: "; TIME$ +84 print "iterations: "; li% +85 PRINT "final move count "; mc% +88 SYSTEM +100 END + +2000 wi% = b%(0) +2010 IF 0 = wi% GOTO 2100 +2020 IF wi% = b%(1) AND wi% = b%(2) THEN RETURN +2030 IF wi% = b%(3) AND wi% = b%(6) THEN RETURN +2100 wi% = b%(3) +2110 IF 0 = wi% GOTO 2200 +2120 IF wi% = b%(4) AND wi% = b%(5) THEN RETURN +2200 wi% = b%(6) +2210 IF 0 = wi% GOTO 2300 +2220 IF wi% = b%(7) AND wi% = b%(8) THEN RETURN +2300 wi% = b%(1) +2310 IF 0 = wi% GOTO 2400 +2320 IF wi% = b%(4) AND wi% = b%(7) THEN RETURN +2400 wi% = b%(2) +2410 IF 0 = wi% GOTO 2500 +2420 IF wi% = b%(5) AND wi% = b%(8) THEN RETURN +2500 wi% = b%(4) +2510 IF 0 = wi% THEN RETURN +2520 IF wi% = b%(0) AND wi% = b%(8) THEN RETURN +2530 IF wi% = b%(2) AND wi% = b%(6) THEN RETURN +2540 wi% = 0 +2550 RETURN + +4000 REM minmax function to find score of a board position +4010 REM recursion is simulated with gotos +4030 st% = 0 +4040 v% = 0 +4060 re% = 0 +4100 mc% = mc% + 1 +4102 REM gosub 3000 +4104 IF st% < 4 THEN GOTO 4150 +4105 GOSUB 2000 +4106 IF 0 = wi% THEN GOTO 4140 +4110 IF wi% = 1 THEN re% = 6: GOTO 4280 +4115 re% = 4 +4116 GOTO 4280 +4140 IF st% = 8 THEN re% = 5: GOTO 4280 +4150 IF st% AND 1 THEN v% = 2 ELSE v% = 9 +4160 p% = 0 +4180 IF 0 <> b%(p%) THEN GOTO 4500 +4200 IF st% AND 1 THEN b%(p%) = 1 ELSE b%(p%) = 2 +4210 sp%(st%) = p% +4230 sv%(st%) = v% +4245 sa%(st%) = al% +4246 sb%(st%) = be% +4260 st% = st% + 1 +4270 GOTO 4100 +4280 st% = st% - 1 +4290 p% = sp%(st%) +4310 v% = sv%(st%) +4325 al% = sa%(st%) +4326 be% = sb%(st%) +4328 b%(p%) = 0 +4330 IF st% AND 1 THEN GOTO 4340 +4331 IF re% = 4 THEN GOTO 4530 +4332 IF re% < v% THEN v% = re% +4334 IF v% < be% THEN be% = v% +4336 IF be% <= al% THEN GOTO 4520 +4338 GOTO 4500 +4340 IF re% = 6 THEN GOTO 4530 +4341 IF re% > v% THEN v% = re% +4342 IF v% > al% THEN al% = v% +4344 IF al% >= be% THEN GOTO 4520 +4500 p% = p% + 1 +4505 IF p% < 9 THEN GOTO 4180 +4520 re% = v% +4530 IF st% = 0 THEN RETURN +4540 GOTO 4280 + diff --git a/Microsoft QuickBASIC v3/UPDATE.DOC b/Microsoft QuickBASIC v3/UPDATE.DOC new file mode 100644 index 0000000..e4144ff --- /dev/null +++ b/Microsoft QuickBASIC v3/UPDATE.DOC @@ -0,0 +1,168 @@ + "UPDATE.DOC" File + Update Notes for the MICROSOFT(R) QuickBASIC Compiler + Version 3.0 for IBM(R) Personal Computers + and Compatibles + + (C) Copyright Microsoft Corporation, 1987 + + +This file contains a list of corrections made to Microsoft(R) QuickBASIC +since the last release. See the README.DOC file for corrections to the +manual and enhancements made to the product. These enhancements include +error listing capability and IBM(R) Advanced 101-Key keyboard support. + +(1) With an IBM CGA card, and your display in screen mode 0, the active + page parameter now works as it does in IBM BASICA and as it did in + QuickBASIC 1.x. That is, more than one active page is allowed. + +(2) With an IBM EGA card, the active page is now reset correctly upon return + to the user interface after program execution. + +(3) In the user interface, inserting a word deleted from the end of a line no + longer inserts two spaces following the word. + +(4) Palettes are no longer reversed on a CGA display in screen mode 1. + +(5) A program that accesses a user-library routine containing a RESUME NEXT + no longer locks up the system. + +(6) Compiling a program from the command line no longer locks up the system + if the disk is full. + +(7) Variables passed to user-library routines no longer produce spurious + "String space corrupt" or "Out of data" errors, nor do they generate + incorrect values. + +(8) The interaction between CHAIN, SHELL, and the DEBUG and .EXE options no + longer causes problems. + +(9) Passing strings in COMMON that were defined in a FIELD statement no longer + causes a problem. + +(10) High-intensity colors are now options for the foreground color in the + View menu's Options... dialog box. + +(11) If an invalid CIRCLE statement was followed by a valid CIRCLE statement, + sometimes both the valid and invalid statements generated + "Illegal function call" errors. This has been corrected. + +(12) The compiler no longer has problems optimizing code written without + line numbers and compiled without the DEBUG option. + +(13) A problem with function-key assignments giving spurious "String space + corrupt" and "String heap corrupt" errors has been corrected. + +(14) If a loop contained a SHELL statement followed by an LPRINT statement, + the LPRINT would sometimes fail after multiple iterations. This has + been corrected. + +(15) The PAINT statement no longer has problems painting figures in EGA + screen modes 7-10 when there is a gap of less than eight pixels between + figures and painting begins on a byte boundary. + +(16) The BSAVE statement now returns the proper error message if there is + no space on the disk. + +(17) The STOP statement has been corrected to set the error stack level + properly. + +(18) The color of the screen is now restored properly after a COLOR statement. + +(19) The LOCATE statement now properly handles the cursor. + +(20) Variables from a QuickBASIC program compiled with the BRUN20 library + are now accessed properly after a CHAIN statement transfers control + to an assembly-language program. + +(21) The SCREEN statement has been corrected so that the order of COLOR and + SCREEN statements no longer makes a difference. + +(22) An error could occur when a program containing an ON...GOSUB statement + was compiled with the /w (event handling) option. This has been corrected. + +(23) The INKEY$ statement now works properly after an error routine traps an + attempt to open a nonexistent file with the OPEN statement. + +(24) After a character is printed in column 80 followed by a semi-colon, CSRLIN + now returns the next line, as it does in IBM BASICA. + +(25) Memory is no longer lost when the CHAIN statement runs multiple programs. + +(26) Calling a user-defined function (DEF FN) within an OPEN statement no + longer causes an error. + +(27) Using the compiler's /w option and the EXIT statement within a batch + file no longer causes a problem when the batch file is run. + +(28) Integer division with a denominator of zero no longer locks up the system. + +(29) Several memory-management problems -- including string-space manipulation, + which in turn led to errors ranging from "String space corrupt" to a + system lock up -- have been corrected. + +(30) The combination of the SOUND statement with an OPEN statement that + accesses the "SCRN:" device now works properly. + +(31) Floating-point subtraction performed between two SOUND statements no + longer causes an "Illegal function call" error on the second SOUND + statement. + +(32) A problem with the the substring form of the PLAY statement has been + corrected. + +(33) Typing CTRL-PRTSC in response to an INPUT statement no longer results + in all characters typed being printed twice on the printer. + +(34) Using a null string for a file name in an OPEN statement now gives the + same error message whether the file is opened for input or output. + +(35) The VIEW PRINT and CLS statements now work properly together. + +(36) KEY() ON and ON KEY() GOSUB statements can now be in the + same FOR...NEXT loop and work properly + +(37) A machine lock up could occur on an 80286 machine if a COMMON block had + a single-precision variable as its first argument, the next statement + modified the variable (as in "b=b+1"), and the program was compiled with + the /O switch. This problem has been corrected. + +(38) When the Compile... screen was displayed, pressing the right direction + key, the spacebar, and the ENTER key in the Program box (in that order) + would result in an "Invalid file specification" error. This error could + not be corrected except by completely retyping the file name. This has + been corrected so that the cursor is placed at the end of the name, + allowing use of the BACKSPACE key to correct the input error. + +(39) The PPRINT utility now handles the metacommand SKIP[ :n] correctly. + +(40) The PPRINT utility now works properly with line lengths greater than + 80 characers when output is directed to LPT1:. + +(41) The editor could lock up if a CUT/COPY operation was attempted when + the mouse was used to select text and the area marked for selection + extended beyond the last line of code. This has been corrected. + +(42) An "Input past end" error could occur when using BLOAD to retrieve a file + that contained a 1A hex character (Control-Z). This has been corrected. + +(43) QuickBASIC can now correctly handle user libraries larger than 64K. + +(44) A DRAW statement containing a string expression and a very complex drawing + string could generate an "Out of memory" error. This has been corrected. + +(45) A directory specified in a $INCLUDE statement could not contain an + extension. This has been corrected. + +(46) Addressing an array element using an invalid subscript, even with the + Debug (/d) option set, could produce spurious or misleading error + messages. This has been corrected. + +(47) The program INT86.ASM has been corrected to work with VARPTR. + +(48) If the WRITE# statement is used to store characters in a random-file + buffer (a variable defined in a FIELD statement), QuickBASIC now pads + the record with blanks, as stated in the entry for the "PUT Statement + (File I/O)" in the QuickBASIC reference manual. + +(49) Local variables in a user library are no longer preserved across a CHAIN, + and no longer result in a "String space corrupt" error. diff --git a/Microsoft QuickBASIC v3/l.bat b/Microsoft QuickBASIC v3/l.bat new file mode 100644 index 0000000..3e4a060 --- /dev/null +++ b/Microsoft QuickBASIC v3/l.bat @@ -0,0 +1,3 @@ +rem compile to .obj in the app then link like this: + +ntvdm -c link %1,,%1,.\,nul.def diff --git a/Microsoft QuickBASIC v3/manual/info.html b/Microsoft QuickBASIC v3/manual/info.html new file mode 100644 index 0000000..6aa504c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/info.html @@ -0,0 +1,14 @@ + + +QuickBASIC 3.0 - Information + + +
  Title: QuickBASIC 3.0
+Credits:       The QuickBASIC 3.0 database, Copyright (C) 1987 by
+            Peter Norton Computing, Inc., was written by Craig Stinson,
+            Burt Alperson, Brad Kingsbury, John Socha, and Peter Norton.
+         
+         
+
+ + diff --git a/Microsoft QuickBASIC v3/manual/menu.html b/Microsoft QuickBASIC v3/manual/menu.html new file mode 100644 index 0000000..f34270d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/menu.html @@ -0,0 +1,31 @@ + +QuickBASIC 3.0 - Menu + + +
    +

  1. BASIC
  2. +

      +

    1. Language
    2. +

    3. Operators
    4. +

    5. Data Types
    6. +

    7. Switches and Options
    8. +

    9. Type Conversions
    10. +

    11. Reserved Words
    12. +

    13. Runtime Errors
    14. +

    +

  3. Tables
  4. +

      +

    1. ASCII Chart
    2. +

    3. Line-Drawing Chars
    4. +

    5. Special Characters
    6. +

    7. Color Chart
    8. +

    9. Keyboard Codes
    10. +

    11. Credits
    12. +

    +
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng101c4.html b/Microsoft QuickBASIC v3/manual/ng101c4.html new file mode 100644 index 0000000..813abf4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng101c4.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ERDEV                    Critical Error Code
+
+ y = ERDEV
+
+    Returns the error status of a device error.  The low-order byte will
+    contain the INT 24h error code.  The high-order byte will contain the
+    bits 15, 14, 13, 3, 2, 1, and 0 of the device attribute word.
+
+   ----------------------------------------------------------------------
+
+      Notes:    ERDEV is a read-only variable.
+
+
+See Also: +ERDEV$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng10367.html b/Microsoft QuickBASIC v3/manual/ng10367.html new file mode 100644 index 0000000..a5d2d62 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng10367.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ERDEV$                   Device Causing Critical Error
+
+ s$ = ERDEV$
+
+    Returns the name of the device that has caused an INT 24h (critical
+    error).
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the device is a character device, ERDEV$ returns the
+                eight-bit device name. If the device is a block device,
+                ERDEV$ returns a two-character string consisting of the
+                drive letter and a colon.
+
+                ERDEV$ is a read-only variable.
+
+
+See Also: +ERDEV +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng10563.html b/Microsoft QuickBASIC v3/manual/ng10563.html new file mode 100644 index 0000000..fe3cee1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng10563.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ERL                      Line Number of Most Recent Error
+
+ y = ERL
+
+    Returns the program line number at which the most recent error
+    occurred.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If an error occurs on an unnumbered program line, then ERL
+                returns the last line number before the program line that
+                caused the error.  If no line numbers are used at all, ERL
+                returns 0.
+
+                If the error occurs in an unnumbered program line, ERL
+                returns the last line number before the label.
+
+
+See Also: +ERR +ERROR +ON ERROR +RESUME +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng107b9.html b/Microsoft QuickBASIC v3/manual/ng107b9.html new file mode 100644 index 0000000..42dcc2e --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng107b9.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ERR                      Error Number
+
+ y = ERR
+
+    Returns the error number of the most recent runtime error.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If no error has occurred, ERR returns 0.
+
+
+See Also: +ERL +ERROR +ON ERROR +RESUME +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng108e8.html b/Microsoft QuickBASIC v3/manual/ng108e8.html new file mode 100644 index 0000000..7ae70c7 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng108e8.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ERROR                    Force Error
+
+ERROR n
+
+    Produces error number n.
+
+           n    An integer expression in the range 0 to 255.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If n is not one of BASIC's standard error numbers, and no
+                ON ERROR routine is in use, ERROR n stops program
+                execution and produces an "Unprintable error" error
+                message.
+
+                If an ON ERROR routine is in effect, an ERROR n statement
+                is trapped in the normal way, whether or not the number is
+                one of BASIC's error numbers.
+
+                If you are using a nonstandard error number, Microsoft
+                recommends that you use the highest available number, to
+                maintain compatibility with future releases of QuickBASIC.
+
+                This statement is provided as an aid in debugging error-
+                trapping routines.
+
+
+See Also: +ERL +ERR +ON ERROR +RESUME +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng10c5d.html b/Microsoft QuickBASIC v3/manual/ng10c5d.html new file mode 100644 index 0000000..21aea84 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng10c5d.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+EXIT                     Exit Multiline Function, Loop, or Subprogram
+
+ EXIT {DEF | DO | FOR | SUB}
+
+    Exits a multiline function definition, a DO loop, a FOR loop, or a
+    subprogram.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The construct definition is not ENDed by the EXIT
+                statement. An END statement is still required.
+
+                Premature exit from a nested DO or FOR loop transfers
+                control to the immediately enclosing loop.
+
+
+See Also: +DEF FN +DO +FOR +SUB...END SUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng10e75.html b/Microsoft QuickBASIC v3/manual/ng10e75.html new file mode 100644 index 0000000..3cf782d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng10e75.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+EXP                      Exponent (Natural)
+
+ y = EXP(numexpr)
+
+    Returns e (the base of natural logarithms) to the power of numexpr.
+
+     numexpr   A numeric expression less than or equal to 88.02969.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If x is a double-precision variable or constant, EXP is
+                calculated in double precision. Otherwise it is calculated
+                in single precision.
+
+                The value of e is approximately 2.718282.
+
+
+See Also: +LOG +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1107b.html b/Microsoft QuickBASIC v3/manual/ng1107b.html new file mode 100644 index 0000000..74bf20b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1107b.html @@ -0,0 +1,63 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+FIELD                    Allocate Space for Random File Variables
+
+ FIELD [#]filenum, fieldwidth AS stringvar [,fieldwidth AS stringvar]...
+
+    Allocates storage for any number of string variables, each of
+    specified character width, to be used in conjunction with a specified
+    random file buffer.
+
+     filenum    The number under which the file was OPENed.
+
+  fieldwidth    The number of character positions to be allotted to
+                stringvar.
+
+   stringvar    A string variable to be used for random access.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Once the random file has been FIELDed, data may be
+                extracted from the random file buffer after a GET
+                statement or placed into the buffer in preparation for a
+                PUT statement.
+
+                A string variable defined by means of the FIELD statement
+                points to a specified position in the random file buffer.
+                It should not thereafter be used as an INPUT variable or
+                on the left side of an assignment statement. Doing either
+                of these things will point the variable name into the
+                string space and remove it from the file buffer.
+
+                Multiple field definitions for a given random file buffer
+                are permitted. Each new FIELD statement starts again at
+                the first character position of the buffer, and all FIELD
+                statements for a given random file are in effect
+                simultaneously. All FIELD definitions are removed when a
+                file is CLOSEd.
+
+                QuickBASIC resets all FIELDed variables to null when the
+                associated file is CLOSEd or RESET. (In interpreted BASIC,
+                such variables retain their last assigned values.)
+
+
+See Also: +GET (File I/O) +LSET +PUT (File I/O) +RSET +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng11727.html b/Microsoft QuickBASIC v3/manual/ng11727.html new file mode 100644 index 0000000..3671f2d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng11727.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+FILES                    Display File Directory
+
+FILES [filespec]
+
+    Displays a directory listing, including all filenames, the name of the
+    directory, and the amount of free space.
+
+    filespec    A string expression that follows DOS file naming
+                conventions. Can contain the wild-card characters * and ?.
+                Defaults to *.*.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the filespec argument is omitted, FILES lists all the
+                files in the current directory.
+
+                No matter what the contents of filespec, the output of the
+                FILES statement always includes a header consisting of the
+                full pathname of the current directory.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng119e5.html b/Microsoft QuickBASIC v3/manual/ng119e5.html new file mode 100644 index 0000000..8b4a2d9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng119e5.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+FIX                      Truncate to Integer
+
+ y = FIX(numexpr)
+
+    Truncates, without rounding, any numeric expression to an integer.
+
+     numexpr    A numeric expression.
+
+
+See Also: +CINT +INT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng11abb.html b/Microsoft QuickBASIC v3/manual/ng11abb.html new file mode 100644 index 0000000..0d22149 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng11abb.html @@ -0,0 +1,88 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+FOR                      Begin Definition of FOR/NEXT Loop
+
+ FOR counter = start TO end [STEP increment]
+ .
+ . [statements]
+ .
+ [EXIT FOR]
+ NEXT [counter [,counter...]]
+
+    Begins the definition of a FOR/NEXT loop.
+
+     counter    A numeric variable to be used as the loop counter. All
+                numeric types are allowed, but the loop executes fastest
+                if counter is an integer variable.
+
+       start    A numeric expression; the starting value of counter.
+
+         end    A numeric expression; the ending value of counter.
+
+   increment    A numeric expression; the value by which counter is
+                incremented or decremented with each iteration of the
+                loop. Defaults to +1.
+
+   ----------------------------------------------------------------------
+
+      Notes:    BASIC begins processing of the FOR/NEXT block by setting
+                counter equal to start. Then, if increment is positive and
+                counter is not greater than end, the statements between
+                the FOR statement and the NEXT statement are executed.
+                When the NEXT statement is encountered, counter is
+                increased by increment, and the process is repeated.
+                Execution passes to the statement following the NEXT
+                statement if counter is greater than end.
+
+                If increment is negative, execution of the FOR/NEXT loop
+                is terminated whenever counter becomes less than end.
+
+                If increment is 0, execution of the FOR/NEXT loop
+                continues until Ctrl-Break is pressed (unless one of the
+                repeated instructions itself increments counter).
+
+                Note that changes made within the FOR/NEXT loop to counter
+                affect the number of times the loop instructions are
+                executed; changes made to start, end, and increment,
+                however, do not have this effect.
+
+                There must be one and only one NEXT statement for each FOR
+                statement. Inclusion of counter in the NEXT statement is
+                optional; if counter is omitted, its value is assumed to
+                be that of counter in the most recent FOR statement.
+
+                FOR/NEXT loops may be nested within one another. Each FOR
+                must be given a unique counter value and each nested FOR
+                must have its NEXT statement appear within the enclosing
+                FOR-NEXT block.
+
+                Nested loops that have a common termination point may use
+                a single NEXT statement with values of counter matching
+                the values for each FOR statement.
+
+                The loop is skipped completely if start is greater than
+                end and increment is positive, or start is less than end
+                and increment is negative.
+
+
+See Also: +DO +LOOP +NEXT +WEND +WHILE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1250d.html b/Microsoft QuickBASIC v3/manual/ng1250d.html new file mode 100644 index 0000000..f2f0c95 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1250d.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+FRE                      Available Memory
+
+ y = FRE({strexpr | numexpr})
+
+    Returns the number of bytes available in QuickBASIC's string space;
+    optionally forces a defragmentation of the string space.
+
+     strexpr    A dummy argument; the actual value is inconsequential.
+                FRE(strexpr) causes QuickBASIC to clean house on its
+                string data space, then report the amount of free space
+                available.
+
+     numexpr    A dummy argument. If numexpr = -1, QuickBASIC reports the
+                size in bytes of the largest free LNA (large numeric
+                array) entry. If any other value is used, QuickBASIC omits
+                the housecleaning step and reports the amount of free
+                space available.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng127c8.html b/Microsoft QuickBASIC v3/manual/ng127c8.html new file mode 100644 index 0000000..010c09a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng127c8.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+GET                      Read Random File into Buffer                File I/O
+
+ GET [#]filenum [,recnum]
+
+    Transfers a record from a specified random access file into the
+    associated random file buffer.
+
+     filenum    The number under which the file was OPENed.
+
+      recnum    A numeric expression in the range 1 to 16,777,215,
+                specifying the number of the record to be transferred.
+                Defaults to the next record, or record 1 (if no previous
+                record has been read).
+
+   ----------------------------------------------------------------------
+
+      Notes:    After a record has been transferred from disk to the
+                random file buffer, its data may be accessed via INPUT #,
+                LINE INPUT #, or references to variables defined in a
+                FIELD statement.
+
+                If the file associated with filenum is a communications
+                file, then recnum specifies the number of bytes to read.
+
+
+See Also: +OPEN +PUT (File I/O) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng12b5a.html b/Microsoft QuickBASIC v3/manual/ng12b5a.html new file mode 100644 index 0000000..956127a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng12b5a.html @@ -0,0 +1,64 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+GET                      Read Points from Screen                     Graphics
+
+ GET (x1,y1)-(x2,y2),arrayname
+
+    Copies attributes from a specified rectangle within the screen buffer
+    into a specified array.
+
+       x1,y1    Upper left corner of the rectangle to be copied.
+
+       x2,y2    Lower right corner of the rectangle to be copied.
+
+   arrayname    The name of a numeric array.
+
+   ----------------------------------------------------------------------
+
+      Notes:    To determine how large the array must be, use the
+                following formula:
+
+                    4+INT(((x2-x1+1)*bitsperpixel+7)/8)*((y2-y1)+1)
+
+                where bitsperpixel relates to screen mode as follows:
+
+                    Mode      Bitsperpixel
+                    SCREEN 1       2
+                    SCREEN 2       1
+                    SCREEN 7       4
+                    SCREEN 8       4
+                    SCREEN 9       2 (EGA memory = 64K)
+                                   4 (EGA memory > 64K)
+                    SCREEN 10      2
+
+                The amount of memory allocated per array element is as
+                follows:
+
+                    Integer:            2 bytes per element
+                    Single-precision:   4 bytes per element
+                    Double-precision:   8 bytes per element
+
+                The first two bytes returned by the GET statement indicate
+                the horizontal dimension of the screen rectangle, in bits;
+                the second two bytes indicate the vertical dimension. The
+                remainder of the data returned by GET are the attributes
+                for each pixel in the rectangle.
+
+
+See Also: +PUT (Graphics) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng13094.html b/Microsoft QuickBASIC v3/manual/ng13094.html new file mode 100644 index 0000000..67d4d0b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng13094.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+GOSUB                    Execute Subroutine
+
+ GOSUB {linenum1 | linelabel1}
+ .
+ . [statements]
+ .
+ RETURN [{linenum2 | linelabel2}]
+
+    Causes program execution to branch to the specified line number or
+    line label; when the RETURN statement is encountered, execution
+    branches to the statement immediately following the most recent GOSUB
+    statement--or to a specified line number or line label.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If RETURN linenumber2 or linelabel2 is used, the return
+                must be made to a statement in the calling routine--i.e.,
+                the main program or the subroutine from which the current
+                subroutine was called.
+
+                Subroutines may be called any number of times, from any
+                number of different points in a program. They may be
+                nested, and they may have multiple RETURN statements.
+
+
+See Also: +DEF FN +RETURN +SUB...END SUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng13449.html b/Microsoft QuickBASIC v3/manual/ng13449.html new file mode 100644 index 0000000..946b9ca --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng13449.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+GOTO                     Unconditional Branch
+
+ GOTO {linenum | linelabel}
+
+    Causes program execution to branch to a specified line.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The target of the GOTO must be at the same program level.
+                That is, you cannot GOTO a subprogram, subroutine, or
+                multiline function definition.
+
+
+See Also: +EXIT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng135de.html b/Microsoft QuickBASIC v3/manual/ng135de.html new file mode 100644 index 0000000..e8c2de5 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng135de.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+HEX$                     Hexadecimal Value, as String
+
+ s$ = HEX$(numexpr)
+
+    Returns, as a string, the hexadecimal value of its argument.
+
+   --------------------------------------------------------------------------
+
+     numexpr    A numeric expression in the range -32768 to 32767.
+
+      Notes:    If numexpr is negative, HEX$ returns a two's complement
+                value.
+
+                Any fractional portion of numexpr is rounded before
+                creation of the string.
+
+
+See Also: +OCT$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng137c6.html b/Microsoft QuickBASIC v3/manual/ng137c6.html new file mode 100644 index 0000000..cacac09 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng137c6.html @@ -0,0 +1,89 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+IF                       Conditional Branch
+
+ 1. Block syntax
+
+    IF expression THEN
+       statement1
+       [statement2]
+       .
+       .
+       .
+    [ELSEIF expression THEN
+       statement10
+       [statement11]
+       .
+       .
+       .
+    [ELSE
+       statement15
+       [statement16]]
+       .
+       .
+       .
+    ENDIF
+
+
+ 2. Single-line syntax (three variants)
+
+    IF expression THEN statement1 [ELSE statement2]
+
+    Causes QuickBASIC to make a decision based on the value of an
+    expression.
+
+  expression    A numeric expression; 0 is equivalent to FALSE, while all
+                other values are equivalent to TRUE.
+
+   statement    Any legal statement.  The single-line mode's statement can
+                be just a line number or line label.  This is equivalent
+                to a GOTO statement with the specified label.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Each expression in the IF/ELSEIF construct is tested in
+                order.  As soon as an expression is found to be TRUE, then
+                its corresponding statements are executed.  If no
+                expressions are TRUE, then the statements following the
+                ELSE keyword are executed.  If ELSE is not specified, then
+                execution continues with the statement following the ENDIF
+                or the single-line IF statement.
+
+                The only difference between QuickBASIC's one-line
+                construct and that of interpreted BASIC is that QuickBASIC
+                allows the use of labels as well as numbered lines.
+
+                In the block construct, the following rules apply:
+
+                    IF, ELSE, ELSEIF, and ENDIF must all be the first
+                    keywords on their respective lines.
+
+                    THEN must be the last keyword on its line; if anything
+                    other than a comment follows on the same line with
+                    THEN, QuickBASIC thinks it's reading a single-line
+                    IF/THEN/ELSE construct.
+
+                IF blocks may be nested.
+
+                Do not put a colon before the ELSE keyword.
+
+
+See Also: +ON...GOTO +ON...GOSUB +SELECT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng13f30.html b/Microsoft QuickBASIC v3/manual/ng13f30.html new file mode 100644 index 0000000..896e17a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng13f30.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+IMP                      Implication Operator
+
+ exp1 IMP exp2
+
+    IMP is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 IMP exp2
+                       1    1             1
+                       1    0             0
+                       0    1             1
+                       0    0             1
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +AND +EQV +NOT +OR +XOR +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng141ee.html b/Microsoft QuickBASIC v3/manual/ng141ee.html new file mode 100644 index 0000000..19801b2 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng141ee.html @@ -0,0 +1,64 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INKEY$                   Most Recent Character at Keyboard
+
+s$ = INKEY$
+
+    Returns, without echo, the character most recently entered into the
+    keyboard buffer, or a null string if no character is pending.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The system variable INKEY$ must be assigned to an ordinary
+                string variable before it can be used in a BASIC
+                statement.
+
+                If the most recent character is one of the 255 IBM ASCII
+                characters, INKEY$ returns that character only. If the
+                most recent character is a "special" character--a function
+                key or a cursor keypress, for example--INKEY$ returns a
+                two-byte string; the first byte is 00h, and the second
+                byte is the extended code corresponding to the key
+                pressed.
+
+                If a key defined with the KEY statement is pressed, then
+                INKEY$ will return with the sequence of characters mapped
+                to the key as if the characters had been entered
+                independently.
+
+                Cursor control keys, such as TAB and BACKSPACE, will be
+                returned to INKEY$ without processing (in "raw" mode).
+
+                The following keys have special functions and will not be
+                returned through INKEY$:
+
+                    Ctrl-Break          Terminates the program unless the
+                                        Keyboard break option in the
+                                        Options menu was turned off.
+                    Ctrl-Alt-Del        Resets the computer system.
+                    Ctrl-NumLock        Suspends the system.
+                    Shift-PrtScrn       Prints the current screen display.
+
+
+See Also: +INPUT +INPUT # +INPUT$ +LINE INPUT +LINE INPUT # +Keyboard Codes +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng147de.html b/Microsoft QuickBASIC v3/manual/ng147de.html new file mode 100644 index 0000000..d62fc56 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng147de.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INP                      Read from an I/O Port
+
+ y = INP(port)
+
+    Returns a byte from a specified I/O port.
+
+        port    A numeric expression in the range 0 to 65535, specifying
+                the port to read.
+
+
+See Also: +OUT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng148c5.html b/Microsoft QuickBASIC v3/manual/ng148c5.html new file mode 100644 index 0000000..09aa02b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng148c5.html @@ -0,0 +1,85 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INPUT                    Get Input from Keyboard
+
+INPUT[;]["prompt" {; | ,}] variable [,variable]...
+
+    Assigns input from the keyboard to one or more string or numeric
+    variables.
+
+           ;    If a semicolon is included directly after the INPUT
+                keyword, QuickBASIC does not issue a carriage return/line
+                feed after receiving the user's input.
+
+      prompt    A string constant supplying a prompt to guide the user.
+
+    variable    The name of a variable (string or numeric) that will
+                receive input.
+
+   ----------------------------------------------------------------------
+
+      Notes:    A prompt may be included in the INPUT statement to guide
+                the user; if included, it must be a string constant,
+                enclosed within quote marks.
+
+                If a prompt is included, it must be followed by either a
+                semicolon or a comma (outside the quotes, before the first
+                variable name). If it's followed by a semicolon,
+                QuickBASIC displays a question mark after the prompt
+                string. If it's followed by a comma, QuickBASIC suppresses
+                the question mark.
+
+                If no prompt is included, QuickBASIC displays a question
+                mark.
+
+                If more than one variable is included in the INPUT
+                statement, the user must enter values for all variables,
+                separated by commas. If only one variable is included in
+                the INPUT statement, the user has the option of simply
+                pressing the Enter key; QuickBASIC interprets that action
+                as 0 (for numeric variables) or null (for string
+                variables).
+
+                If the user enters too few or too many values in response
+                to an INPUT statement, QuickBASIC displays a ?Redo from
+                Start error message; no values are assigned to variables
+                until satisfactory input is received.
+
+                If the user enters a comma in response to an INPUT
+                statement, BASIC displays a ?Redo from Start error
+                message. You can avoid this irritation by using LINE
+                INPUT, instead of INPUT.
+
+                Input for a string variable need not be enclosed in quote
+                marks. String input that is enclosed within quotes is
+                handled as though it were not (QuickBASIC ignores the
+                quotes).
+
+                Input to a numeric variable must be numeric.
+
+                Editing keystrokes are active during response to INPUT. To
+                receive such keystrokes as part of an input string, use
+                INKEY$.
+
+
+See Also: +INKEY$ +INPUT # +INPUT$ +LINE INPUT +LINE INPUT # +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng151dd.html b/Microsoft QuickBASIC v3/manual/ng151dd.html new file mode 100644 index 0000000..61003cf --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng151dd.html @@ -0,0 +1,62 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INPUT #                  Get Input from Sequential File or Device
+
+INPUT #filenum, variable [,variable]...
+
+    Receives input from a sequential file or device and assigns it to one
+    or more numeric or string variables.
+
+     filenum    The number under which the input file was OPENed. It may
+                refer to a disk file, a communications file, or the
+                keyboard (KYBD:).
+
+    variable    The name of a variable (string or numeric) that will
+                receive input.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The input data must match in type the variable(s) in the
+                INPUT # statement.
+
+                String input need not be enclosed within quote marks,
+                unless it contains one or more line feeds or carriage
+                returns or a significant quote mark or comma.
+
+                When receiving string input, QuickBASIC looks for the
+                first character other than a space, line feed, or carriage
+                return. If that character is a quote mark, QuickBASIC
+                considers the string to be everything from the character
+                following the quote mark up to the next quote mark. If the
+                first character is not a quote mark, QuickBASIC terminates
+                the string when it encounters a line feed, a carriage
+                return, or a comma--or when it has received 255
+                characters.
+
+                When receiving numeric input, QuickBASIC ignores leading
+                carriage returns, line feeds, and spaces, and it
+                terminates the input when it encounters a carriage return,
+                a line feed, or a comma.
+
+
+See Also: +INKEY$ +INPUT +INPUT$ +LINE INPUT +LINE INPUT # +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng157f1.html b/Microsoft QuickBASIC v3/manual/ng157f1.html new file mode 100644 index 0000000..fae9531 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng157f1.html @@ -0,0 +1,50 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INPUT$                   Read Specified Number of Characters
+
+ INPUT$(n [,[#]filenum])
+
+    Returns a specified number of characters from a specified sequential
+    file or device, or from the keyboard.
+
+           n    The number of characters to be read. Must be in the range
+                1 to 255.
+
+     filenum    The number under which the input file was OPENed. If
+                omitted, the characters are read from the standard input
+                device (the keyboard, by default). Characters input from
+                the keyboard are not echoed to the screen.
+
+   -----------------------------------------------------------------------
+
+      Notes:    The INPUT$ function terminates when the specified number
+                of characters have been received. It is not necessary to
+                press Enter.
+
+                INPUT$ doesn't allow the inputting of certain special key
+                combinations (for example, function and cursor keys).
+                These keys will return CHR$(0). Use INKEY$ to get around
+                this limitation.
+
+
+See Also: +INKEY$ +INPUT +INPUT # +LINE INPUT +LINE INPUT # +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng15bed.html b/Microsoft QuickBASIC v3/manual/ng15bed.html new file mode 100644 index 0000000..1829727 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng15bed.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INSTR                    Find Substring
+
+ INSTR([start,] stringexp1,stringexp2)
+
+    Returns the character position within a string at which a substring is
+    found.
+
+  stringexp1    The string to be scanned.
+
+  stringexp2    The substring to be searched for.
+
+       start    A numeric expression in the range 1 to 255; an optional
+                offset from which to start searching.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If start is specified, BASIC begins searching at the
+                character at offset start (The first character in the
+                string is at offset 1). Whether or not start is specified,
+                INSTR returns the position at which stringexp2 is found--
+                relative to the first character in the string (not to
+                start).
+
+                If stringexp1 is null or if start is greater than
+                LEN(stringexp1), INSTR returns 0.
+
+                If stringexp2 is null, then INSTR returns 1 (if start was
+                specified, then INSTR returns start.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng15fe6.html b/Microsoft QuickBASIC v3/manual/ng15fe6.html new file mode 100644 index 0000000..9398730 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng15fe6.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+INT                      Next Lower Integer
+
+ y = INT(numexpr)
+
+    Returns the largest integer value less than its argument.
+
+     numexpr   A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    INT rounds everything down to the next lowest integer.
+                Compare this with CINT, which rounds in the conventional
+                manner, and FIX, which simply truncates.
+
+
+See Also: +CINT +FIX +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng161a8.html b/Microsoft QuickBASIC v3/manual/ng161a8.html new file mode 100644 index 0000000..02176be --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng161a8.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+IOCTL                    Send Control String to Device Driver
+
+ IOCTL[#]filenum,stringexpr
+
+    Sends a command string of up to 255 characters to a specified device
+    driver.
+
+     filenum    The number under which the device driver was OPENed.
+
+  stringexpr    A string expression of up to 255 characters; can include
+                multiple commands separated by semicolons.
+
+
+See Also: +IOCTL$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng16339.html b/Microsoft QuickBASIC v3/manual/ng16339.html new file mode 100644 index 0000000..36fc66d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng16339.html @@ -0,0 +1,28 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+IOCTL$                   Read Control String from Device Driver
+
+ s$ = IOCTL$([#]filenum)
+
+    Reads a control string from a specified device driver.
+
+     filenum    The number under which the device driver was OPENed.
+
+
+See Also: +IOCTL +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng16438.html b/Microsoft QuickBASIC v3/manual/ng16438.html new file mode 100644 index 0000000..af3129c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng16438.html @@ -0,0 +1,81 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+KEY                      Set or Display Soft Keys
+
+ KEY {ON | OFF | LIST}
+ KEY n, strexpr
+ KEY n, CHR$(KBflag) + CHR$(scancode)
+
+    Controls the display and contents of the function keys F1 through F10;
+    allows trapping of any scan code in any shift state.
+
+          ON    KEY ON enables the display, on line 25, of current
+                function key settings. Only the first six character
+                assigned to each function key are displayed. If the screen
+                is in an 80-column display mode, all ten function keys are
+                displayed; if it's in a 40-column mode, the first five are
+                displayed. KEY ON is the default setting in BASIC.
+
+         OFF    KEY OFF removes the function key display from line 25,
+                making line 25 available for other purposes. With KEY OFF
+                in effect, a LOCATE 25,n can be used to display other text
+                at the bottom of the screen. Line 25 does not scroll, but
+                it is erased by a CLS statement.
+
+        LIST    KEY LIST displays the current soft key definitions on
+                screen.
+
+  n, strexpr    KEY n, strexpr assigns the string expression strexpr to
+                function key n. n is a numeric expression in the range 1
+                to 10. Only the first 15 characters of strexpr are
+                significant. A null string strexpr deactivates the
+                associated function key.
+
+n, CHR$(KBflag) + CHR$(scancode)
+                The statement KEY n, CHR$(KBflag) + CHR$(scancode) enables
+                your program to trap specified Ctrl keys, Alt keys, and
+                Shifted keys. n is a numeric expression in the range 15 to
+                20 (up to six traps may be in effect at once). KBflag,
+                which must be expressed in hexadecimal, specifies the
+                shift state of the key to be trapped, and scancode
+                specifies which alphanumeric key is to be trapped.
+
+                The following options are available for KBflag:
+
+                    &H40      Caps Lock active
+                    &H20      Num Lock active
+                    &H08      Alt key pressed
+                    &H04      Ctrl key pressed
+                    &H02      Left Shift key pressed
+                    &H01      Right Shift key pressed
+                    &H00      Caps Lock inactive, Num Lock inactive
+
+                These options may be used in additive fashion, to trap
+                combinations of shift states. For example,
+                CHR$(&H08+&H02+&H01) would catch the combination of the
+                Alt key with either (or both) Shift keys.
+
+                Trapped keys do not enter the BIOS keyboard buffer.
+                Therefore, if either Ctrl-Break or Ctrl-Alt-Del is
+                trapped, there will be no way (other than powering down)
+                to break out of an infinite loop.
+
+
+See Also: +KEY(n) +ON KEY +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng16dd7.html b/Microsoft QuickBASIC v3/manual/ng16dd7.html new file mode 100644 index 0000000..e527ef8 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng16dd7.html @@ -0,0 +1,63 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+KEY(n)                   Enable/Disable Key Trapping
+
+ KEY(n) {ON | OFF | STOP}
+
+    Enables or disables the trapping of a specified key via ON KEY(n).
+
+           n    A numeric expression in the range 1 to 20, specifying the
+                key to trap, as follows:
+
+                1-10,30,31    Function keys F1 through F10, F11, F12
+                11            Cursor Up
+                12            Cursor Left
+                13            Cursor Right
+                14            Cursor Down
+                15-25         Keys defined via KEY n, CHR$(KBflag) +
+                                                      CHR$(scancode)
+
+          ON    KEY(n) ON activates trapping. If an ON KEY(n) GOSUB
+                statement has been executed, QuickBASIC checks before
+                executing each statement to see if the specified key has
+                been pressed. If it has, QuickBASIC performs the indicated
+                GOSUB.
+
+         OFF    KEY(n) OFF deactivates trapping.
+
+        STOP    KEY(n) STOP also deactivates trapping, but QuickBASIC
+                continues checking to see if the specified key has been
+                pressed. If it has been pressed, a subsequent KEY(n) ON
+                results in an immediate trap (provided an ON KEY(n)
+                statement with a nonzero line number has been executed).
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the "Checking Between Statements" option is in effect,
+                QB checks for communication activity after each statement.
+                If the "Event Trapping" option is selected, QB checks
+                after each new program line. If neither option is
+                selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +ON KEY +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng17428.html b/Microsoft QuickBASIC v3/manual/ng17428.html new file mode 100644 index 0000000..2efce92 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng17428.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+KILL                     Delete File(s)
+
+ KILL filespec
+
+    Deletes one or more files from disk.
+
+    filespec    A string expression that follows DOS file naming
+                conventions.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Currently open files may not be deleted via KILL.
+
+                This command is equivalent to DOS's DEL (ERASE) command.
+
+
+See Also: +RMDIR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng175c1.html b/Microsoft QuickBASIC v3/manual/ng175c1.html new file mode 100644 index 0000000..4a7c1c4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng175c1.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LBOUND                   Lower Bound of Array Dimension
+
+ LBOUND(array[,dimension])
+
+    Returns the lowest subscript for a given dimension of a given array.
+
+       array    The name of an array.
+
+   dimension    The number of a dimension. The first dimension of an array
+                is 1, the second is 2, and so on. For one-dimensional
+                arrays, this argument can be omitted.
+
+
+See Also: +UBOUND +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng17755.html b/Microsoft QuickBASIC v3/manual/ng17755.html new file mode 100644 index 0000000..60a2178 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng17755.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LEFT$                    Substring at Left
+
+ s$ = LEFT$(stringexpr,n)
+
+    Returns the leftmost n characters of a string.
+
+  stringexpr    A string expression.
+
+           n    A numeric expression in the range 0 to 32767.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If n is larger than LEN(stringepxr), LEFT$ returns the
+                entire string.
+
+                If n is 0, LEFT$ returns a null string.
+
+
+See Also: +MID$ (Function) +RIGHT$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng17947.html b/Microsoft QuickBASIC v3/manual/ng17947.html new file mode 100644 index 0000000..5c4e589 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng17947.html @@ -0,0 +1,26 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LEN                      Length of String
+
+ y = LEN(stringexpr)
+
+    Returns the number of characters in a string, including blanks and
+    nonprinting characters.
+
+  stringexpr    A string expression.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng17a25.html b/Microsoft QuickBASIC v3/manual/ng17a25.html new file mode 100644 index 0000000..758c5ee --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng17a25.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LET                      Assignment
+
+ [LET] variable = expression
+
+    Assigns the value of an expression to a variable.
+
+    variable    A valid variable name.
+
+  expression    The value assigned to variable. expression and variable
+                must match in type.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The keyword LET is optional.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng17bbd.html b/Microsoft QuickBASIC v3/manual/ng17bbd.html new file mode 100644 index 0000000..ca33804 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng17bbd.html @@ -0,0 +1,55 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LINE                     Draw Line or Box
+
+ LINE [[STEP] (x1,y1)] - [STEP] (x2,y2) [,[color] [,B[F]]] [,style]
+
+    Draws a line or a box at specified coordinates, in a specified color.
+
+        STEP    If included, coordinates are relative to last graphics
+                point referenced. If omitted, coordinates are absolute.
+
+       x1,y1    If ,B option is used, x1,y1 and x2,y2 are corner
+       x2,y2    coordinates of a rectangular box; otherwise x1,y1 and
+                x2,y2 are end points of a line.
+
+       color    Specifies color to use . Defaults to 3 in medium
+                resolution, 1 in high resolution.
+
+           B    Tells BASIC to draw a rectangular box instead of a line.
+
+           F    Tells BASIC to fill the box.
+
+       style    Allows you to draw a broken (dashed) line or box (see
+                below).
+
+   ----------------------------------------------------------------------
+
+      Notes:    If STEP is included with x2,y2 but not x1,y1, then x2 and
+                y2 are measured relative to the absolute coordinate pair
+                (x1,y1).
+
+                QuickBASIC treats style as a 16-bit integer mask, plotting
+                the 1 bits and skipping the 0 bits, and repeating the
+                pattern as many times as necessary to create the specified
+                line. Thus a style value of 43690 (AAAAh,
+                1010101010101010b) would produce an evenly dotted line or
+                box, with every other pixel plotted. Note that QuickBASIC
+                ignores the "off" pixels; it does not plot them in the
+                background color.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng18196.html b/Microsoft QuickBASIC v3/manual/ng18196.html new file mode 100644 index 0000000..4d0e4f4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng18196.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LINE INPUT               Read Line from Keyboard, Ignoring Delimiters
+
+ LINE INPUT[;]["prompt";] stringvar
+
+    Assigns a line of keyboard input (up to 255 characters) to a string
+    variable.
+
+           ;    If a semicolon is included directly after the INPUT
+                keyword, QuickBASIC does not issue a carriage return/line
+                feed after receiving the user's input.
+
+      prompt    A string constant supplying a prompt to guide the user.
+
+   stringvar    The name of a string variable that will receive input.
+
+   ----------------------------------------------------------------------
+
+      Notes:    LINE INPUT does not automatically display a question mark.
+                If you want a question mark, include it within a prompt
+                string.
+
+                Unlike INPUT, LINE INPUT ignores all delimiters.
+                Everything entered at the keyboard, including quote marks
+                and commas, is treated as part of the input string.
+
+
+See Also: +INKEY$ +INPUT$ +INPUT +INPUT # +LINE INPUT # +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng18562.html b/Microsoft QuickBASIC v3/manual/ng18562.html new file mode 100644 index 0000000..194d0b7 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng18562.html @@ -0,0 +1,42 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LINE INPUT#              Read Line from File, Ignoring Delimiters
+
+ LINE INPUT # filenum, stringvar
+
+    Assigns a line of input (up to 255 characters) from a sequential file
+    or device to a string variable.
+
+     filenum    The number under which the file was opened.
+
+   stringvar    The name of a string variable that will receive input.
+
+   ----------------------------------------------------------------------
+
+      Notes:    LINE INPUT # treats all commas and quote marks as part of
+                the input string. Input is terminated by a carriage
+                return-line feed pair (the carriage return and line feed
+                are included in the string variable assignment).
+
+
+See Also: +INKEY$ +INPUT$ +INPUT +INPUT # +LINE INPUT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng18851.html b/Microsoft QuickBASIC v3/manual/ng18851.html new file mode 100644 index 0000000..449cd4c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng18851.html @@ -0,0 +1,39 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LOC                      Current File Position
+
+ y = LOC(filenum)
+
+    Returns the record number last read from or written to a specified
+    (open) file.
+
+     filenum    The number under which the file was OPENed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    When a sequential file is opened for input, the first
+                sector is automatically read, so LOC(filenum) for a newly
+                opened sequential file returns 1. LOC(filenum) for a
+                sequential file opened for OUTPUT or APPEND returns the
+                current byte position divided by 128.
+
+                If filenum specifies a communications file, LOC returns
+                the number of characters waiting in the communications
+                buffer. If that number is larger than 255, LOC returns
+                255.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng18b5e.html b/Microsoft QuickBASIC v3/manual/ng18b5e.html new file mode 100644 index 0000000..f4fd005 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng18b5e.html @@ -0,0 +1,58 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LOCATE                   Position the Cursor
+
+ LOCATE [row][,[col][,[cursor][,[start][,stop]]]]
+
+    Sets the size and position of the cursor.
+
+         row    A numeric expression in the range 1 to 25. Sets the row
+                position of the cursor.
+
+         col    A numeric expression in the range 1 to 40 or 1 to 80. Sets
+                the column position of the cursor.
+
+      cursor    A numeric expression. If 1, the cursor is visible; if 0,
+                the cursor is invisible.
+
+       start    A numeric expression in the range 0 to 31. Sets the
+                starting scan line for the cursor.
+
+        stop    A numeric expression in the range 0 to 31. Sets the ending
+                scan line for the cursor. If start is specified and stop
+                is not, stop assumes the value of start.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Cursor scan lines are numbered from 0 (top) to 7 (CGA) or
+                13 (MDA).
+
+                If stop is less than start, a two-part (wraparound) cursor
+                results.
+
+                If the softkey display on line 25 has been turned off (via
+                KEY OFF), you may write to line 25 by means of LOCATE.
+                Line 25 does not scroll in any case.
+
+                Any argument to LOCATE may be omitted. Omitted arguments
+                retain former values.
+
+
+See Also: +CSRLIN +POS +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1905a.html b/Microsoft QuickBASIC v3/manual/ng1905a.html new file mode 100644 index 0000000..8627e15 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1905a.html @@ -0,0 +1,52 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LOCK                     Control File or Record Access
+
+ LOCK [#] filenum [,{record | [start] TO end}]
+ .
+ . [statements]
+ .
+ UNLOCK [#] filenum [,{record | [start] TO end}]
+
+    Make a specified record range or an entire file inaccessible to other
+    users.
+
+     filenum    The number under which the file was OPENed.
+
+      record    The number of a record to be LOCKed or UNLOCKed.
+
+       start    The number of the first record to be LOCKed or UNLOCKed.
+
+         end    The number of the last record to be LOCKed or UNLOCKed.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the file specified by filenum has been opened for
+                random access, you may lock either a single record number
+                (with the record argument) or a range of record numbers.
+                If you specify a range and omit the start argument, all
+                records from the beginning of the file to end are locked.
+
+                If the file specified by filenum was opened for sequential
+                input or output, the entire file is locked.
+
+                LOCK requires DOS 3.0 or later and SHARE.EXE.
+
+                It is important to UNLOCK all LOCKed records before
+                closing the file.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng19504.html b/Microsoft QuickBASIC v3/manual/ng19504.html new file mode 100644 index 0000000..f7bd6c1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng19504.html @@ -0,0 +1,30 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LOF                      Length of File
+
+ y = LOF(filenum)
+
+    Returns the length, in bytes, of a specified file.
+
+     filenum    The number under which the file was OPENed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If filenum specifies a communications file, LOF returns
+                the amount of free space in the communications buffer.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng19695.html b/Microsoft QuickBASIC v3/manual/ng19695.html new file mode 100644 index 0000000..acfd98a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng19695.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LOG                      Natural Logarithm
+
+ y = LOG(n)
+
+    Returns the natural logarithm of a number.
+
+           n    A numeric expression greater than 0.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the argument is a double-precision value, LOG is
+                calculated in double precision; otherwise, it is
+                calculated in single precision.
+
+
+See Also: +EXP +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1982e.html b/Microsoft QuickBASIC v3/manual/ng1982e.html new file mode 100644 index 0000000..420e1c1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1982e.html @@ -0,0 +1,65 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LOOP                     End Definition of DO/LOOP Loop
+
+ 1. DO
+    .
+    . [statements]
+    .
+    .
+    [EXIT DO]
+    LOOP [{WHILE | UNTIL} expression]
+
+2. DO [{WHILE | UNTIL} expression]
+   .
+   . [statements]
+   .
+   .
+   [EXIT DO]
+   LOOP
+
+    Ends the definition of a DO/LOOP loop.
+
+  expression    A numeric expression. Nonzero values are equivalent to
+                TRUE, while zero values are equivalent to FALSE.
+
+       WHILE    Causes execution of the loop as long as expression is
+                TRUE.
+
+       UNTIL    Causes execution of the loop as long as expression is
+                FALSE.
+
+     EXIT DO    An optional means to escape from the loop before its
+                termination.
+
+        LOOP    Terminates the loop construct.
+
+   -----------------------------------------------------------------------
+
+      Notes:    DO...LOOP is a general-purpose looping construct. The
+                optional termination test may be supplied at either the
+                beginning or the end. If no test is supplied, EXIT DO is
+                the only way to break out of the loop.
+
+
+See Also: +DO +FOR +NEXT +WEND +WHILE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng19c46.html b/Microsoft QuickBASIC v3/manual/ng19c46.html new file mode 100644 index 0000000..7d21f39 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng19c46.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LPOS                     Current Position of Print Head
+
+ y = LPOS(n)
+
+    Returns the position of the print head within the printer buffer.
+
+           n    Specifies the printer. The following values are allowed:
+
+                1   LPT1:
+                2   LPT2:
+                3   LPT3:
+
+
+See Also: +POS +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng19d58.html b/Microsoft QuickBASIC v3/manual/ng19d58.html new file mode 100644 index 0000000..3422924 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng19d58.html @@ -0,0 +1,60 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LPRINT                   Output to LPT1:
+
+ LPRINT [exprlist] [; | ,]
+
+    Prints one or more numeric or string expressions at LPT1:.
+
+    exprlist    Numeric and/or string expressions to print. Each
+                expression must be separated from the one after it by
+                either a comma or a semicolon.
+
+           ;    If included at the end of the statement, suppresses the
+                usual carriage return and line feed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    LPRINT with no argument sends a carriage return-line feed
+                pair.
+
+                QuickBASIC divides the output field into zones of 14
+                character positions. If an expression is followed by a
+                comma, QuickBASIC prints the next expression at the
+                beginning of the next zone. If an expression is followed
+                by a semicolon or space character, QuickBASIC prints the
+                next expression directly after the previous one.
+
+                If the last expression in the list to be displayed is
+                followed by a comma, a semicolon, SPC, or TAB, QuickBASIC
+                spaces appropriately and suppresses the carriage return-
+                line feed pair. Otherwise, QuickBASIC issues a carriage
+                return and line feed after executing an LPRINT statement.
+
+                QuickBASIC assumes a maximum line length of 80 characters,
+                unless a different value has been specified by means of a
+                WIDTH "LPT1:" statement. QuickBASIC sends a carriage
+                return-line feed pair when the maximum line length has
+                been reached. Therefore, for example, if you LPRINT an 80-
+                character string (and do not follow the string expression
+                with a semicolon), you will get two carriage return-line
+                feed pairs.
+
+
+See Also: +PRINT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1a3ba.html b/Microsoft QuickBASIC v3/manual/ng1a3ba.html new file mode 100644 index 0000000..98887cc --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1a3ba.html @@ -0,0 +1,123 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LPRINT USING             Formatted Output to LPT1:
+
+ LPRINT USING formatstr; exprlist [; | ,]
+
+    Prints one or more string or numeric expressions, in a specified
+    format, at LPT1:.
+
+   formatstr    A string variable or constant specifying the format in
+                which the data is to be printed (see below).
+
+    exprlist    Numeric and/or string expressions to print. Each
+                expression must be separated from the one after it by
+                either a comma or a semicolon.
+
+           ;    If included at the end of the statement, suppresses the
+                usual carriage return and line feed.
+
+    Formatting options:
+
+    The following symbols may be used in formatstr:
+
+      Symbol    Meaning
+
+           !    Print only the first character of a string expression.
+
+        \  \    Print only the first n characters of a string expression,
+                where n is the number of spaces between the two
+                backslashes. If n is larger than the number of characters
+                in the string expression, BASIC pads the string expression
+                on the right with space characters.
+
+           &    Print a string expression without reformatting it.
+
+           .    Specifies the position of the decimal point in a numeric
+                expression.
+           #    A place-holder. If the numeric expression has more digits
+                to the right of the decimal point than the format string
+                has #s, BASIC rounds. If the numeric expression has more
+                digits to the left of the decimal point than the format
+                string has #s, BASIC prints all the digits to the left of
+                the decimal point and also prints a percent sign (%) to
+                the left of the number. If the numeric expression has
+                fewer digits to the left of the decimal point than the
+                format string has #s, BASIC right-justifies the number;
+                that is, it pads the number on the left with spaces. (But
+                if there are any #s to the left of the decimal point in
+                the format string, QuickBASIC always prints at least one
+                digit--a 0 if necessary--to the left of the decimal
+                point.)
+
+           +    Print a plus or minus sign, as appropriate, to the left of
+                the number. The sign is always printed immediately to the
+                left of the number.
+
+           -    Print a minus sign immediately to the right of a negative
+                number (the minus sign should appear after the place
+                holders in the format string).
+
+          $$    Print a dollar sign immediately to the left of the number.
+                The double dollar sign also acts as a place holder for two
+                additional digits to the left of the decimal point, one of
+                which is the dollar sign itself. The dollar sign cannot be
+                prefixed to a number printed in exponential format.
+
+          **    Fill any leading spaces with asterisks. The double
+                asterisk also acts as a place holder for two additional
+                digits to the left of the decimal point.
+
+         **$    Print a dollar sign immediately to the left of the number,
+                and fill any remaining leading spaces with asterisks. The
+                combination of two asterisks and a dollar sign also acts
+                as a place holder for three additional digits, one of
+                which is the dollar sign.
+
+        ^^^^    Print a number in exponential format. The four carets
+                should appear after all place holders in the format
+                string.
+
+           _    Print next character as a literal. The combination _#, for
+                example, allows you to include a number sign as a literal
+                in your numeric format.
+
+     [other]    Characters other than the foregoing may be included as
+                literals in the format string. Thus, for example, a single
+                dollar sign may be positioned to the left of a series of
+                place holders (#s) to achieve vertically aligned dollar
+                signs, and space characters may be placed at the right
+                side of the format string to achieve horizontal separation
+                between a series of numbers.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC sends a carriage return-line feed pair after
+                the last expression to be printed, unless that expression
+                is followed by a semicolon.
+
+                QuickBASIC assumes a maximum line length of 80 characters,
+                unless a different value has been specified by means of a
+                WIDTH "LPT1:" statement. QuickBASIC sends a carriage
+                return-line feed pair when the maximum line length has
+                been reached.
+
+                Double-precision numbers in IEEE format may have three-
+                digit exponents. To print numbers with three-digit
+                exponents, use five carets instead of four.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1b48a.html b/Microsoft QuickBASIC v3/manual/ng1b48a.html new file mode 100644 index 0000000..57f9d50 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1b48a.html @@ -0,0 +1,42 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+LSET                     Left-Justify Data in Field Variable
+
+ LSET fieldvar = stringexpr
+
+    Left-justifies string data in a specified field of the random buffer,
+    in preparation for a PUT statement. Or left-justifies string data in
+    an ordinary string variable.
+
+    fieldvar    A valid string variable name; specifies the variable into
+                which stringexpr is to be left-justified.
+
+  stringexpr    A string expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If LEN(stringexpr) is less than LEN(fieldvar), fieldvar is
+                padded on the right with space characters.
+
+
+See Also: +MKD$ +MKI$ +MKS$ +PUT (File I/O) +RSET +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1b754.html b/Microsoft QuickBASIC v3/manual/ng1b754.html new file mode 100644 index 0000000..b8d140a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1b754.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MID$                     Substring in Middle                         Function
+
+s$ = MID$(stringexpr,n[,length])
+
+    Returns a specified number of characters from a specified string,
+    beginning at a specified character position.
+
+  stringexpr    A string expression.
+
+           n    A numeric expression in the range 1 to 32767;, specifies
+                the character position from which the substring is to be
+                extracted.
+
+      length    A numeric expression in the range 0 to 32767; specifies
+                the number of characters to return.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If length is omitted, MID$ returns all the characters in
+                the string beginning at character n.
+
+                MID$ may also be used as a statement.
+
+
+See Also: +LEFT$ +MID$ (Statement) +RIGHT$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1ba73.html b/Microsoft QuickBASIC v3/manual/ng1ba73.html new file mode 100644 index 0000000..49fa39e --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1ba73.html @@ -0,0 +1,53 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MID$                     Assign Substring                           Statement
+
+MID$(stringvar,n[,length]) = stringexpr
+
+    Assigns all or some of a string expression to a string variable,
+    beginning at a specified character position within the string
+    variable.
+
+   stringvar    The string variable whose characters will be replaced.
+
+           n    A numeric expression in the range 1 to 255, specifying the
+                position within stringvar where the character replacement
+                is to begin.
+
+      length    A numeric expression in the range 0 to 255, specifying the
+                number of characters from stringexpr that will be used. If
+                length is omitted, all of stringexpr is used.
+
+  stringexpr    The string expression supplying replacement characters for
+                stringvar.
+
+   ----------------------------------------------------------------------
+
+      Notes:    In the syntax shown above, the characters in stringexpr
+                replace length characters in stringvar, beginning at
+                character n.
+
+                In no case will the length of stringvar increase as a
+                result of a MID$ statement. For example, if stringvar is
+                seven characters long, and n is 3 and length is 6, only
+                the first five characters of stringexpr will be assigned
+                to stringvar.
+
+
+See Also: +MID$ (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1bf7e.html b/Microsoft QuickBASIC v3/manual/ng1bf7e.html new file mode 100644 index 0000000..209ab80 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1bf7e.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MKD$                     Convert Double-Precision to String
+
+ s$ = MKD$(doubleexpr)
+
+    Converts a double-precision expression into an 8-byte string, so that
+    it may be LSET or RSET into a random file buffer.
+
+  doubleexpr    A double-precision expression.
+
+
+See Also: +CVD +CVI +CVS +MKI$ +MKS$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c0c5.html b/Microsoft QuickBASIC v3/manual/ng1c0c5.html new file mode 100644 index 0000000..596da98 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c0c5.html @@ -0,0 +1,30 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MKDIR                    Create Subdirectory
+
+ MKDIR pathname
+
+    Creates a new subdirectory.
+
+    pathname    A string expression, of 128 or fewer characters, that
+                follows DOS path naming conventions.
+
+
+See Also: +CHDIR +RMDIR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c1bb.html b/Microsoft QuickBASIC v3/manual/ng1c1bb.html new file mode 100644 index 0000000..4dd11f7 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c1bb.html @@ -0,0 +1,27 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MKDMBF$                  IEEE Double-Precision to MBF String        QB87 only
+
+ MKDMBF$(doubleexpr)
+
+    Converts a IEEE-format double-precision expression into an 8-byte
+    Microsoft Binary Format string, so that it may be LSET or RSET into a
+    random file buffer.
+
+  doubleexpr    A double-precision expression.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c304.html b/Microsoft QuickBASIC v3/manual/ng1c304.html new file mode 100644 index 0000000..4c9a498 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c304.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MKI$                     Convert Integer to String
+
+ s$ = MKI$(intexpr)
+
+    Converts an integer expression into a 2-byte string, so that it may be
+    LSET or RSET into a random file buffer.
+
+     intexpr    An integer expression.
+
+
+See Also: +CVD +CVI +CVS +MKD$ +MKS$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c42b.html b/Microsoft QuickBASIC v3/manual/ng1c42b.html new file mode 100644 index 0000000..ddf48f0 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c42b.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MKS$                     Convert Single-Precision to String
+
+ MKS$(singleexpr)
+
+    Converts a single-precision expression into a 4-byte string, so that
+    it may be LSET or RSET into a random file buffer.
+
+  singleexpr    A single-precision expression.
+
+
+See Also: +CVD +CVI +CVS +MKD$ +MKI$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c568.html b/Microsoft QuickBASIC v3/manual/ng1c568.html new file mode 100644 index 0000000..6434104 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c568.html @@ -0,0 +1,27 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MKSMBF$                  IEEE Single-Precision to MBF String        QB87 only
+
+ MKDMBF$(singleexpr)
+
+    Converts a IEEE-format double-precision expression into an 8-byte
+    Microsoft Binary Format string, so that it may be LSET or RSET into a
+    random file buffer.
+
+  singleexpr    A single-precision expression.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c6b1.html b/Microsoft QuickBASIC v3/manual/ng1c6b1.html new file mode 100644 index 0000000..ca419ac --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c6b1.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MOD                      Modulo Arithmetic Operator
+
+ exp1 MOD exp2
+
+    The MOD operator performs modulo arithmetic. That is, it performs an
+    integer division on its two operands (see \) and returns the
+    remainder. The result is an integer.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +^^ +- +* +/ +\ ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1c816.html b/Microsoft QuickBASIC v3/manual/ng1c816.html new file mode 100644 index 0000000..db4dd48 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1c816.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+NAME                     Rename File
+
+ NAME oldname AS newname
+
+    Renames a disk file.
+
+     oldname    A string expression following the DOS file-naming
+                conventions. Must name an existing file.
+
+     newname    A string expression following the DOS file-naming
+                conventions. May not name an existing file.
+
+   -----------------------------------------------------------------------
+
+      Notes:    A file may be moved from one directory to another as a
+                result of NAME, but it may not be moved from one disk to
+                another.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1ca3c.html b/Microsoft QuickBASIC v3/manual/ng1ca3c.html new file mode 100644 index 0000000..5c66bbe --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1ca3c.html @@ -0,0 +1,84 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+NEXT                     End Definition of FOR/NEXT Loop
+
+ FOR counter = start TO end [STEP increment]
+ .
+ . [statements]
+ .
+ NEXT [counter [,counter...]]
+
+    Terminates the definition of a FOR/NEXT loop.
+
+     counter    A numeric variable to be used as the loop counter. All
+                numeric types are allowed, but the loop executes fastest
+                if counter is an integer variable.
+
+       start    A numeric expression; the starting value of counter.
+
+         end    A numeric expression; the ending value of counter.
+
+   increment    A numeric expression; the value by which counter is
+                incremented or decremented with each iteration of the
+                loop. Defaults to +1.
+
+   ----------------------------------------------------------------------
+
+      Notes:    BASIC begins processing of the FOR/NEXT block by setting
+                counter equal to start. Then, if increment is positive and
+                counter is less than end, the statements between the FOR
+                statement and the NEXT statement are executed. When the
+                NEXT statement is encountered, counter is increased by
+                increment, and the process is repeated. Execution passes
+                to the statement following the NEXT statement if counter
+                is equal to or greater than end.
+
+                If increment is negative, execution of the FOR/NEXT loop
+                is terminated whenever counter becomes equal to or less
+                than end.
+
+                If increment is 0, execution of the FOR/NEXT loop
+                continues until Ctrl-Break is pressed (unless one of the
+                repeated instructions itself increments counter).
+
+                Note that changes made within the FOR/NEXT loop to counter
+                affect the number of times the loop instructions are
+                executed; changes made to start, end, and increment,
+                however, do not have this effect.
+
+                There must be one and only one NEXT statement for each FOR
+                statement. Inclusion of counter in the NEXT statement is
+                optional; if counter is omitted, its value is assumed to
+                be that of counter in the most recent FOR statement.
+
+                FOR/NEXT loops may be nested within one another. Each FOR
+                must be given a unique counter value and each nested FOR
+                must have its NEXT statement appear within the enclosing
+                FOR-NEXT block.
+
+                Nested loops that have a common termination point may use
+                a single NEXT statement with values of counter matching
+                the values for each FOR statement.
+
+
+See Also: +DO +FOR +LOOP +WEND +WHILE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1d3c8.html b/Microsoft QuickBASIC v3/manual/ng1d3c8.html new file mode 100644 index 0000000..8300982 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1d3c8.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+NOT                      Logical NOT Operator
+
+ NOT exp1
+
+    NOT is a logical operator. BASIC converts the operand to an integer
+    (the result of this conversion must lie within the range -32768 to
+    32767, or else an Overflow error occurs), then complements each bit of
+    the result. That is, each resulting 1 bit becomes a 0 bit, and each
+    resulting 0 bit becomes a 1 bit. The result is an integer.
+
+    Bitwise truth table for NOT:
+
+                              exp1   NOT exp1
+                                1       0
+                                0       1
+
+        exp1    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +AND +EQV +IMP +OR +XOR +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1d6a0.html b/Microsoft QuickBASIC v3/manual/ng1d6a0.html new file mode 100644 index 0000000..34ea8f1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1d6a0.html @@ -0,0 +1,28 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OCT$                     Octal Value, as String
+
+ s$ = OCT$(numexpr)
+
+    Returns, as a string, the octal value of its decimal argument.
+
+     numexpr    A numeric expression in the range -32768 to 65535.
+
+
+See Also: +HEX$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1d78d.html b/Microsoft QuickBASIC v3/manual/ng1d78d.html new file mode 100644 index 0000000..e70f974 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1d78d.html @@ -0,0 +1,65 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON COM                   Trap for Communications Activity
+
+ ON COM(n) GOSUB {linenum | linelabel}
+
+    Specifies a subroutine to which QuickBASIC will branch if it detects
+    activity at a specified communications port. The trap must also be
+    turned on by means of a COM(n) ON statement.
+
+           n    A numeric expression. Must be either 1, for COM1:, or 2,
+                for COM2:.
+
+     linenum    The first line of a communications-handling subroutine.
+                Setting linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of a communications-
+                handling subroutine.
+
+   -----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                With communications trapping in effect, QuickBASIC checks
+                for data at the specified communications port. When
+                activity is detected, QuickBASIC branches to the specified
+                subroutine and temporarily suspends trapping (by means of
+                an implicit COM(n) STOP statement). Trapping automatically
+                resumes when a RETURN from the communications-handling
+                subroutine is executed (unless the communications-handling
+                routine explicitly performs a COM(n) OFF or COM(n) STOP).
+
+                All event trapping is temporarily disabled when QuickBASIC
+                is executing an error-handling routine (established via an
+                ON ERROR statement).
+
+                If the "Checking Between Statements" option is in effect,
+                QB checks for communication activity after each statement.
+                If the "Event Trapping" option is selected, QB checks
+                after each new program line. If neither option is
+                selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +COM(n) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1ded6.html b/Microsoft QuickBASIC v3/manual/ng1ded6.html new file mode 100644 index 0000000..777b498 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1ded6.html @@ -0,0 +1,57 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON ERROR                 Enable Error Trapping
+
+ ON ERROR GOTO {linenum | linelabel}
+
+    Enables the trapping of error conditions and specifies the beginning
+    line of an error-trapping routine.
+
+     linenum    The first line of an error-handling routine. Setting
+                linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of an error-handling
+                routine.
+
+   ----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                It is recommended that an ON ERROR GOTO 0 statement be
+                included within an error-handling routine to handle
+                unidentifiable error conditions.
+
+                While an error-handling routine is being executed, error
+                trapping (and all other event trapping) is disabled. If an
+                error occurs during this time, QuickBASIC halts program
+                execution and displays an error message.
+
+                An error-handling routine must end with a RESUME
+                statement.
+
+                When compiling a QuickBASIC program that uses ON ERROR and
+                RESUME, you must use the On Error (/e) and Resume Next
+                (/x) compile options.
+
+
+See Also: +ERL +ERR +ERROR +RESUME +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1e384.html b/Microsoft QuickBASIC v3/manual/ng1e384.html new file mode 100644 index 0000000..4e5f47b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1e384.html @@ -0,0 +1,77 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON KEY                   Trap for Keypress
+
+ ON KEY(n) GOSUB {linenum | linelabel}
+
+    Establishes a subroutine to which QuickBASIC will branch if it detects
+    a specified keypress. The trap must also be turned on by means of a
+    KEY(n) ON statement.
+
+           n    A numeric expression in the range 1 to 20.
+
+     linenum    The first line of a keypress-handling subroutine. Setting
+                linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of a keypress-handling
+                routine.
+
+   ----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                The following keys may be trapped:
+
+                1-10     Function keys F1 through F10
+                11       Cursor Up
+                12       Cursor Left
+                13       Cursor Right
+                14       Cursor Down
+                15-20    Keys defined via KEY n,
+                         CHR$(KBflag)+CHR$(scancode)
+
+                When the keypress is detected, QuickBASIC branches to the
+                specified subroutine and temporarily suspends trapping (by
+                means of an implicit KEY(n) STOP statement). Trapping
+                automatically resumes when a RETURN from the handling
+                subroutine is executed (unless the handler explicitly
+                performs a KEY(n) OFF or KEY(n) STOP).
+
+                The key that produced the trap may not be determined by
+                means of INPUT$ or INKEY$.
+
+                All event trapping is temporarily disabled when QuickBASIC
+                is executing an error-handling routine (established via an
+                ON ERROR statement).
+
+                ON KEY may be used to trap Ctrl-Break and Ctrl-Alt-Del,
+                thereby preventing a user from breaking out of a program.
+
+                If the "Checking Between Statements" option is in effect,
+                QB checks after each statement. If the "Event Trapping"
+                option is selected, QB checks after each new program line.
+                If neither option is selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +KEY(n) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1eb89.html b/Microsoft QuickBASIC v3/manual/ng1eb89.html new file mode 100644 index 0000000..d24a0c6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1eb89.html @@ -0,0 +1,59 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON PEN                   Trap for Light Pen Activity
+
+ ON PEN GOSUB {linenum | linelabel}
+
+    Establishes a subroutine to which QuickBASIC will branch if it detects
+    light pen activity. The trap must also be turned on by means of a PEN
+    ON statement.
+
+     linenum    The first line of a pen-handling subroutine. Setting
+                linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of a pen-handling
+                routine.
+
+   ----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                When activity is detected, QuickBASIC branches to the
+                specified subroutine and temporarily suspends trapping (by
+                means of an implicit PEN STOP statement). Trapping
+                automatically resumes when a RETURN from the handling
+                subroutine is executed (unless the handler explicitly
+                performs a PEN OFF or PEN STOP).
+
+                All event trapping is temporarily disabled when QuickBASIC
+                is executing an error-handling routine (established via an
+                ON ERROR statement).
+
+                If the "Checking Between Statements" option is in effect,
+                QB checks after each statement. If the "Event Trapping"
+                option is selected, QB checks after each new program line.
+                If neither option is selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +PEN (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1f18c.html b/Microsoft QuickBASIC v3/manual/ng1f18c.html new file mode 100644 index 0000000..b9a94ea --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1f18c.html @@ -0,0 +1,55 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON PLAY(n)               Trap for Background Music Remaining
+
+ ON PLAY(queuelimit) GOSUB {linenum | linelabel}
+
+    Establishes a subroutine to which QuickBASIC will branch if fewer than
+    a specified number of notes remain in the background music buffer.     T
+    he trap must also be turned on by means of a PLAY ON statement.
+
+  queuelimit    An integer expression in the range 1 to 32 specifying the
+                number of notes to be trapped.
+
+     linenum    The first line of a music-handling subroutine. Setting
+                linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of a music-handling
+                routine.
+
+   -----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                With trapping in effect, and when QuickBASIC is executing
+                music in the background mode, when the number of notes
+                remaining is fewer than queuelimit, QuickBASIC branches to
+                the specified subroutine and temporarily suspends trapping
+                (by means of an implicit PLAY STOP statement). Trapping
+                automatically resumes when a RETURN from the handling
+                subroutine is executed (unless the handler explicitly
+                performs a PLAY OFF or PLAY STOP).
+
+                All event trapping is temporarily disabled when QuickBASIC
+                is executing an error-handling routine (established via an
+                ON ERROR statement).
+
+
+See Also: +PLAY (Event Trap) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1f736.html b/Microsoft QuickBASIC v3/manual/ng1f736.html new file mode 100644 index 0000000..38a0d84 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1f736.html @@ -0,0 +1,73 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON STRIG(n)              Trap for Specified Joystick Button
+
+ ON STRIG(n) GOSUB {linenum | linelabel}
+
+    Establishes a subroutine to which QuickBASIC will branch if a
+    specified joystick button is pressed. The trap must also be turned on
+    by means of a STRIG(n) ON statement.
+
+           n    A numeric expression indicating the button to be trapped.
+                Must be 0, 2, 4, or 6. The meaning of n is as follows:
+
+                0   button A1
+                2   button B1
+                4   button A2
+                6   button B2
+
+     linenum    The first line of the joystick-handling subroutine.
+                Setting linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of a joystick-handling
+                routine.
+
+   -----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                With trapping in effect, QuickBASIC checks to see if the
+                specified joystick button has been pressed. When the
+                button has been pressed, QuickBASIC branches to the
+                specified subroutine and temporarily suspends trapping (by
+                means of an implicit STRIG(n) STOP statement). Trapping
+                automatically resumes when a RETURN from the handling
+                subroutine is executed (unless the handler explicitly
+                performs a STRIG(n) OFF or STRIG(n) STOP).
+
+                Downstrokes that cause joystick button trapping do not set
+                functions STRIG(0), STRIG(2), STRIG(4), or STRIG(6).
+
+                All event trapping is temporarily disabled when QuickBASIC
+                is executing an error-handling routine (established via an
+                ON ERROR statement).
+
+                If the "Checking Between Statements" option is in effect,
+                QB checks after each statement. If the "Event Trapping"
+                option is selected, QB checks after each new program line.
+                If neither option is selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +STRIG (Statement) +STRIG (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng1ff42.html b/Microsoft QuickBASIC v3/manual/ng1ff42.html new file mode 100644 index 0000000..d8fbaa2 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng1ff42.html @@ -0,0 +1,64 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON TIMER                 Trap for Elapsed Time
+
+ ON TIMER(n) GOSUB {linenum | linelabel}
+
+    Establishes a subroutine to which QuickBASIC will branch if a
+    specified number of seconds have passed. The trap must also be turned
+    on by means of a TIMER ON statement.
+
+           n    A numeric expression in the range 1 to 86,400 (1 second to
+                24 hours).
+
+     linenum    The first line of a timer-handling subroutine. Setting
+                linenum to 0 disables trapping.
+
+   linelabel    A label identifying the first line of a timer-handling
+                routine.
+
+   -----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel} must be defined at the main program
+                level.
+
+                With trapping in effect, QuickBASIC checks to see if the
+                specified number of seconds have elapsed. When the
+                specified amount of time has passed, QuickBASIC branches
+                to the specified subroutine and temporarily suspends
+                trapping (by means of an implicit TIMER STOP statement).
+                Trapping automatically resumes when a RETURN from the
+                handling subroutine is executed (unless the handler
+                explicitly performs a TIMER OFF or TIMER STOP).
+
+                All event trapping is temporarily disabled when QuickBASIC
+                is executing an error-handling routine (established via an
+                ON ERROR statement).
+
+                If the "Checking Between Statements" option is in effect,
+                QB checks after each statement. If the "Event Trapping"
+                option is selected, QB checks after each new program line.
+                If neither option is selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +TIMER (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng20631.html b/Microsoft QuickBASIC v3/manual/ng20631.html new file mode 100644 index 0000000..ab166d6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng20631.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON...GOSUB               Branch to nth Item in Subroutine List
+
+ ON n GOSUB {linenum | linelabel}, [,{linenum | linelabel}]...
+
+    Causes QuickBASIC to branch to one of a list of subroutine starting
+    lines.
+
+           n    A numeric variable in the range 0 to 255. Upon execution
+                of the ON...GOSUB statement, QuickBASIC branches to the
+                nth item in the list of line numbers that follows the
+                keyword GOSUB.
+
+     linenum    The first line number of a subroutine.
+
+   linelabel    A label identifying the first line of a subroutine.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If n is a noninteger numeric value, QuickBASIC rounds n.
+
+                If n is 0 or larger than the number of items in the
+                subroutine list, QuickBASIC continues with the next
+                executable statement.
+
+                If n is negative or larger than 255, an Illegal Function
+                Call error occurs.
+
+
+See Also: +ON...GOTO +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng209fe.html b/Microsoft QuickBASIC v3/manual/ng209fe.html new file mode 100644 index 0000000..e0e4845 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng209fe.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ON...GOTO                Branch to nth Item in Line List
+
+ ON n GOTO {linenum | linelabel}, [,{linenum | linelabel}]...
+
+    Causes QuickBASIC to branch to one of a list of line numbers and/or
+    line labels.
+
+           n    A numeric variable in the range 0 to 255. Upon execution
+                of the ON...GOTO statement, QuickBASIC branches to the nth
+                item in the list of line numbers/line labels that follows
+                the keyword GOTO.
+
+     linenum    A valid line number.
+
+   linelabel    A valid line label.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If n is a noninteger numeric value, QuickBASIC rounds n.
+
+                If n is 0 or larger than the number of items in the line
+                list, QuickBASIC continues with the next executable
+                statement.
+
+                If n is negative or larger than 255, an Illegal Function
+                Call error occurs.
+
+
+See Also: +ON...GOSUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng20da4.html b/Microsoft QuickBASIC v3/manual/ng20da4.html new file mode 100644 index 0000000..32a4441 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng20da4.html @@ -0,0 +1,98 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OPEN                     Allow File or Device I/O
+
+ (1) OPEN filespec [FOR mode] [ACCESS access] [lock] AS [#]filenum [LEN=recl]
+
+ or
+
+ (2) OPEN mode2, [#]filenum, filespec [,recl]
+
+    Makes a file or device available for sequential input, sequential
+    output, or random access (either input or output).
+
+     filespec  A string expression that follows DOS file naming conventions.
+
+     filenum    An integer expression in the range 1 to 255.
+
+        mode    (Syntax 1) One of the following (default is RANDOM):
+
+                INPUT    Sequential input
+                OUTPUT   Sequential output
+                APPEND   Sequential output, beginning at current EOF
+                RANDOM   Random input/output
+
+      access    If included, must be one of the following:
+
+                READ          File is opened for reading only.
+                WRITE         File is opened for writing only.
+                READ WRITE    File is opened for both reading and writing.
+
+        lock    If included, must be one of the following:
+
+                SHARED   Any process may read from or write to the file.
+                LOCK READ     No other process is granted read access to
+                    the file.
+                LOCK WRITE    No other process is granted write access to
+                    the file.
+                LOCK READ WRITE    No other process is granted either read
+                    or write access to the file.
+
+        recl    An integer expression in the range 1 to 32767. Sets the
+                record length for random files and the capacity of the I/O
+                buffer for sequential files. Defaults to 128.
+
+       mode2    (Syntax 2) A string expression that must evaluate to one
+                of the following:
+
+                I   Sequential input
+                O   Sequential output
+                A   Sequential output at EOF
+                R   Random input/output
+
+   ----------------------------------------------------------------------
+
+      Notes:    If a file is opened in RANDOM mode with no ACCESS code
+                specified, QuickBASIC tries to open it for read/write
+                access. If permission is denied, it then tries write-only
+                access, then read-only access.
+
+                The read/write access code can be specified only for files
+                opened for APPEND in RANDOM mode.
+
+                The OPEN statement has additional optional arguments when
+                the device being opened is COM1: or COM2:. See OPEN COM...
+
+                Opening an existing file for sequential output destroys
+                the current file contents; to add to the current file,
+                open it for APPEND (the APPEND mode may be used only for
+                sequential disk files).
+
+                A file that is already open may not be opened for
+                sequential output or append.
+
+                Opening a nonexistent file for APPEND is equivalent to
+                opening it for OUTPUT.
+
+                Disk files and printers may be opened for either
+                sequential or random access. All other standard devices
+                may be opened only for sequential access.
+
+
+See Also: +OPEN "COM... +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng21818.html b/Microsoft QuickBASIC v3/manual/ng21818.html new file mode 100644 index 0000000..256f636 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng21818.html @@ -0,0 +1,101 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OPEN "COM...             Open a Communications File
+
+ OPEN "COMn: [speed] [,parity] [,data] [,stop] [,RS] [,CS[m]] [,DS[m]]
+ [,CD[m]] [,LF] [,BIN] [,ASC]" [FOR mode] AS [#]filenum [LEN=num]
+
+    Opens a communications device for input and output via GET and PUT.
+
+    Required arguments:
+
+           n    A numeric expression. Must be either 1, for COM1:, or 2,
+                for COM2:. An asynchronous adapter must be installed.
+
+     filenum    An integer expression specifying a valid file number.
+
+    Optional arguments (all must be constants):
+
+       speed    Transfer rate, in bits per second. Default: 300. Other
+                legal values: 75, 110, 150, 600, 1200, 1800, 2400, 4800,
+                and 9600.
+
+      parity    Type of parity checking, if any. Default: E, for EVEN.
+                Other legal values: S (SPACE), O (ODD), M (MARK), and N
+                (NONE). parity must be set to N if data is set to 8.
+
+        data    Number of data bits to be transmitted. Default: 7. Other
+                legal values: 5, 6, and 8.
+
+        stop    Number of stop bits. Must be 1 or 2. Default: 2, for 75
+                and 110 bps; 1, for all other transmission rates.
+
+          RS    If included, suppresses RTS (Request to Send). If not
+                included, OPEN "COM..." automatically turns the RTS line
+                on.
+
+         CSm    If included, controls CTS (Clear to Send). m specifies, in
+                milliseconds, the delay before a timeout occurs. Default:
+                1000. Acceptable values: 0 to 65535. If m is 0, the CS
+                argument is ignored. If RTS is suppressed via the RS
+                parameter, the default CS time is 0 milliseconds.
+
+         DSm    If included, controls DSR (Data Set Ready). m specifies,
+                in milliseconds, the delay before a timeout occurs;
+                acceptable values are 0 to 65535. Default: 1000. If m is
+                0, the DS argument is ignored.
+
+         CDm    If included, controls CD (Carrier Detect). m specifies, in
+                milliseconds, the delay before a timeout occurs;
+                acceptable values are 65535. Default: 0. If m is 0, the CD
+                argument is ignored.
+
+          LF    If included, sends a line feed after each carriage return.
+
+     LEN=num    If included, num specifies the maximum number of bytes
+                that can be read from the communications buffer via GET or
+                PUT. Default: 128.
+
+         BIN    Opens the device in binary mode. This argument overrides
+                an LF argument.
+
+         ASC    Opens the device in ASCII mode. Tabs are converted to
+                spaces, carriage returns are issued at the end of each
+                line, Ctrl-Z is read as EOF, and XON/XOFF is enabled.
+
+    FOR mode    mode may be OUTPUT, for sequential output, or INPUT, for
+                sequential input. If this argument is omitted, the device
+                is opened for random access (input and output).
+
+   -----------------------------------------------------------------------
+
+      Notes:    The speed, parity, data, and stop arguments must be
+                presented in that order. Use commas as placeholders for
+                omitted arguments.
+
+                The remaining arguments--RS, CS, DS, CD, LF, BIN, and ASC
+                may be specified in any order.
+
+                Communications devices are opened in binary mode by
+                default, unless an ASC argument is included in the OPEN
+                COM statement.
+
+
+See Also: +COM(n) +ON COM +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng22467.html b/Microsoft QuickBASIC v3/manual/ng22467.html new file mode 100644 index 0000000..db4abe1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng22467.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OPTION BASE              Set Minimum Array Subscript
+
+ OPTION BASE n
+
+    Specifies whether the lowest subscript in all arrays used in a program
+    is 0 or 1.
+
+           n    Must be 0 or 1. The default is 0.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The OPTION BASE statement, if used, must be executed
+                before any arrays are defined or used. Only one OPTION
+                BASE statement per compilation is allowed.
+
+
+See Also: +LBOUND +UBOUND +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2265a.html b/Microsoft QuickBASIC v3/manual/ng2265a.html new file mode 100644 index 0000000..71579dc --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2265a.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OR                       Logical OR Operator
+
+ exp1 OR exp2
+
+    OR is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 OR exp2
+                       1    1             1
+                       1    0             1
+                       0    1             1
+                       0    0             0
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +AND +EQV +IMP +NOT +XOR +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng22914.html b/Microsoft QuickBASIC v3/manual/ng22914.html new file mode 100644 index 0000000..3039261 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng22914.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OUT                      Send Byte to Output Port
+
+ OUT port,data
+
+    Sends one byte of data to a specified output port.
+
+        port    An integer expression in the range 0 to 65535; specifies
+                the port number.
+
+        data    An integer expression in the range 0 to 255; specifies the
+                data byte.
+
+
+See Also: +INP +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng22a5b.html b/Microsoft QuickBASIC v3/manual/ng22a5b.html new file mode 100644 index 0000000..1e216ca --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng22a5b.html @@ -0,0 +1,65 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PAINT                    Fill an Area with a Pattern or Color
+
+ PAINT [STEP] (x,y) [[,color] [,boundary] [,background]]
+
+    Fills an enclosed area on the graphics screen with a specific color or
+    pattern.
+
+        STEP    If included, coordinates are relative to last graphics
+                point referenced (LPR). If omitted, coordinates are
+                absolute.
+
+         x,y    Screen coordinate (column, row) within the area that is to
+                be filled.
+
+       color    A numeric or string expression. If numeric, specifies
+                color to fill area with; if string, specifies a bit
+                pattern to fill the area with. If this argument is
+                omitted, the foreground color will be used.
+
+    boundary    The color of the border of the area to be filled. PAINT
+                stops filling when it reaches this color. If this argument
+                is omitted, then color will be used.
+
+  background    A string expression specifying the background tile slice
+                to skip when checking for termination of the boundary.
+                This allows you to repaint an already painted area.
+
+   --------------------------------------------------------------------------
+
+     Notes:     If color is a string expression, each character (8 bits)
+                in the string represents one scan line. Each character
+                therefore represents the status of 4 pixels in medium-
+                resolution and 8 pixels in high-resolution. The string can
+                be from 1 to 64 bytes long (thus allowing 1 to 64 scan
+                lines vertically).
+
+                Ensure that the area to be filled is completely enclosed,
+                or else "leaking" may destroy the entire drawing.
+
+                background is used to determine the stop condition when
+                filling an already painted area. If an existing pixel is
+                encountered that agrees with the corresponding bit in
+                background, then filling doesn't stop.
+
+
+See Also: +CIRCLE +DRAW +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng23171.html b/Microsoft QuickBASIC v3/manual/ng23171.html new file mode 100644 index 0000000..2283909 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng23171.html @@ -0,0 +1,63 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PALETTE                  Change Color in the Palette
+
+ PALETTE [attribute, color]
+
+    Changes a color in the palette. This statement can be used only with
+    the Enhanced Graphics Adapter (EGA).
+
+   attribute    Represents a color in the palette. The range of values
+                depends on the screen mode (see below).
+
+       color    Actual display color. The range of values depends on the
+                screen mode (see below).
+
+                    Attribute and Color Ranges
+
+           Mode          Monitor        Attribute           Color
+            0            Mono/MDA         N/A                N/A
+                         Mono/EGA         0-15               0-2
+                         Color/CGA        N/A                0-31
+                         Color/EGA        0-31               0-15
+            1            Color/CGA        N/A                0-3
+                         Color/EGA        0-3                0-15
+            2            Color/CGA        N/A                0-1
+                         Color/EGA        0-1                0-15
+            7            Color/EGA        0-15               0-15
+            8            Color/EGA        0-15               0-15
+            9            EGA (64K)        0-3                0-15
+                         EGA (>64K)       0-15               0-63
+           10            Mono/EGA         0-3                0-8
+
+   --------------------------------------------------------------------------
+
+     Notes:     If no arguments are specified, then the palette is set to
+                its predefined default colors.
+
+                Changing the palette  will affect the current screen
+                colors immediately. Text or graphics on the screen will
+                not be destroyed.
+
+
+
+See Also: +COLOR +DRAW +PALETTE USING +SCREEN (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng23637.html b/Microsoft QuickBASIC v3/manual/ng23637.html new file mode 100644 index 0000000..ac5682c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng23637.html @@ -0,0 +1,64 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PALETTE USING            Change Many Colors in the Palette
+
+ PALETTE USING intarray (arrayindex)
+
+    Changes many colors in the palette in a single statement. This
+    statement can be used only with the Enhanced Graphics Adapter (EGA).
+
+    intarray    An integer array that containing the new colors in the
+                palette. The array must consist of at least 16 elements.
+
+  arrayindex    The starting index of intarray of where the new colors
+                begin. Most of the time this value will be 0.
+
+                    Attribute and Color Ranges
+
+           Mode          Monitor        Attribute           Color
+            0            Mono/MDA         N/A                N/A
+                         Mono/EGA         0-15               0-2
+                         Color/CGA        N/A                0-31
+                         Color/EGA        0-31               0-15
+            1            Color/CGA        N/A                0-3
+                         Color/EGA        0-3                0-15
+            2            Color/CGA        N/A                0-1
+                         Color/EGA        0-1                0-15
+            7            Color/EGA        0-15               0-15
+            8            Color/EGA        0-15               0-15
+            9            EGA (64K)        0-3                0-15
+                         EGA (>64K)       0-15               0-63
+           10            Mono/EGA         0-3                0-8
+
+   --------------------------------------------------------------------------
+
+     Notes:     If the value of an array entry is -1, then the paired
+                attribute is not affected. Any other negative value is
+                illegal.
+
+                Changing the palette will affect the current screen colors
+                immediately. Text or graphics on the screen will not be
+                destroyed.
+
+
+
+See Also: +COLOR +DRAW +PALETTE +SCREEN (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng23b74.html b/Microsoft QuickBASIC v3/manual/ng23b74.html new file mode 100644 index 0000000..bcd87c6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng23b74.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PCOPY                    Copy Screen Page
+
+ PCOPY sourcepg,destpg
+
+    Copies one screen page to another.
+
+    sourcepg    An integer expression in the current range of video page
+                options. Specifies the source page.
+
+      destpg    An integer expression in the current range of video page
+                options. Specifies the destination page.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng23cd7.html b/Microsoft QuickBASIC v3/manual/ng23cd7.html new file mode 100644 index 0000000..6296cac --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng23cd7.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PEEK                     Value at Specified Address
+
+ y = PEEK(n)
+
+    Returns the byte at a specified memory offset within the current
+    segment.
+
+           n    A single-precision expression in the range 0 to 1,048,575.
+
+   ----------------------------------------------------------------------
+
+      Notes:    n specifies a decimal offset within the segment specified
+                by the most recent DEF SEG statement. If there has been no
+                DEF SEG statement, the offset is within QuickBASIC's data
+                segment.
+
+
+See Also: +DEF SEG +POKE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng23ef7.html b/Microsoft QuickBASIC v3/manual/ng23ef7.html new file mode 100644 index 0000000..b3d38cd --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng23ef7.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PEN                      Light Pen Status                            Function
+
+ y = PEN(n)
+
+    Returns information about the status of the light pen. For the PEN
+    function to be available, a PEN ON statement must first be executed.
+
+           n    A numeric expression in the range 0 to 9; specifies the
+                kind of information to be returned. Options are as
+                follows:
+
+                0   Returns -1 if light pen has been down since last PEN
+                    function; otherwise returns 0.
+                1   Returns x coordinate of location where pen was most
+                    recently activated.
+                2   Returns y coordinate of location where pen was most
+                    recently activated.
+                3   Returns -1 if pen switch is currently down; otherwise
+                    returns 0.
+                4   Returns x coordinate of last known valid pen location.
+                5   Returns y coordinate of last known valid pen location.
+                6   Returns row position of location where pen was most
+                    recently activated.
+                7   Returns column position of location where pen was most
+                    recently activated.
+                8   Returns row position of last known valid pen location.
+                9   Returns column position of last known valid pen
+                    location.
+
+
+See Also: +PEN (statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2434c.html b/Microsoft QuickBASIC v3/manual/ng2434c.html new file mode 100644 index 0000000..e4886fb --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2434c.html @@ -0,0 +1,54 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PEN                      Enable/Disable Pen Read and Trap           Statement
+
+ PEN {ON | OFF | STOP}
+
+    Enables or disables the PEN function (which returns light pen status
+    information. Also enables or disables trapping of light pen activity.
+
+          ON    Enables reading of the light pen status, via the PEN
+                function, and causes QuickBASIC to check for light pen
+                activity.
+
+         OFF    Disables reading of the light pen status and causes
+                QuickBASIC not to check for light pen activity. This is
+                the default condition.
+
+        STOP    Disables reading of the light pen status and deactivates
+                trapping, but QuickBASIC continues checking to see if the
+                pen has been activated. If it has, a subsequent PEN ON
+                results in an immediate trap (provided an ON PEN statement
+                with a nonzero line number has been executed).
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the "Checking Between Statements" option is in effect,
+                QB checks for light pen activity after each statement. If
+                the "Event Trapping" option is selected, QB checks after
+                each new program line. If neither option is selected, no
+                trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +ON PEN +PEN (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng248ab.html b/Microsoft QuickBASIC v3/manual/ng248ab.html new file mode 100644 index 0000000..2e075ff --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng248ab.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PLAY                     Enable/Disable Music Trap                  Statement
+
+ PLAY {ON | OFF | STOP}
+
+    Enables or disables the ON PLAY trap.
+
+          ON    PLAY ON enables checking of the background music buffer.
+
+         OFF    PLAY OFF disables checking of the background music buffer.
+                This is the default condition.
+
+        STOP    PLAY STOP inhibits trapping. QuickBASIC continues checking
+                the buffer, and if the notes remaining are fewer than
+                specified in the ON PLAY statement, a subsequent PLAY ON
+                results in an immediate trap.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the "Checking Between Statements" option is in effect,
+                QB checks for communication activity after each statement.
+                If the "Event Trapping" option is selected, QB checks
+                after each new program line. If neither option is
+                selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +ON PLAY(n) +Play (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng24ced.html b/Microsoft QuickBASIC v3/manual/ng24ced.html new file mode 100644 index 0000000..6643d2f --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng24ced.html @@ -0,0 +1,25 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PLAY                     Number of Notes in Background Buffer        Function
+
+ y = PLAY(n)
+
+    Returns the number of notes remaining in the background music buffer.
+
+           n    A dummy; can be any value.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng24dc8.html b/Microsoft QuickBASIC v3/manual/ng24dc8.html new file mode 100644 index 0000000..715b939 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng24dc8.html @@ -0,0 +1,119 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PLAY                     Play Music                                 Statement
+
+ PLAY string
+
+    Plays a melody according to instructions specified as a string
+    expression.
+
+      string    A string expression containing one or more commands in the
+                BASIC tune definition language.
+
+    Tune Definition Language
+
+      A to G    Name of a note to play. Case is not significant.
+
+          Nn    Number of a note to play. Notes are numbered from 1,
+                corresponding to the lowest C on a piano, to 84,
+                corresponding to the highest B on a piano. A value of 0
+                for n specifies a rest.
+
+     #, +, -    Sharps and flats. The equivalent symbols # and + tell
+                BASIC to raise the specified note by a half step. The
+                symbol - tells BASIC to lower the specified note by a half
+                step. Only those sharps and flats that correspond to black
+                keys on a piano are valid; i.e., E# and B# are not valid
+                notes. Append these symbols to the notes.
+
+          On    Octave (register) in which to play a letter-named note.
+                Octaves are numbered from 0 (lowest) to 6. The lowest note
+                in each octave is C.  The default is octave 4.
+
+          Ln    Duration of note, as a reciprocal (but see MS, ML, and MN,
+                below). A value of 4 indicates a quarter note, a value of
+                16 indicates a sixteenth note, and so on. All values from
+                1 through 64 are valid. An L command affects all notes
+                that follow, until the next L command. But you may also
+                specify a duration value in conjunction with a note name
+                or number--as, for example, D#4 (a D-sharp quarter note);
+                a duration specified in this manner affects only the note
+                with which it is associated.
+
+          Pn    A rest (pause) of specified duration. The duration is
+                specified in the same manner as for a note--i.e., as a
+                reciprocal. To generate a rest in the current value of L,
+                you may simply indicate a note number of 0.
+
+           .    Appended to a note name or number, or a rest, a dot
+                (period) extends the current duration of the note (or
+                rest) by one half. You may have more than one dot after a
+                note or rest.
+
+          Tn    Tempo, specified as a number of quarter notes per minute.
+                Values of 32 to 255 are valid; the default is 120.
+
+    >A to >G    Increment the octave value by 1 and play the named note.
+                The octave value stays at the increased level. If the
+                current octave is 6, > has no effect.
+
+    <A to <G    Decrement the octave value by 1 and play the named note.
+                The octave value stays at the decreased level. If the
+                current octave is 0, < has no effect.
+
+          MF    Run music in foreground.
+
+          MB    Run music in background. Other program statements may be
+                executed while music is running. Up to 32 notes may be
+                held in the background music buffer at any time.
+
+          ML    Music legato: Notes are played for their full specified
+                duration.
+
+          MS    Music staccato: Notes are played for 3/4 of their
+                specified duration.
+
+          MN    Music normal: Notes are played for 7/8 of their specified
+                duration. This mode is default.
+
+"=" + VARPTR$(var)
+                Get argument from variable. May be used to supply
+                arguments to any of the foregoing commands.
+
+"X" + VARPTR$(stringvar)
+                Execute command sequence stored in a string variable. This
+                command allows you to call "subtunes."
+
+   --------------------------------------------------------------------------
+
+      Notes:    To get arguments or instructions from variables, you must
+                use VARPTR$(var) or VARPTR$(stringvar). QuickBASIC does
+                not support the =variable; and Xstringvar formulations
+                available with the Interpreter.
+
+                Spaces between or within instructions are insignificant.
+
+                Semicolons may be used between commands to enhance
+                readability.
+
+
+See Also: +BEEP +ON PLAY(n) +PLAY (Event Trap) +SOUND +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng25c31.html b/Microsoft QuickBASIC v3/manual/ng25c31.html new file mode 100644 index 0000000..8fd9c8e --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng25c31.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PMAP                     Map Physical Coordinates to World
+
+ y = PMAP(expr,function)
+
+    Converts a specified physical x or y coordinate to its world
+    coordinate value, as defined by the WINDOW statement; or vice versa.
+
+        expr    Specifies the x or y coordinate to be converted.
+
+    function    A value in the range 0 to 3; specifies what the PMAP
+                function is to do, as follows:
+
+                0   Maps world coordinate x to physical coordinate x
+                1   Maps world coordinate y to physical coordinate y
+                2   Maps physical coordinate x to world coordinate x
+                3   Maps physical coordinate y to world coordinate y
+
+
+See Also: +WINDOW +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng25eb4.html b/Microsoft QuickBASIC v3/manual/ng25eb4.html new file mode 100644 index 0000000..25aa772 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng25eb4.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+POINT                    Attribute or Value at Screen Location
+
+ y = POINT({x,y | n})
+
+    Returns the attribute of a specified screen coordinate or coordinate
+    information about the current screen location.
+
+         x,y    Screen coordinates. POINT(x,y) returns the attribute of
+                the screen location specified by the two arguments. The
+                screen coordinates must be given in absolute form (STEP is
+                not allowed). If either coordinate is out of range, POINT
+                returns -1.
+
+           n    Must be 0, 1, 2, or 3. POINT(n) returns the following
+                information about the current screen location:
+
+                If n = 0      the current physical x coordinate.
+                If n = 1      the current physical y coordinate.
+                If n = 2      the current world x coordinate, if WINDOW is
+                    active; otherwise, the current physical x coordinate.
+                If n = 3      the current world y coordinate, if WINDOW is
+                    active; otherwise, the current physical y coordinate.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2627a.html b/Microsoft QuickBASIC v3/manual/ng2627a.html new file mode 100644 index 0000000..fa33c3b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2627a.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+POKE                     Write Byte to Memory
+
+ POKE address,byte
+
+    Writes a specified byte at a specified memory offset within the
+    current segment.
+
+     address    A numeric expression in the range 0 to 1048575; specifies
+                a decimal offset within the segment specified by the most
+                recent DEF SEG statement. If there has been no DEF SEG
+                statement, the offset is within QuickBASIC's data segment.
+
+        byte    A numeric expression in the range 0 to 255; specifies the
+                data to be written at offset address.
+
+
+See Also: +PEEK +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng264a0.html b/Microsoft QuickBASIC v3/manual/ng264a0.html new file mode 100644 index 0000000..df5acd6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng264a0.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+POS                      Current Cursor Column Position
+
+ y = POS(column)
+
+    Returns the column position of the current cursor location.
+
+      column    A dummy. Any numeric or string expression may be used.
+
+
+See Also: +CSRLIN +LPOS +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2659c.html b/Microsoft QuickBASIC v3/manual/ng2659c.html new file mode 100644 index 0000000..0de2cf5 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2659c.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PRESET                   Draw Point on Screen
+
+ PRESET [STEP] (x,y) [,color]
+
+    Plots a point at a specified screen location.
+
+        STEP    If included, coordinates are relative to last graphics
+                point referenced. If omitted, coordinates are absolute.
+
+     x,y  Screen coordinates.
+
+       color    Specifies the attribute of the point to be plotted. If
+                color is omitted, the point is plotted in the background
+                color.
+
+   ----------------------------------------------------------------------
+
+      Notes:    PSET is exactly the same statement, except that it plots
+                by default in the current foreground color.
+
+
+See Also: +PSET +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng267b.html b/Microsoft QuickBASIC v3/manual/ng267b.html new file mode 100644 index 0000000..4da1abd --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng267b.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+*                        Multiplication Operator
+
+ exp1 * exp2
+
+    The * operator performs multiplication. If the expression involves
+    operands of more than one precision, all operands are converted to the
+    same level--that of the highest-precision operand in the expression--
+    before the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +^^ +- +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2682a.html b/Microsoft QuickBASIC v3/manual/ng2682a.html new file mode 100644 index 0000000..278f1aa --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2682a.html @@ -0,0 +1,67 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PRINT                    Display on Screen
+
+ PRINT [exprlist][{, | ;}]
+
+    Displays one or more numeric or string expressions on screen.
+
+    exprlist    Numeric and/or string expressions to print. Each
+                expression must be separated from the one after it by
+                either a comma or a semicolon.
+
+           ;    If included at the end of the statement, suppresses the
+                usual carriage return and line feed.
+
+   -----------------------------------------------------------------------
+
+      Notes:    QuickBASIC divides the screen into zones of 14 character
+                positions. If an expression is followed by a comma,
+                QuickBASIC displays the next expression at the beginning
+                of the next screen zone. If an expression is followed by a
+                semicolon or space character, QuickBASIC displayed the
+                next expression directly after the last expression.
+
+                If the last expression in the list to be displayed is
+                followed by a comma, a semicolon, SPC, or TAB, QuickBASIC
+                spaces appropriately and suppresses its usual carriage
+                return-line feed pair. Otherwise, QuickBASIC issues a
+                carriage return and line feed after executing a PRINT
+                statement.
+
+                QuickBASIC also issues a carriage return and line feed if
+                the display of a list of expressions reaches the character
+                position specified by the most recent WIDTH statement (or
+                column 80, if no WIDTH statement has been executed).
+
+                Numbers are always followed by a space on the right.
+                Positive numbers are preceded by a space, and negative
+                numbers are preceded by a minus sign.
+
+                If no list of expressions is supplied, PRINT just issues a
+                carriage return and line feed.
+
+                Note that QuickBASIC does not allow the use of ? as a
+                synonym for PRINT.
+
+
+See Also: +LPRINT +PRINT # +PRINT USING +PRINT # USING +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng26f10.html b/Microsoft QuickBASIC v3/manual/ng26f10.html new file mode 100644 index 0000000..ac6c9e9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng26f10.html @@ -0,0 +1,50 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PRINT #                  Output to Sequential File
+
+ PRINT #filenum, [exprlist] [;]
+
+    Writes to a specified disk file an image of what would be displayed on
+    screen by a corresponding PRINT statement.
+
+     filenum    The number under which the file was opened for output.
+
+    exprlist    Numeric and/or string expressions to print. Each
+                expression must be separated from the one after it by
+                either a comma or a semicolon.
+
+           ;    If included at the end of the statement, suppresses the
+                usual carriage return and line feed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    PRINT # outputs exactly the same characters that would
+                appear on screen in response to a PRINT statement. Commas
+                between expressions, for example, result in the insertion
+                of space.
+
+                If an expression to be output contains significant quote
+                marks or commas, you should surround it with quote marks
+                by means of CHR$(34); otherwise, when you input these
+                fields, QuickBASIC will interpret the significant commas
+                or quotes as delimiters.
+
+
+See Also: +PRINT +PRINT # USING +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng27378.html b/Microsoft QuickBASIC v3/manual/ng27378.html new file mode 100644 index 0000000..e456450 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng27378.html @@ -0,0 +1,130 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PRINT # USING            Formatted Output to File
+
+ PRINT #filenum, USING strexpr; exprlist[;]
+
+    Writes to a specified disk file an image of what would be displayed on
+    screen by a corresponding PRINT USING statement.
+
+     filenum    The number under which the file was OPENed.
+
+     strexpr    A string variable or constant specifying the format in
+                which the data is to be printed (see below).
+
+    exprlist    Numeric and/or string expressions to print. Each
+                expression must be separated from the one after it by
+                either a comma or a semicolon.
+
+           ;    If included at the end of the statement, suppresses the
+                usual carriage return and line feed.
+
+    Formatting options:
+
+    The following symbols may be used in strexpr:
+
+      Symbol    Meaning
+
+           !    Print only the first character of a string expression.
+
+        \  \    Print only the first n characters of a string expression,
+                where n is the number of spaces between the two
+                backslashes. If n is larger than the number of characters
+                in the string expression, QuickBASIC pads the string
+                expression on the right with space characters.
+
+           &    Print a string expression without reformatting it.
+
+           .    Specifies the position of the decimal point in a numeric
+                expression.
+
+           #    A place-holder. If the numeric expression has more digits
+                to the right of the decimal point than the format string
+                has #s, QuickBASIC rounds. If the numeric expression has
+                more digits to the left of the decimal point than the
+                format string has #s, QuickBASIC prints all the digits to
+                the left of the decimal point and also prints a percent
+                sign (%) to the left of the number. If the numeric
+                expression has fewer digits to the left of the decimal
+                point than the format string has #s, QuickBASIC right-
+                justifies the number; that is, it pads the number on the
+                left with spaces. (But if there are any #s to the left of
+                the decimal point in the format string, QuickBASIC always
+                prints at least one digit--a 0 if necessary--to the left
+                of the decimal point.)
+
+           +    Print a plus or minus sign, as appropriate, to the left of
+                the number. The sign is always printed immediately to the
+                left of the number.
+
+           -    Print a minus sign immediately to the right of a negative
+                number (the minus sign should appear after the place
+                holders in the format string).
+
+          $$    Print a dollar sign immediately to the left of the number.
+                The double dollar sign also acts as a place holder for two
+                additional digits to the left of the decimal point, one of
+                which is the dollar sign itself. The dollar sign cannot be
+                prefixed to a number printed in exponential format.
+
+          **    Fill any leading spaces with asterisks. The double
+                asterisk also acts as a place holder for two additional
+                digits to the left of the decimal point.
+
+         **$    Print a dollar sign immediately to the left of the number,
+                and fill any remaining leading spaces with asterisks. The
+                combination of two asterisks and a dollar sign also acts
+                as a place holder for three additional digits, one of
+                which is the dollar sign.
+
+        ^^^^    Print a number in exponential format. The four carets
+                should appear after all place holders in the format
+                string.
+
+           _    Print next character as a literal. The combination _#, for
+                example, allows you to include a number sign as a literal
+                in your numeric format.
+
+     [other]    Characters other than the foregoing may be included as
+                literals in the format string. Thus, for example, a single
+                dollar sign may be positioned to the left of a series of
+                place holders (#s) to achieve vertically aligned dollar
+                signs, and space characters may be placed at the right
+                side of the format string to achieve horizontal separation
+                between a series of numbers.
+
+   ----------------------------------------------------------------------
+
+      Notes:    PRINT # USING outputs exactly the same characters that
+                would appear on screen in response to a PRINT USING
+                statement. Commas between expressions, for example, result
+                in the insertion of space.
+
+                If an expression to be output contains significant quote
+                marks or commas, you should surround it with quote marks
+                by means of CHR$(34); otherwise, when you input these
+                fields, QuickBASIC will interpret the significant commas
+                or quotes as delimiters.
+
+                Double-precision numbers in IEEE format may have three-
+                digit exponents. To print numbers with three-digit
+                exponents, use five carets instead of four.
+
+
+See Also: +PRINT USING +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng282a.html b/Microsoft QuickBASIC v3/manual/ng282a.html new file mode 100644 index 0000000..1ef9f94 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng282a.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
++                        Addition/Concatenation Operator
+
+    Addition
+
+ exp1 + exp2
+
+    The + operator performs addition. If the expression involves operands
+    of more than one precision, all operands are converted to the same
+    level--that of the highest-precision operand in the expression--before
+    the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+    Concatenation
+
+ str1 + str2
+
+    The + operator also performs concatenation on string expressions. The
+    result is a string composed of str1 followed by str2.
+
+   str1,str2    Any string expression.
+
+
+See Also: +^^ +- +* +/ +\ +MOD +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng28508.html b/Microsoft QuickBASIC v3/manual/ng28508.html new file mode 100644 index 0000000..852d271 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng28508.html @@ -0,0 +1,130 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PRINT USING              Formatted Screen Display
+
+ PRINT USING strexpr; exprlist [;]
+
+    Displays one or more string or numeric expressions, in a specified
+    format, on screen.
+
+     strexpr    A string variable or constant specifying the format in
+                which the data is to be printed (see below).
+
+    exprlist    Numeric and/or string expressions to print. Each
+                expression must be separated from the one after it by
+                either a comma or a semicolon.
+
+           ;    If included at the end of the statement, suppresses the
+                usual carriage return and line feed.
+
+    Formatting options:
+
+    The following symbols may be used in strexpr:
+
+      Symbol    Meaning
+
+           !    Print only the first character of a string expression.
+
+        \  \    Print only the first n characters of a string expression,
+                where n is the number of spaces between the two
+                backslashes. If n is larger than the number of characters
+                in the string expression, QuickBASIC pads the string
+                expression on the right with space characters.
+
+           &    Print a string expression without reformatting it.
+
+           .    Specifies the position of the decimal point in a numeric
+                expression.
+
+           #    A place-holder. If the numeric expression has more digits
+                to the right of the decimal point than the format string
+                has #s, QuickBASIC rounds. If the numeric expression has
+                more digits to the left of the decimal point than the
+                format string has #s, QuickBASIC prints all the digits to
+                the left of the decimal point and also prints a percent
+                sign (%) to the left of the number. If the numeric
+                expression has fewer digits to the left of the decimal
+                point than the format string has #s, QuickBASIC right-
+                justifies the number; that is, it pads the number on the
+                left with spaces. (But if there are any #s to the left of
+                the decimal point in the format string, QuickBASIC always
+                prints at least one digit--a 0 if necessary--to the left
+                of the decimal point.)
+
+           +    Print a plus or minus sign, as appropriate, to the left of
+                the number. The sign is always printed immediately to the
+                left of the number.
+
+           -    Print a minus sign immediately to the right of a negative
+                number (the minus sign should appear after the place
+                holders in the format string).
+
+          $$    Print a dollar sign immediately to the left of the number.
+                The double dollar sign also acts as a place holder for two
+                additional digits to the left of the decimal point, one of
+                which is the dollar sign itself. The dollar sign cannot be
+                prefixed to a number printed in exponential format.
+
+          **    Fill any leading spaces with asterisks. The double
+                asterisk also acts as a place holder for two additional
+                digits to the left of the decimal point.
+
+         **$    Print a dollar sign immediately to the left of the number,
+                and fill any remaining leading spaces with asterisks. The
+                combination of two asterisks and a dollar sign also acts
+                as a place holder for three additional digits, one of
+                which is the dollar sign.
+
+        ^^^^    Print a number in exponential format. The four carets
+                should appear after all place holders in the format
+                string.
+
+           _    Print next character as a literal. The combination _#, for
+                example, allows you to include a number sign as a literal
+                in your numeric format.
+
+     [other]    Characters other than the foregoing may be included as
+                literals in the format string. Thus, for example, a single
+                dollar sign may be positioned to the left of a series of
+                place holders (#s) to achieve vertically aligned dollar
+                signs, and space characters may be placed at the right
+                side of the format string to achieve horizontal separation
+                between a series of numbers.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC sends a carriage return-line feed pair after
+                the last expression in a PRINT USING statement, unless the
+                expression is followed by a semicolon.
+
+                QuickBASIC assumes a maximum line length of 80 characters,
+                unless a different value has been specified by means of a
+                WIDTH statement. QuickBASIC sends a carriage return-line
+                feed pair when the maximum line length has been reached.
+
+                Double-precision numbers in IEEE format may have three-
+                digit exponents. To print numbers with three-digit
+                exponents, use five carets instead of four.
+
+
+See Also: +LPRINT +LPRINT USING +PRINT +PRINT # +PRINT # USING +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng29621.html b/Microsoft QuickBASIC v3/manual/ng29621.html new file mode 100644 index 0000000..5e993e1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng29621.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PSET                     Draw Point on Screen
+
+ PSET [STEP] (x,y) [,color]
+
+    Plots a point at a specified screen location.
+
+        STEP    If included, coordinates are relative to last graphics
+                point referenced. If omitted, coordinates are absolute.
+
+         x,y    Screen coordinates.
+
+       color    Specifies the attribute of the point to be plotted. If
+                color is omitted, the point is plotted in the current
+                foreground color.
+
+   ----------------------------------------------------------------------
+
+      Notes:    PRESET is exactly the same statement, except that it plots
+                by default in the background color.
+
+
+See Also: +PRESET +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng298af.html b/Microsoft QuickBASIC v3/manual/ng298af.html new file mode 100644 index 0000000..3e70fbd --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng298af.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PUT                      Write Record from Random Buffer to File     File I/O
+
+ PUT [#]filenum [,number]
+
+    Writes a specified record from a specified random file buffer to disk.
+
+     filenum    The number under which the file was OPENed.
+
+      number    A numeric expression in the range 1 to 16 megabytes,
+                specifying the number of the record to be transferred.
+                Defaults to the next record, or record 1 (if no previous
+                record has been PUT).
+
+   ----------------------------------------------------------------------
+
+      Notes:    If filenum specifies a communications device, number
+                specifies the number of bytes to write; number in this
+                case may not exceed the value of LEN given when the
+                communications device was OPENed.
+
+
+See Also: +GET (File I/O) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng29bbc.html b/Microsoft QuickBASIC v3/manual/ng29bbc.html new file mode 100644 index 0000000..3279240 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng29bbc.html @@ -0,0 +1,61 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+PUT                      Plot Array Image on Screen                  Graphics
+
+ PUT (x,y), array [,action]
+
+    Transfers data from a numeric array to a specified location within the
+    (graphics) screen buffer.
+
+         x,y    The coordinates of the upper left corner of the screen
+                area that will receive the array image.
+
+       array    A numeric array.
+
+      action    An optional argument that allows you to control the
+                interaction of the incoming data with the data currently
+                in the screen buffer. Must be one of the following:
+
+                PSET     Replaces each screen location with data from the
+                         array.
+
+                PRESET   Replaces current screen values with values that
+                         are complementary to those held in the array. In
+                         medium resolution, a value of 0 in the array
+                         plots an attribute of 3, and vice versa. A value
+                         of 1 in the array plots an attribute of 2, and
+                         vice versa. In high resolution, a value of 0 in
+                         the array plots an attribute of 1, and vice
+                         versa.
+
+                XOR      Array values are XORed with current screen
+                         values. This is the default action.
+
+                OR       Array values are ORed with current screen values.
+
+                AND      Array values are ANDed with current screen
+                         values.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Coordinates outside the current screen or window will
+                produce a runtime error when PUT is executed.
+
+
+See Also: +GET (Graphics) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2a131.html b/Microsoft QuickBASIC v3/manual/ng2a131.html new file mode 100644 index 0000000..246fccd --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2a131.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RANDOMIZE                Reseed Random Number Generator
+
+ RANDOMIZE [expression]   or   RANDOMIZE TIMER
+
+    Supplies a new seed for the pseudo-random number generator.
+
+  expression    A numeric expression; a seed for the random number
+                generator.
+
+       TIMER    If the keyword TIMER is supplied as argument, QuickBASIC
+                gets a new seed from the internal clock.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If no argument is given, QuickBASIC prompts for a number
+                between -32768 and 32767. Each random number seed produces
+                a unique sequence of random numbers, but the same seed
+                always produces the same sequence.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2a3e4.html b/Microsoft QuickBASIC v3/manual/ng2a3e4.html new file mode 100644 index 0000000..65d5874 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2a3e4.html @@ -0,0 +1,43 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+READ                     Assign DATA Items to Variables
+
+ READ variable [,variable]...
+
+    Assigns values in DATA items to specified variables.
+
+    variable    A numeric or string variable, or an array element.
+
+   ----------------------------------------------------------------------
+
+      Notes:    A single READ statement can assign multiple DATA items to
+                multiple variables; or several READ statements can assign
+                the same DATA item to several variables.
+
+                Unless a RESTORE statement is executed, QuickBASIC moves
+                to the next DATA item with each READ assignment. If
+                QuickBASIC runs out of DATA items to READ, an Out of Data
+                error occurs.
+
+                If the variable and the data item do not match in type, a
+                Syntax Error occurs.
+
+
+See Also: +DATA +RESTORE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2a6f2.html b/Microsoft QuickBASIC v3/manual/ng2a6f2.html new file mode 100644 index 0000000..4164280 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2a6f2.html @@ -0,0 +1,43 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+REDIM                    Redimension Array
+
+ REDIM [SHARED] arrayname(subscripts) [arrayname(subscripts)...]
+
+    Changes the size of the dimensions in one or more dynamic arrays.
+
+   arrayname    The name of a dynamic array.
+
+  subscripts    The new dimensions of an array.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Only dynamic arrays may be REDIMensioned. To declare an
+                array dynamic, use a variable in its original DIM
+                statement, or use the $DYNAMIC metacommand.
+
+                The size of array dimensions may be changed via REDIM, but
+                the number of dimensions may not.
+
+                When REDIM is executed, all array elements are
+                reinitialized to 0 (numeric) and null (string).
+
+
+See Also: +DIM +ERASE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2a9f5.html b/Microsoft QuickBASIC v3/manual/ng2a9f5.html new file mode 100644 index 0000000..944a58d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2a9f5.html @@ -0,0 +1,53 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+REM                      Comment or Metacommand
+
+ REM [remark]   or   REM $METACOMMAND: argument
+
+    Adds explanatory commentary to a program listing or issues a compiler
+    metacommand.
+
+      remark    Commentary text, ignored by QuickBASIC.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC does not execute REM statements, but a program
+                may branch to a REM statement; execution continues with
+                the first executable statement following the REM.
+
+                A REM statement must be the last statement in a program
+                line (QuickBASIC ignores everything after the REM
+                keyword).
+
+                A single quote mark (apostrophe) can is equivalent to REM,
+                with the following exceptions:
+
+                    A single quote can be used to attach a comment at the
+                    end of an existing program statement. A REM comment
+                    cannot written this way; it must be in a program
+                    statement by itself.
+
+                    A single quote cannot be used before a metastatement.
+
+
+
+See Also: +$DYNAMIC +$INCLUDE +$STATIC +' +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2ac8.html b/Microsoft QuickBASIC v3/manual/ng2ac8.html new file mode 100644 index 0000000..5036fb7 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2ac8.html @@ -0,0 +1,50 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+-                        Subtraction/Negation Operator
+
+    Subtraction
+
+ exp1 - exp2
+
+    The - operator performs subtraction. If the expression involves
+    operands of more than one precision, all operands are converted to the
+    same level--that of the highest-precision operand in the expression--
+    before the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+
+    Negation
+
+ - exp1
+
+    As a unary operator (placed before a single numeric expression), -
+    performs negation; that is, it reverse the sign of its operand.
+
+        exp1    Any numeric expression.
+
+
+See Also: +^^ +* +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2adfa.html b/Microsoft QuickBASIC v3/manual/ng2adfa.html new file mode 100644 index 0000000..7710f34 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2adfa.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RESET                    Close All Disk Files
+
+ RESET
+
+    Closes all disk files and flushes all buffers.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The difference between RESET and CLOSE (with no file
+                numbers) is that CLOSE closes both disk files and other
+                I/O devices; RESET closes disk files only.
+
+
+See Also: +CLOSE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2af74.html b/Microsoft QuickBASIC v3/manual/ng2af74.html new file mode 100644 index 0000000..5ac5bce --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2af74.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RESTORE                  Reset DATA Item Pointer
+
+ RESTORE [{linenum | linelabel}]
+
+    Resets the DATA item pointer to the first item in the first DATA
+    statement or to the first DATA item in a specified DATA statement.
+
+     linenum    A program line number.
+
+   linelabel    A valid line label.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the statement at {linenum | linelabel} is not a DATA
+                statement, BASIC RESTOREs to the first following DATA
+                statement.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2b195.html b/Microsoft QuickBASIC v3/manual/ng2b195.html new file mode 100644 index 0000000..ead669a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2b195.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RESUME                   Continue after Error Trap
+
+ RESUME [0]   or   RESUME NEXT   or   RESUME {linenum | linelabel}
+
+    Allows program execution to continue after an ON ERROR GOTO routine
+    has run.
+
+           0    RESUME by itself or with the optional dummy argument 0
+                causes the program to continue from the line that produced
+                the error.
+
+        NEXT    RESUME NEXT causes program execution to continue at the
+                line following the line that produced the error.
+
+     linenum    RESUME {linenum | linelabel} causes program execution to
+   linelabel    continue at a specified line number.
+
+   ----------------------------------------------------------------------
+
+      Notes:    All ON ERROR GOTO routines must end with some form of
+                RESUME statement.
+
+                A RESUME that is not part of an error trapping routine
+                produces a RESUME without Error error.
+
+
+See Also: +ON ERROR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2b513.html b/Microsoft QuickBASIC v3/manual/ng2b513.html new file mode 100644 index 0000000..0718de3 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2b513.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RETURN                   Return from Subroutine
+
+ RETURN [{linenum | linelabel}]
+
+    Transfers program execution from a subroutine to the line following
+    the GOSUB, or to another specified line.
+
+     linenum    A program line number.
+
+   linelabel    A valid line label.
+
+   -----------------------------------------------------------------------
+
+      Notes:    {linenum | linelabel}, if used, must refer to a line at
+                the same program level from which the subroutine was
+                called.
+
+
+See Also: +GOSUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2b724.html b/Microsoft QuickBASIC v3/manual/ng2b724.html new file mode 100644 index 0000000..52c0f28 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2b724.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RIGHT$                   Substring at Right
+
+ RIGHT$(strexpr,n)
+
+    Returns the rightmost n characters of a string.
+
+     strexpr    A string expression.
+
+           n    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If n is larger than LEN(strexpr), RIGHT$ returns all of
+                strexpr.
+
+                If n is 0, RIGHT$ returns a null string.
+
+
+See Also: +LEFT$ +MID$ (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2b8f2.html b/Microsoft QuickBASIC v3/manual/ng2b8f2.html new file mode 100644 index 0000000..93e2ca3 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2b8f2.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RMDIR                    Remove Subdirectory
+
+ RMDIR pathname
+
+    Removes a specified subdirectory.
+
+    pathname    A string expression, of 127 or fewer characters, that
+                follows DOS path-naming conventions.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The specified subdirectory must be empty.
+
+
+See Also: +CHDIR +MKDIR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2ba71.html b/Microsoft QuickBASIC v3/manual/ng2ba71.html new file mode 100644 index 0000000..20b71f6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2ba71.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RND                      Random Number
+
+ y = RND[(n)]
+
+    Generates a single-precision random number in the range of 0 to 1.
+
+           n    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If n is omitted or is positive, RND returns the next
+                random number in the current sequence.
+
+                If n is 0, RND returns the last (most recent) random
+                number in the current sequence.
+
+                If n is negative, BASIC uses n to reseed the random number
+                function. The first number in the reseeded random number
+                series is returned.
+
+
+See Also: +RANDOMIZE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2bce4.html b/Microsoft QuickBASIC v3/manual/ng2bce4.html new file mode 100644 index 0000000..599b42f --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2bce4.html @@ -0,0 +1,39 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RSET                     Right-Justify Data in Field Variable
+
+ RSET fieldvar = strexpr
+
+    Right-justifies string data in a specified field of the random buffer,
+    in preparation for a PUT statement. Or right-justifies string data in
+    an ordinary string variable.
+
+    fieldvar    A variable defined in a FIELD statement; specifies the
+                variable into which strexpr is to be right-justified.
+
+     strexpr    A string expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If LEN(strexpr) is less than LEN(fieldvar), then fieldvar
+                is padded on the left with space characters.
+
+
+See Also: +LSET +PUT (File I/O) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2bf9a.html b/Microsoft QuickBASIC v3/manual/ng2bf9a.html new file mode 100644 index 0000000..2545e57 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2bf9a.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+RUN                      Execute Program
+
+ RUN [{linenum | filespec}]
+
+    Executes the current program from the beginning or from a specified
+    line number; or loads a program from disk and runs it.
+
+     linenum    A program line number.
+
+    filespec    A string expression that follows DOS file naming
+                conventions.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If no argument is given, Quick BASIC begins execution at
+                the lowest numbered line. This line must be part of the
+                main program (not in a subprogram or multiline function).
+                Program execution may be started from a specified line
+                number, but not from a specified alphanumeric label.
+
+                If a program is run from disk (RUN filespec), QuickBASIC
+                first erases the program currently in memory. It also
+                closes any files left open by the current program (the
+                Interpreter's ,R option is not supported by QuickBASIC).
+
+
+See Also: +CHAIN +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2c35f.html b/Microsoft QuickBASIC v3/manual/ng2c35f.html new file mode 100644 index 0000000..ea633dd --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2c35f.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SADD                     String Address
+
+ SADD(strexpr)
+
+    Returns the address of a string expression.
+
+     strexpr    A string expression.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Strings may be relocated in memory during program
+                execution, as a result of house-cleaning, opening or
+                closing of files, or allocation of string variables.
+
+
+See Also: +FRE +PEEK +POKE +VARPTR +VARPTR$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2c52c.html b/Microsoft QuickBASIC v3/manual/ng2c52c.html new file mode 100644 index 0000000..f26abd2 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2c52c.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SCREEN                   Character at Specified Location             Function
+
+ y = SCREEN(row,column[,z])
+
+    Returns the ASCII or color information about a specified screen
+    location.
+
+     row,col    Absolute coordinates of a screen location.
+
+           z    If omitted or 0, SCREEN returns the ASCII value of the
+                    character at row,col.
+
+   ---------------------------------------------------------------------
+
+      Notes:    The z argument is valid only in text mode.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2c723.html b/Microsoft QuickBASIC v3/manual/ng2c723.html new file mode 100644 index 0000000..1379be4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2c723.html @@ -0,0 +1,96 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SCREEN                   Set Screen Attributes                      Statement
+
+ SCREEN [mode][,[colorflag]][,[apage]][,[vpage]]
+
+    Sets screen parameters for use by subsequent statements.
+
+        mode    A numeric expression. Must be 0, 1, 2, 7, 8, 9, or 10. See
+                table below.
+
+   colorflag    A numeric expression. Turns color on or off for composite
+                monitors (color is always on for RGB monitors). In text
+                mode, a zero value turns color off; a nonzero value turns
+                color on. Works the opposite way in medium-resolution
+                graphics mode: A zero value turns color on, while a
+                nonzero value turns color off. In screen mode 2, colorflag
+                is irrelevant.
+
+       apage    An integer expression specifying the active screen page
+                (the page written to by statements that output to the
+                screen). Valid only in screen modes 0, 7, 8, 9, and 10.
+                Legal values depend on screen mode (see table below).
+
+       vpage    An integer expression specifying the visual screen page
+                (the page displayed on screen; may be different from the
+                active page). Valid only in screen modes 0, 7, 8, 9, and
+                10. Legal values depend on screen mode (see table below).
+
+    Screen modes:
+
+------------------------------------------------------------------------
+SCREEN 0  | 40 x 25 text | 16 colors, 2 attributes (CGA) | MDA, CGA, EGA
+          | 80 x 25 text | 16 colors, 16 attributes (EGA |
+----------+--------------+-------------------------------+--------------
+SCREEN 1  | 320 x 200    | 16 colors, 4 attributes       | CGA, EGA
+          | 40 x 25 text |                               |
+----------+--------------+-------------------------------+--------------
+SCREEN 2  | 640 x 200    | 16 colors, 2 attributes       | CGA, EGA
+          | 80 x 25 text |                               |
+----------+--------------+-------------------------------+--------------
+SCREEN 7  | 320 x 200    | 16 colors, 16 attributes      | EGA only
+          | 40 x 25 text | 2 pages if 64K on EGA         |
+          |              | 4 pages if 128K on EGA        |
+          |              | 8 pages if 256K on EGA        |
+----------+--------------+-------------------------------+--------------
+SCREEN 8  | 640 x 200    | 16 colors, 16 attributes      | EGA only
+          | 80 x 25 text | 1 page if 64K on EGA          |
+          |              | 2 pages if 128K on EGA        |
+          |              | 4 pages if 256K on EGA        |
+----------+--------------+-------------------------------+--------------
+SCREEN 9  | 640 x 350    | 16 colors, 16 attributes      | EGA only
+          | 80 x 25 text |    if >64K on EGA;            |
+          |   in 8 x 14  | 16 colors, 4 attributes       |
+          |   matrix     |    if 64K on EGA;             |
+          |              | 2 pages if 256K on EGA        |
+----------+--------------+-------------------------------+--------------
+SCREEN 10 | 640 x 350    | 9 pseudo colors, 4 attributes | EGA only
+          | 80 x 25 text | 2 pages if 256K on EGA        |
+          |   in 8 x 14  |                               |
+          |   matrix     |                               |
+------------------------------------------------------------------------
+
+      Notes:    All arguments are optional; omitted parameters retain
+                former values.
+
+                All display pages share a single cursor. Therefore, it's
+                advisable to save cursor position (with POS and CSRLIN)
+                when switching pages.
+
+                If a valid SCREEN statement results in a new display mode,
+                BASIC erases the screen and sets colors to white
+                (foreground) on black (background and border). If a SCREEN
+                statement does not produce a new display mode, BASIC does
+                not erase the screen.
+
+
+See Also: +COLOR +PALETTE +PALETTE USING +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2d400.html b/Microsoft QuickBASIC v3/manual/ng2d400.html new file mode 100644 index 0000000..95fb8b9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2d400.html @@ -0,0 +1,78 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SELECT                   Case Structure
+
+ SELECT CASE expression
+ CASE testlist
+ .
+ . statements
+ .
+ [CASE testlist
+ .
+ . statements
+ .]
+ [CASE ELSE
+ .
+ . statements
+ .]
+ END SELECT
+
+    Compares an expression against one or more values and directs
+    execution flow in accordance with the result.
+
+  expression    An expression of any type.
+
+    testlist    A comma-delimited list of expressions (see further
+                description, below) that test the value of expression.
+
+   -----------------------------------------------------------------------
+
+      Notes:    The elements of a given testlist argument are implicitly
+                ORed. Therefore, the statements following CASE testlist
+                are executed if any member of testlist is true. Following
+                execution of those statements, control passes to the first
+                statement following END SELECT.
+
+                The SELECT CASE structure may include any number of CASE
+                testlist clauses but must include at least one. All CASE
+                testlist clauses must appear before the optional CASE ELSE
+                clause.
+
+                The statements following CASE ELSE are executed if all
+                elements in all CASE testlist clauses are false.
+
+                The testlist argument may include the following kinds of
+                tests: equality, inequality, greater than, less than, and
+                range. Examples of each are as follows:
+
+                    CASE 100
+                    CASE IS = 100
+                    CASE IS <> "Yomama"
+                    CASE IS > -5
+                    CASE IS < 2E15
+                    CASE 5 TO 10
+
+                Note that the = operator is optional for the equality
+                test, and that the keyword IS must be used before any
+                relational operator. In the range test, the smaller of the
+                two values must appear before the keyword TO.
+
+                The SELECT CASE structure is equivalent to a set of nested
+                IF/THEN/ELSE statements but produces more readable source
+                code.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2d59.html b/Microsoft QuickBASIC v3/manual/ng2d59.html new file mode 100644 index 0000000..e69ef72 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2d59.html @@ -0,0 +1,39 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+/                        Division Operator
+
+ exp1 / exp2
+
+    The / operator performs floating-point division. If the expression
+    involves operands of more than one precision, all operands are
+    converted to the same level--that of the highest-precision operand in
+    the expression--before the expression is evaluated.
+
+        exp1    Any numeric expression.
+
+        exp2    Any numeric expression that does not evalute to 0.
+
+
+See Also: +^^ +- +* +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2db1d.html b/Microsoft QuickBASIC v3/manual/ng2db1d.html new file mode 100644 index 0000000..40fe66b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2db1d.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SGN                      Sign of Number
+
+ y = SGN(numexpr)
+
+    Returns the sign of its numeric argument.
+
+     numexpr    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If numexpr is positive, SGN(numexpr) returns 1.
+
+                If numexpr is 0, SGN(numexpr) returns 0.
+
+                If numexpr is negative, SGN(numexpr) returns -1.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2dcc2.html b/Microsoft QuickBASIC v3/manual/ng2dcc2.html new file mode 100644 index 0000000..bc36ee4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2dcc2.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SHARED                   Declare Global Variables
+
+ SHARED varlist
+
+    Declares one or more variables in a subprogram global.
+
+     varlist    A comma-delimited list of valid variable and/or array
+                names; array names should be followed by empty
+                parentheses.
+
+   -----------------------------------------------------------------------
+
+      Notes:    The SHARED statement may be used only within a subprogram,
+                and makes main program variables available only to the
+                current subprogram.
+
+                The SHARED attribute, in contrast, may be used in a COMMON
+                or DIM statement at the main program level to make
+                variables accessible by all subprograms in a module.
+
+                The SHARED statement does not make variables available to
+                library routines or subprograms compiled separately.
+
+
+See Also: +COMMON +DIM +SUB...END SUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2e004.html b/Microsoft QuickBASIC v3/manual/ng2e004.html new file mode 100644 index 0000000..227afc7 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2e004.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SHELL                    Execute DOS Command
+
+ SHELL [commandstr]
+
+    Loads a secondary copy of COMMAND.COM and, optionally, executes an
+    .EXE, .COM, or .BAT program, or an internal DOS command.
+
+  commandstr    A string expression. If omitted, SHELL leaves the user at
+                the DOS command prompt. To return to the QuickBASIC
+                program, the user types EXIT.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the SHELLed program is a batch file, its last statement
+                should be EXIT.
+
+                Parameters may be passed to the SHELLed program in the
+                usual DOS fashion. Any words in commandstr that are
+                separated from the program name by one or more spaces are
+                considered parameters for the SHELLed program.
+
+                It is not advisable to run TSR programs via SHELL. They
+                may cause a crash on return to QuickBASIC.
+
+                After the specified DOS command or program terminates,
+                control is returned to the line following the SHELL
+                statement.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2e3eb.html b/Microsoft QuickBASIC v3/manual/ng2e3eb.html new file mode 100644 index 0000000..c0c423d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2e3eb.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SIN                      Sine
+
+ y = SIN(numexpr)
+
+    Returns the sine of the angle whose value, in radians, is expressed in
+    numexpr.
+
+     numexpr    A numeric expression.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the argument is a double-precision expression, SIN
+                returns a double-precision value. Otherwise single
+                precision is returned.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2e58f.html b/Microsoft QuickBASIC v3/manual/ng2e58f.html new file mode 100644 index 0000000..74278a8 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2e58f.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SOUND                    Sound the Speaker
+
+ SOUND freq,duration
+
+    Sounds the speaker at a specified frequency for a specified length of
+    time.
+
+        freq    A numeric expression in the range 37 to 32767; specifies,
+                in Hertz, the frequency (pitch) of the tone to be sounded.
+
+    duration    A numeric expression in the range 0 to 65535. Specifies
+                the length of time the tone is to be sounded, in units of
+                clock ticks. Each clock tick is 1/18.2 (0.054945054) of a
+                second.
+
+   -----------------------------------------------------------------------
+
+      Notes:    QuickBASIC continues program execution while a tone is
+                being sounded, unless a second SOUND statement is
+                encountered--in which case, QuickBASIC waits until the
+                first tone is finished, then begins executing the second
+                SOUND statement. The MB parameter of the PLAY statement,
+                however, can be used to enable buffering of SOUND
+                statements.
+
+
+See Also: +PLAY (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2e956.html b/Microsoft QuickBASIC v3/manual/ng2e956.html new file mode 100644 index 0000000..c679b45 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2e956.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SPACE$                   String of n Spaces
+
+ s$ = SPACE$(n)
+
+    Returns a string consisting of a specified number of space characters.
+
+           n    A numeric expression in the range 0 to 32767.
+
+
+See Also: +LSET +PRINT USING +RSET +SPC +STRING$ +TAB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2ea77.html b/Microsoft QuickBASIC v3/manual/ng2ea77.html new file mode 100644 index 0000000..b6238b5 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2ea77.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SPC                      Skip n Spaces in a PRINT statement
+
+ PRINT SPC(n)
+
+    Skips a specified number of spaces in a PRINT, LPRINT, or PRINT #
+    statement.
+           n    A numeric expression in the range 0 to 32767.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If n is larger than the width of the output device (as
+                defined by WIDTH), QuickBASIC skips n MOD width spaces.
+
+                If the SPC function is used at the end of a list of items
+                to print, QuickBASIC behaves as though the PRINT statement
+                were terminated with a semicolon; it suppresses the usual
+                carriage return and line feed.
+
+
+See Also: +SPACE$ +TAB +WIDTH +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2ed3b.html b/Microsoft QuickBASIC v3/manual/ng2ed3b.html new file mode 100644 index 0000000..0481552 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2ed3b.html @@ -0,0 +1,26 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SQR                      Square Root
+
+ y = SQR(n)
+
+    Returns the square root of a number.
+
+           n    A positive numeric expression.
+
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2edd5.html b/Microsoft QuickBASIC v3/manual/ng2edd5.html new file mode 100644 index 0000000..93203f9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2edd5.html @@ -0,0 +1,55 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STATIC                   Declare Local Variable(s)
+
+ STATIC varlist
+
+    Declares one or more function or subprogram variables as local and
+    memory-based (as opposed to stack-based).
+
+     varlist    A comma-delimited list of valid variable and/or array
+                names. Array names must be followed by an integer enclosed
+                within parentheses; the integer specifies the number of
+                dimensions in the array.
+
+   -----------------------------------------------------------------------
+
+      Notes:    The STATIC statement may be used only within multiline
+                function definitions and subprograms.
+
+                Variables used within multiline function definitions are
+                global by default. Variables used within subprograms are
+                local by default.
+
+                A STATIC variable is a local variable whose value doesn't
+                change between subprogram CALLs. Ordinary local variables
+                are reinitialized with each CALL. To guarantee that a
+                variable's value will not change between CALLs, declare
+                the variable STATIC.
+
+                The STATIC statement should not be confused with the
+                STATIC attribute of the SUB statement (which indicates
+                that a subprogram is nonrecursive) or the $STATIC
+                metacommand (which statically allocates memory for
+                arrays).
+
+
+See Also: +DEF FN +SHARED +SUB...END SUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2f2ce.html b/Microsoft QuickBASIC v3/manual/ng2f2ce.html new file mode 100644 index 0000000..9e1d23b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2f2ce.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STICK                    Joystick Coordinates
+
+ y = STICK(n)
+
+    Returns the x or y coordinate for joystick A or B.
+
+           n    A numeric expression in the range 0 to 3. Determines what
+                kind of information is returned, as follows:
+
+                0   Returns x coordinate of joystick A. A STICK(0) call
+                    must be performed before STICK(1), STICK(2), or
+                    STICK(3) can be used.
+                1   Returns the y coordinate of joystick A.
+                2   Returns the x coordinate of joystick B.
+                3   Returns the y coordinate of joystick B.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2f41.html b/Microsoft QuickBASIC v3/manual/ng2f41.html new file mode 100644 index 0000000..b46f430 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2f41.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+<                        Less than Operator
+
+ exp1 < exp2
+
+    The operator < is a relational operator. If the value of exp1 is less
+    than that of exp2, the result of exp1 < exp2 is -1; otherwise the
+    result is 0. In IF statements, BASIC regards 0 as equivalent to FALSE
+    and all nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+
+See Also: += +<> +> +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2f4d7.html b/Microsoft QuickBASIC v3/manual/ng2f4d7.html new file mode 100644 index 0000000..733854c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2f4d7.html @@ -0,0 +1,28 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STOP                     Halt Program
+
+ STOP
+
+    Stops program interruption and returns control to DOS or QuickBASIC.
+
+   -----------------------------------------------------------------------
+
+      Notes:    There is no CONT statement in QuickBASIC. Therefore STOP
+                is equivalent to END.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2f606.html b/Microsoft QuickBASIC v3/manual/ng2f606.html new file mode 100644 index 0000000..0d75dd1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2f606.html @@ -0,0 +1,30 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STR$                     String Representation of Numeric Expression
+
+ s$ = STR$(numexpr)
+
+    Returns the character representation of a number.
+
+     numexpr    A numeric expression. If numexpr is positive, the string
+                includes a leading space character (to accommodate a plus
+                sign).
+
+
+See Also: +VAL +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2f749.html b/Microsoft QuickBASIC v3/manual/ng2f749.html new file mode 100644 index 0000000..c0fea46 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2f749.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STRIG                    Enable/Disable the STRIG Function          Statement
+
+ STRIG {ON | OFF | STOP}
+
+    Enables or disables the use of the STRIG(n) function.
+
+          ON    STRIG ON enables joystick trapping.
+
+         OFF    STRIG OFF disables joystick trapping.
+
+        STOP    STRIG STOP inhibits trapping. QuickBASIC continues
+                checking the joysticks, however, and if an event occurs, a
+                subsequent STRIG ON results in an immediate trap.
+
+
+See Also: +STRIG (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2f914.html b/Microsoft QuickBASIC v3/manual/ng2f914.html new file mode 100644 index 0000000..8d55914 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2f914.html @@ -0,0 +1,44 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STRIG                    Status of Joystick Buttons                  Function
+
+ STRIG(n)
+
+    Returns status information about the joystick buttons.
+
+           n    A numeric expression in the range 0 to 3. Determines the
+                kind of information returned, as follows:
+
+                0   Returns -1 if button A has been pressed since the most
+                    recent STRIG(0) call; otherwise, returns 0.
+                1   Returns -1 if button A is currently pressed; otherwise
+                    returns 0.
+                2   Returns -1 if button B has been pressed since the most
+                    recent STRIG(2) call; otherwise returns 0.
+                3   Returns -1 if button B is currently pressed; otherwise
+                    returns 0.
+
+   -------------------------------------------------------------------------
+
+      Notes:    A STRIG ON statement must be executed before the STRIG(n)
+                function can be used.
+
+
+See Also: +STICK +STRIG (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2fc55.html b/Microsoft QuickBASIC v3/manual/ng2fc55.html new file mode 100644 index 0000000..20aac32 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2fc55.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+STRING$                  String of Specified Length and Character
+
+ s$ = STRING$(m,n) or s$ = STRING$(m,stringexpr)
+
+    Returns a string of specified length, whose characters all have the
+    same specified ASCII value.
+
+           m    A numeric expression; specifies the length of the string.
+
+           n    A numeric expression in the range 0 to 255; specifies the
+                ASCII value of the character to be returned m times.
+
+  stringexpr    A string expression. STRING$(m,stringexpr) returns the
+                first character of stringexpr m times.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng2fea2.html b/Microsoft QuickBASIC v3/manual/ng2fea2.html new file mode 100644 index 0000000..67a0b3b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng2fea2.html @@ -0,0 +1,67 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SUB...END SUB            Define Subprogram
+
+ SUB globalname [(parmlist)] STATIC
+ .
+ .
+ .
+ [EXIT SUB]
+ .
+ .
+ .
+ END SUB
+
+    Defines a subprogram.
+
+  globalname    A variable name of 31 or fewer characters. globalname may
+                not appear in any other SUB statement in the same program
+                or in the user library.
+
+    parmlist    One or more simple variables or arrays passed as
+                parameters when the subprogram is CALLed. Names of array
+                variables must be followed by an integer enclosed in
+                parentheses; the integer specifies the number of
+                dimensions in the array. Parameters are passed by
+                reference.
+
+      STATIC    Indicates that the subprogram is nonrecursive. QuickBASIC
+                3.0 does not support recursive subprograms, so the STATIC
+                attribute is mandatory.
+
+    EXIT SUB    Provides optional exit from within a subprogram.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Variables used within subprograms are local unless
+                declared otherwise by means of a SHARED statement.
+                Nevertheless, when a subprogram is exited and later
+                reentered, the value of a local variable may have changed.
+                To guarantee that a variable's value will not change
+                between subprogram CALLs, declare the variable STATIC by
+                means of a STATIC statement (not to be confused with the
+                STATIC attribute of the SUB statement).
+
+                You may not enter or exit a subprogram by means of GOSUB,
+                GOTO, or RETURN.
+
+
+See Also: +CALL +SHARED +STATIC +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng30480.html b/Microsoft QuickBASIC v3/manual/ng30480.html new file mode 100644 index 0000000..74aeabc --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng30480.html @@ -0,0 +1,24 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SWAP                     Exchange the Values of Two Variables
+
+ SWAP var1,var2
+
+    Exchanges the values of two variables. The arguments may be variables
+    of any type, but they must match in type.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3055b.html b/Microsoft QuickBASIC v3/manual/ng3055b.html new file mode 100644 index 0000000..3b5780d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3055b.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+SYSTEM                   Return to Operating System
+
+ SYSTEM
+
+    Closes all open files and returns control to DOS (for standalone EXE
+    programs) or to QuickBASIC (for programs compiled and run from within
+    QB).
+
+
+See Also: +END +STOP +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng30654.html b/Microsoft QuickBASIC v3/manual/ng30654.html new file mode 100644 index 0000000..5a3e141 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng30654.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TAB                      Tab to a Specified Position
+
+ PRINT TAB(column)
+
+    Moves to a specified print position. May be used in conjunction with
+    PRINT, LPRINT, and PRINT #.
+
+      column    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the current print (or screen) position is already to
+                the right of column, TAB moves to position column on the
+                next line.
+
+                If column is larger than the width of output device,
+                TAB(column) moves to column MOD width.
+
+                If column is less than 1, TAB(column) is treated as
+                TAB(1).
+
+                If the TAB function comes at the end of a list of data
+                items in a PRINT statement, BASIC behaves as if the PRINT
+                statement were terminated by a semicolon; it suppresses
+                the usual carriage return and line feed.
+
+
+See Also: +SPACE$ +SPC +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng309ca.html b/Microsoft QuickBASIC v3/manual/ng309ca.html new file mode 100644 index 0000000..9f0d3b3 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng309ca.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TAN                      Tangent
+
+ y = TAN(numexpr)
+
+    Returns the tangent of the angle whose value, in radians, is expressed
+    in numexpr.
+
+     numexpr    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the argument is a double-precision expression, TAN
+                returns a double-precision value. Otherwise single
+                precision is returned.
+
+                If TAN overflows, execution is halted, unless the error is
+                trapped by an error-handling routine.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng30bd9.html b/Microsoft QuickBASIC v3/manual/ng30bd9.html new file mode 100644 index 0000000..eb69528 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng30bd9.html @@ -0,0 +1,28 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TIME$                    Get System Time                             Function
+
+s$ = TIME$
+
+    Returns the current system time, as an eight-character string in the
+    form hh:mm:ss.
+
+
+See Also: +TIME$ (Statement) +TIMER (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng30cb3.html b/Microsoft QuickBASIC v3/manual/ng30cb3.html new file mode 100644 index 0000000..0f3b50f --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng30cb3.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TIME$                    Set System Time                            Statement
+
+ TIME$ = stringexpr
+
+    Sets the current system time.
+
+  stringexpr    A string expression in the form "hh" or "hh:mm" or
+                "hh:mm:ss". Leading 0s may be omitted in any of the three
+                fields.
+
+   ----------------------------------------------------------------------
+
+      Notes:    This command resets the AT system clock in nonvolatile
+                memory when QuickBASIC is run under DOS 3.3.
+
+
+See Also: +TIME$ (Function) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng30e94.html b/Microsoft QuickBASIC v3/manual/ng30e94.html new file mode 100644 index 0000000..74c1173 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng30e94.html @@ -0,0 +1,24 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TIMER                    Number of Seconds since Midnight            Function
+
+y = TIMER
+
+    Returns, in single-precision, the number of seconds that have elapsed
+    since midnight.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng30f52.html b/Microsoft QuickBASIC v3/manual/ng30f52.html new file mode 100644 index 0000000..f21c738 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng30f52.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TIMER                    Enable/Disable Timer Trap                  Statement
+
+ TIMER {ON | OFF | STOP}
+
+    Enables or disables event trapping via ON TIMER.
+
+          ON    Causes QB to check the timer.
+
+         OFF    Causes QB not to check the timer. This is the default
+                condition.
+
+        STOP    Also disables trapping, but QB continues checking. If the
+                specified amount of time has elapsed, a subsequent TIMER
+                ON results in an immediate trap (provided an ON TIMER
+                statement with a nonzero line number has been executed).
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the "Checking Between Statements" option is in effect,
+                QB checks after each statement. If the "Event Trapping"
+                option is selected, QB checks after each new program line.
+                If neither option is selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +ON TIMER +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng31353.html b/Microsoft QuickBASIC v3/manual/ng31353.html new file mode 100644 index 0000000..36571a8 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng31353.html @@ -0,0 +1,27 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TROFF                    Trace Off
+
+ TROFF
+
+    Turns off trace mode.
+
+
+
+See Also: +TRON +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng313b4.html b/Microsoft QuickBASIC v3/manual/ng313b4.html new file mode 100644 index 0000000..245b653 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng313b4.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+TRON                     Trace On
+
+ TRON
+
+    Turns on trace mode.
+
+   ----------------------------------------------------------------------
+
+      Notes:    In trace mode, QuickBASIC produces an animated trace,
+                highlighting each program statement in reverse video as
+                it's executed.
+
+
+See Also: +TROFF +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng314eb.html b/Microsoft QuickBASIC v3/manual/ng314eb.html new file mode 100644 index 0000000..ab902ef --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng314eb.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+UBOUND                   Upper Bound of Array Dimension
+
+ y = UBOUND(array[,dimension])
+
+    Returns the highest subscript for a given dimension of a given array.
+
+       array    The name of an array.
+
+   dimension    The number of a dimension. The first dimension of an array
+                is 1, the second is 2, and so on. For one-dimensional
+                arrays, this argument can be omitted.
+
+
+See Also: +LBOUND +OPTION BASE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng31698.html b/Microsoft QuickBASIC v3/manual/ng31698.html new file mode 100644 index 0000000..dc9a05e --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng31698.html @@ -0,0 +1,54 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+UNLOCK                   Remove File or Record Access Lock
+
+ LOCK [#] filenum [,{record | [start] TO end}]
+ .
+ . [statements]
+ .
+ UNLOCK [#] filenum [,{record | [start] TO end}]
+
+    Removes a previously set file or record lock.
+
+     filenum    The number under which the file was OPENed.
+
+      record    The number of a record to be LOCKed or UNLOCKed.
+
+       start    The number of the first record to be LOCKed or UNLOCKed.
+
+         end    The number of the last record to be LOCKed or UNLOCKed.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the file specified by filenum has been opened for
+                random access, you may lock either a single record number
+                (with the record argument) or a range of record numbers.
+                If you specify a range and omit the start argument, all
+                records from the beginning of the file to end are locked.
+
+                If the file specified by filenum was opened for sequential
+                input or output, the entire file is locked.
+
+                LOCK requires DOS 3.0 or later and SHARE.EXE.
+
+                It is important to UNLOCK all LOCKed records before
+                closing the file.
+
+
+See Also: +LOCK +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng31b33.html b/Microsoft QuickBASIC v3/manual/ng31b33.html new file mode 100644 index 0000000..1dbe87d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng31b33.html @@ -0,0 +1,42 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+VAL                      Numeric Value of a String
+
+ y = VAL(stringexpr)
+
+    Returns the numeric value represented by a string expression.
+
+  stringexpr    A string expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    VAL attempts to extract a number from the first characters
+                of its argument. In doing so, it ignores leading blanks,
+                tabs, and line feeds, and treats a single hyphen as
+                signifying negation. For example, VAL("   -32 Main
+                Street") returns -32.
+
+                If the first character in the argument (or the first
+                character following all space and tab characters) is a
+                letter, VAL returns 0. Thus, for example, VAL("Yomama")
+                returns 0.
+
+
+See Also: +ASC +STR$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng31e18.html b/Microsoft QuickBASIC v3/manual/ng31e18.html new file mode 100644 index 0000000..6cb664a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng31e18.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+VARPTR                   Offset of Variable or Offset of File Buffer
+
+ VARPTR(variable)   or   VARPTR(#filenum)
+
+    Returns the offset address of a variable, or of a file I/O buffer,
+    within the current data segment.
+
+    variable    The name of a string or numeric variable, or an array
+                element.
+
+     filenum    The number under which a file was OPENed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The offset returned is a single-precision value in the
+                range 0 to 1048575. For variables, the offset is that of
+                the first byte associated with the specified variable.
+
+                If the variable has not yet been used in an assignment
+                statement, an Illegal Function Call error results.
+
+                When using VARPTR with array variables, be aware that
+                array variables are moved in memory every time a new
+                nonarray variable is assigned.
+
+
+See Also: +VARPTR$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng320.html b/Microsoft QuickBASIC v3/manual/ng320.html new file mode 100644 index 0000000..02ab191 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng320.html @@ -0,0 +1,236 @@ + +QuickBASIC 3.0 - Short Entry + + +[^^Up^^] +[Menu] +[About The Guide] +
+
+ *                     Multiplication                         Operator
+ +                     Addition/Concatenation                 Operator
+ -                     Subtraction/Negation                   Operator
+ /                     Division                               Operator
+ <                     Less than                              Operator
+ <=                    Less than or Equal to                  Operator
+ <>                    Not Equal to                           Operator
+ =                     Equal to/Assignment                    Operator
+ >                     Greater than                           Operator
+ >=                    Greater than or Equal to               Operator
+ \                     Integer Division                       Operator
+ ^                     Exponentiation                         Operator
+ $DYNAMIC              Declare Arrays Dynamic
+ $INCLUDE              Include File
+ $STATIC               Declare Arrays Static
+ '                     Comment
+ ABS                   Absolute Value
+ AND                   Logical AND                            Operator
+ ASC                   ASCII Value of First Character
+ ATN                   Arctangent
+ BEEP                  Beep the Speaker
+ BLOAD                 Load Binary (Memory Image) File
+ BSAVE                 Save a Binary (Memory Image) File
+ CALL                  Invoke Subprogram or Assembly Subroutine
+ CALL ABSOLUTE         Invoke Subprogram or Assembly Subroutine
+ CALLS                 Invoke Subprogram or Assembly Subroutine
+ CDBL                  Convert to Double Precision
+ CHAIN                 Transfer to Another Program
+ CHDIR                 Change Directory
+ CHR$                  Convert ASCII Code to Character
+ CINT                  Convert to Integer
+ CIRCLE                Draw Ellipse on Screen
+ CLEAR                 Close Files, Reset Variables, Set Stack Space
+ CLOSE                 Close File or Device
+ CLS                   Clear Screen
+ COLOR                 Set Foreground, Background, and Border Colors
+ COM(n)                Enable/Disable Comm Port Trapping
+ COMMAND$              Get Command Line
+ COMMON                Pass Variables to CHAINed Program or Subprogram
+ CONST                 Declare Symbolic Constant(s)
+ COS                   Cosine
+ CSNG                  Convert to Single Precision
+ CSRLIN                Line Position of Cursor
+ CVD                   Convert String to Double-Precision
+ CVDMBF                Convert MBF Double-Precision String to IEEE
+ CVI                   Convert String to Integer
+ CVS                   Convert String to Single Precision
+ CVSMBF                Convert MBF Single-Precision String to IEEE
+ DATA                  Store Constant(s) for Retrieval via READ
+ DATE$                 Get or Set System Date
+ DEF FN                Define Function
+ DEF SEG               Define Segment
+ DEFDBL                Define Variable(s) as Double Precision
+ DEFINT                Define Variable(s) as Integer
+ DEFSNG                Define Variable(s) as Single Precision
+ DEFSTR                Define Variable(s) as String
+ DIM                   Dimension Array(s)
+ DO                    Begin Definition of DO/LOOP Loop
+ DRAW                  Draw Object
+ END                   Terminate Program
+ ENVIRON               Modify Environment Table
+ ENVIRON$              Environment Table Entry
+ EOF                   End of File Status
+ EQV                   Equivalence                            Operator
+ ERASE                 Reset Static Array or Deallocate Dynamic Array
+ ERDEV                 Critical Error Code
+ ERDEV$                Device Causing Critical Error
+ ERL                   Line Number of Most Recent Error
+ ERR                   Error Number
+ ERROR                 Force Error
+ EXIT                  Exit Multiline Function, Loop, or Subprogram
+ EXP                   Exponent (Natural)
+ FIELD                 Allocate Space for Random File Variables
+ FILES                 Display File Directory
+ FIX                   Truncate to Integer
+ FOR                   Begin Definition of FOR/NEXT Loop
+ FRE                   Available Memory
+ GET (File I/O)        Read Random File into Buffer
+ GET (Graphics)        Read Points from Screen
+ GOSUB                 Execute Subroutine
+ GOTO                  Unconditional Branch
+ HEX$                  Hexadecimal Value, as String
+ IF                    Conditional Branch
+ IMP                   Implication                            Operator
+ INKEY$                Most Recent Character at Keyboard
+ INP                   Read from an I/O Port
+ INPUT                 Get Input from Keyboard
+ INPUT #               Get Input from Sequential File or Device
+ INPUT$                Read Specified Number of Characters
+ INSTR                 Find Substring
+ INT                   Next Lower Integer
+ IOCTL                 Send Control String to Device Driver
+ IOCTL$                Read Control String from Device Driver
+ KEY                   Set or Display Soft Keys
+ KEY(n)                Enable/Disable Key Trapping
+ KILL                  Delete File(s)
+ LBOUND                Lower Bound of Array Dimension
+ LEFT$                 Substring at Left
+ LEN                   Length of String
+ LET                   Assignment
+ LINE                  Draw Line or Box
+ LINE INPUT            Read Line from Keyboard, Ignoring Delimiters
+ LINE INPUT #          Read Line from File, Ignoring Delimiters
+ LOC                   Current File Position
+ LOCATE                Position the Cursor
+ LOCK                  Control File or Record Address
+ LOF                   Length of File
+ LOG                   Natural Logarithm
+ LOOP                  End Definition of DO/LOOP Loop
+ LPOS                  Current Position of Print Head
+ LPRINT                Output to LPT1:
+ LPRINT USING          Formatted Output to LPT1:
+ LSET                  Left-Justify Data in Field Variable
+ MID$ (Function)       Substring in Middle
+ MID$ (Statement)      Assign Substring
+ MKD$                  Convert Double-Precision to String
+ MKDIR                 Create Subdirectory
+ MKDMBF$               Convert IEEE Double-Precision to MBF String
+ MKI$                  Convert Integer to String
+ MKS$                  Convert Single-Precision to String
+ MKSMBF$               Convert IEEE Single-Precision to MBF String
+ MOD                   Modulo Arithmetic                      Operator
+ NAME                  Rename File
+ NEXT                  End Definition of FOR/NEXT Loop
+ NOT                   Logical NOT                            Operator
+ OCT$                  Octal Value, as String
+ ON COM                Trap for Communications Activity
+ ON ERROR              Enable Error Trapping
+ ON KEY                Trap for Keypress
+ ON PEN                Trap for Light Pen Activity
+ ON PLAY(n)            Trap for Background Music Remaining
+ ON STRIG(n)           Trap for Specified Joystick Button
+ ON TIMER              Trap for Elapsed Time
+ ON...GOSUB            Branch to nth Item in Subroutine List
+ ON...GOTO             Branch to nth Item in Line List
+ OPEN                  Allow File or Device I/O
+ OPEN "COM...          Open a Communications File
+ OPTION BASE           Set Minimum Array Subscript
+ OR                    Logical OR                             Operator
+ OUT                   Send Byte to Output Port
+ PAINT                 Fill an Area with a Pattern or Color
+ PALETTE               Change Color in the Palette
+ PALETTE USING         Change Many Colors in the Palette
+ PCOPY                 Copy Screen Page
+ PEEK                  Value at Specified Address
+ PEN (Function)        Light Pen Status
+ PEN (Statement)       Enable/Disable Pen Read and Trap
+ PLAY (Event Trap)     Enable/Disable Music Trap
+ PLAY (Function)       Number of Notes in Background Buffer
+ PLAY (Statement)      Play Music
+ PMAP                  Map Physical Coordinates to World
+ POINT                 Attribute or Value at Screen Location
+ POKE                  Write Byte to Memory
+ POS                   Current Cursor Column Position
+ PRESET                Draw Point on Screen
+ PRINT                 Display on Screen
+ PRINT #               Output to Sequential File
+ PRINT # USING         Formatted Output to File
+ PRINT USING           Formatted Screen Display
+ PSET                  Draw Point on Screen
+ PUT (File I/O)        Write Record from Random Buffer to File
+ PUT (Graphics)        Plot Array Image on Screen
+ RANDOMIZE             Reseed Random Number Generator
+ READ                  Assign DATA Items to Variables
+ REDIM                 Redimension Array
+ REM                   Comment or Metacommand
+ RESET                 Close All Disk Files
+ RESTORE               Reset DATA Item Pointer
+ RESUME                Continue after Error Trap
+ RETURN                Return from Subroutine
+ RIGHT$                Substring at Right
+ RMDIR                 Remove Subdirectory
+ RND                   Random Number
+ RSET                  Right-Justify Data in Field Variable
+ RUN                   Execute Program
+ SADD                  String Address
+ SCREEN (Function)     Character at Specified Location
+ SCREEN (Statement)    Set Screen Attributes
+ SELECT                Case Structure
+ SGN                   Sign of Number
+ SHARED                Declare Global Variables
+ SHELL                 Execute DOS Command
+ SIN                   Sine
+ SOUND                 Sound the Speaker
+ SPACE$                String of n Spaces
+ SPC                   Skip n Spaces in a PRINT statement
+ SQR                   Square Root
+ STATIC                Declare Local Variable(s)
+ STICK                 Joystick Coordinates
+ STOP                  Halt Program
+ STR$                  String Representation of Numeric Expression
+ STRIG (Statement)     Enable/Disable the STRIG Function
+ STRIG (Function)      Status of Joystick Buttons
+ STRING$               String of Specified Length and Character
+ SUB...END SUB         Define Subprogram
+ SWAP                  Exchange the Values of Two Variables
+ SYSTEM                Return to Operating System
+ TAB                   Tab to a Specified Position
+ TAN                   Tangent
+ TIME$ (Function)      Get System Time
+ TIME$ (Statement)     Set System Time
+ TIMER (Function)      Number of Seconds since Midnight
+ TIMER (Statement)     Enable/Disable Timer Trap
+ TROFF                 Trace Off
+ TRON                  Trace On
+ UBOUND                Upper Bound of Array Dimension
+ UNLOCK                Remove File or Record Access Lock
+ VAL                   Numeric Value of a String
+ VARPTR                Offset of Variable or Offset of File Buffer
+ VARPTR$               Offset of Variable, in Character Form
+ VIEW                  Define Screen Window
+ VIEW PRINT            Set Screen Text Window
+ WAIT                  Wait for Port Status
+ WEND                  End Definition of WHILE/WEND Loop
+ WHILE                 Begin Definition of WHILE/WEND Loop
+ WIDTH                 Set Output Width
+ WINDOW                Redefine Screen Coordinates
+ WRITE                 Output to Screen
+ WRITE #               Output to Sequential File
+ XOR                   Logical Exclusive OR                   Operator
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng321ab.html b/Microsoft QuickBASIC v3/manual/ng321ab.html new file mode 100644 index 0000000..28dbed9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng321ab.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+VARPTR$                  Offset of Variable, in Character Form
+
+ VARPTR$(variable)
+
+    Returns, in a character format, the offset address of a specified
+    variable in the current data segment.
+
+    variable    The name of a string or numeric variable, or an array
+                element.
+
+   ----------------------------------------------------------------------
+
+      Notes:    A three-byte string is returned. The first byte reports
+                the variable type, the second reports the low-order
+                portion of the variable address, and the third reports the
+                high-order portion of the variable address. The type byte
+                is coded as follows:
+
+                2   Integer
+                3   String
+                4   Single-precision
+                8   Double-precision
+
+                When using VARPTR$ with array variables, be aware that
+                array variables are moved in memory every time a new
+                nonarray variable is assigned.
+
+
+See Also: +VARPTR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng32510.html b/Microsoft QuickBASIC v3/manual/ng32510.html new file mode 100644 index 0000000..84efd92 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng32510.html @@ -0,0 +1,62 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+VIEW                     Define Screen Window
+
+ VIEW [[SCREEN][(x1,y1)-(x2,y2)[,[color][,[border]]]]]
+
+    Defines a screen subset, or viewport.
+
+      SCREEN    If omitted, the coordinates of all subsequent graphics
+                statements are measured relative to the defined viewport,
+                whose upper left corner becomes 0,0. If included, 0,0 is
+                still the upper left corner of the screen, but only those
+                points that fall within the defined viewport are visible.
+
+ x1,y1,x2,y2    Corner coordinates of the viewport.
+
+       color    If included, QuickBASIC fills the viewport with the
+                specified color. Allowed values are 0 to 3 in medium
+                resolution, 0-1 in high resolution.
+
+      border    If included, QuickBASIC draws a border, in a specified
+                color, around the defined viewport. Allowed values are 0
+                to 3 in medium resolution, 0-1 in high resolution.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC sorts the coordinates x1, x2, y1, and y2, so
+                that the lower value of x and the lower value of y specify
+                the upper left corner, regardless of how the coordinates
+                are presented; i.e., VIEW (280,120)-(140,180) would be
+                equivalent to VIEW (140,120)-(280,180).
+
+                VIEW with no argument redefines the viewport to the full
+                screen.
+
+                Multiple viewports may be defined, but only the most
+                recent definition is active.
+
+                A defined viewport is disabled by a RUN statement or a
+                change in SCREEN attributes.
+
+                With a viewport in effect, CLS clears only the viewport,
+                not the entire screen.
+
+
+See Also: +WINDOW +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng32b68.html b/Microsoft QuickBASIC v3/manual/ng32b68.html new file mode 100644 index 0000000..5622513 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng32b68.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+VIEW PRINT               Set Screen Text Window
+
+ VIEW PRINT [top TO bottom]
+
+    Sets the top and bottom boundaries of the screen text window.
+
+         top    The top line of the screen text window. Defaults to 1.
+
+      bottom    The bottom line of the screen text window. Defaults to 25.
+
+   -----------------------------------------------------------------------
+
+      Notes:    VIEW PRINT limits scrolling and cursor movement to the
+                area defined by top and bottom.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng32d57.html b/Microsoft QuickBASIC v3/manual/ng32d57.html new file mode 100644 index 0000000..303696b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng32d57.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WAIT                     Wait for Port Status
+
+ WAIT port, n[,m]
+
+    Suspends program execution until a specified bit pattern appears at a
+    specified port address.
+
+        port    A numeric expression in the range 0 to 65535; specifies
+                the I/O port to test.
+
+         n,m    Integer expressions in the range 0 to 255; they supply the
+                test. m defaults to 0.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC gets the value at port, XORs it with m, then
+                ANDs it with n. If the result is zero, the process is
+                repeated. If the result is nonzero, program execution
+                continues with the next statement.
+
+                To test for a 1 at a particular bit position in port, m
+                should be omitted and n should have a 1 at the position in
+                question. To test for a 0 in port, both n and m should
+                have a 1 in the position in question.
+
+                Note that the test is considered positive if any nonzero
+                value is returned. Therefore, to test for multiple bit
+                positions, use multiple WAIT statements.
+
+                Warning: If port never develops a nonzero value, WAIT can
+                put your system into an infinite loop.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng330f.html b/Microsoft QuickBASIC v3/manual/ng330f.html new file mode 100644 index 0000000..cb988f9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng330f.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+<=                       Less than or Equal to Operator
+
+ exp1 <= exp2
+
+    <= is a relational operator. If the value of exp1 is either less than
+    that of exp2 or equal to that of exp2, the result of exp1 <= exp2 is
+    -1; otherwise the result is 0. In IF statements, BASIC regards 0 as
+    equivalent to FALSE and all nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+See Also: += +<> +< +> +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng33204.html b/Microsoft QuickBASIC v3/manual/ng33204.html new file mode 100644 index 0000000..1f8524a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng33204.html @@ -0,0 +1,53 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WEND                     End Definition of WHILE/WEND Loop
+
+ WHILE expression
+ .
+ . [statements]
+ .
+
+ WEND
+
+    Terminates the definition of a WHILE/WEND loop.
+
+  expression    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC starts by evaluating expression. If expression
+                is nonzero (true), the next statement is executed. If
+                expression is zero (false), control passes to the first
+                statement following the next WEND statement.
+
+                When QuickBASIC encounters the WEND statement, it
+                reevaluates the expression argument to the most recent
+                WHILE. If that argument is still nonzero (true), the
+                process is repeated; otherwise, execution continues at the
+                next statement.
+
+                WHILE-WEND loops may be nested to any level of complexity,
+                but there must be a WEND for each WHILE.
+
+
+See Also: +DO +FOR +LOOP +NEXT +WHILE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng335b1.html b/Microsoft QuickBASIC v3/manual/ng335b1.html new file mode 100644 index 0000000..0cf8c77 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng335b1.html @@ -0,0 +1,52 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WHILE                    Begin Definition of WHILE/WEND Loop
+
+ WHILE expression
+ .
+ . [statements]
+ .
+ WEND
+
+    Begins the definition of a WHILE/WEND loop.
+
+  expression    A numeric expression.
+
+   ----------------------------------------------------------------------
+
+      Notes:    QuickBASIC starts by evaluating expression. If expression
+                is nonzero (true), the next statement is executed. If
+                expression is zero (false), control passes to the first
+                statement following the next WEND statement.
+
+                When QuickBASIC encounters the WEND statement, it
+                reevaluates the expression argument to the most recent
+                WHILE. If that argument is still nonzero (true), the
+                process is repeated; otherwise, execution continues at the
+                next statement.
+
+                WHILE-WEND loops may be nested to any level of complexity,
+                but there must be a WEND for each WHILE.
+
+
+See Also: +DO +FOR +LOOP +NEXT +WEND +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3395b.html b/Microsoft QuickBASIC v3/manual/ng3395b.html new file mode 100644 index 0000000..85c3f12 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3395b.html @@ -0,0 +1,50 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WIDTH                    Set Output Width
+
+ WIDTH [{#filenum | device},] width[,lines]   or   WIDTH LPRINT width
+
+    Sets the maximum width for a specified output device; QuickBASIC sends
+    a carriage return to the device when the specified width has been
+    reached.
+
+       width    A numeric expression in the range 0 to 255. A value of 0
+                is equivalent to a value of 1.
+
+      device    A string expression. Legal values are "SCRN:", "LPT1:",
+                "LPT2:", "LPT3:", "COM1:", "COM2:", and their lowercase
+                equivalents.
+
+     filenum    A numeric expression in the range 1 to 15; specifies a
+                file opened for output.
+
+       lines    A numeric expression; must be either 25 or 43. This
+                argument is valid only if device is "SCRN" or if the
+                {#filenum | device} argument is omitted. lines allows you
+                to specify 43-line screen mode on systems equipped with an
+                EGA.
+
+   ----------------------------------------------------------------------
+
+      Notes:    WIDTH size and WIDTH "SCRN:" size both set the screen
+                width. In this case, size must be either 40 or 80 (only 80
+                is allowed on the IBM Monochrome Display).
+
+                WIDTH LPRINT width sets the width of all subsequent LPRINT
+                output.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng33e32.html b/Microsoft QuickBASIC v3/manual/ng33e32.html new file mode 100644 index 0000000..3b40dd4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng33e32.html @@ -0,0 +1,52 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WINDOW                   Redefine Screen Coordinates
+
+ WINDOW [[SCREEN](x1,y1)-(x2,y2)]
+
+    Specifies "world" coordinates for the screen.
+
+      SCREEN    If omitted, x1,y1 and x2,y2 specify the upper left and
+                lower right corners of the world space, respectively. If
+                included, x1,y1 and x2,y2 specify the lower left and upper
+                right corners of the world space, respectively.
+
+ x1,y1,x2,y2    The corner coordinates of the world space.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The WINDOW statement allows you to redefine the corners of
+                the display screen as a pair of "world" coordinates.
+                Because objects plotted by subsequent graphics statements
+                are still plotted in the standard "physical" coordinates,
+                the WINDOW statement provides a way of scaling, rotating,
+                and/or transposing such objects.
+
+                BASIC sorts the coordinates so that the lower of x1 and y1
+                will be treated as x1 and the lower of y1 and y2 will be
+                treated as y1, regardless of how the coordinates are
+                presented. Thus WINDOW (280,120)-(140,180) would be
+                equivalent to WINDOW (140,120)-(280,180).
+
+                A world space defined by WINDOW is disabled by a RUN
+                statement, a change in SCREEN attributes, or a WINDOW
+                statement with no arguments.
+
+
+See Also: +VIEW +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng34399.html b/Microsoft QuickBASIC v3/manual/ng34399.html new file mode 100644 index 0000000..993ba66 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng34399.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WRITE                    Output to Screen
+
+ WRITE [exprlist]
+
+    Displays numeric or string expressions on screen.
+
+    exprlist    Numeric or string expressions separated by commas or
+                semicolons. QuickBASIC outputs a carriage return and line
+                feed at the end of the list. If no items are included, a
+                blank line is displayed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Either semicolons or commas may be used as delimiters in
+                exprlist (it makes no difference).
+
+                WRITE differs from PRINT in the following ways:
+
+                    When the data items are displayed, each is separated
+                    from the one before it by a comma.
+
+                    String expressions are displayed enclosed in quote
+                    marks.
+
+                    Positive numbers are not preceded by blanks.
+
+
+See Also: +PRINT +WRITE # +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng346ca.html b/Microsoft QuickBASIC v3/manual/ng346ca.html new file mode 100644 index 0000000..e4cccc9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng346ca.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+WRITE #                  Output to Sequential File
+
+ WRITE #filenum,exprlist
+
+    Outputs one or more numeric or string expressions on screen.
+
+    exprlist    Numeric or string expressions separated by commas or
+                semicolons. QuickBASIC outputs a carriage return and line
+                feed at the end of the list. If no items are included, a
+                blank line is displayed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Either semicolons or commas may be used as delimiters in
+                exprlist (it makes no difference).
+
+                WRITE # differs from PRINT # in the following ways:
+
+                    When the data items are displayed, each is separated
+                    from the one before it by a comma.
+
+                    String expressions are output enclosed in quote marks.
+
+                    Positive numbers are not preceded by blanks.
+
+
+See Also: +PRINT # +WRITE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng34a1f.html b/Microsoft QuickBASIC v3/manual/ng34a1f.html new file mode 100644 index 0000000..086f6b2 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng34a1f.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+XOR                      Logical Exclusive OR Operator
+
+ exp1 XOR exp2
+
+    XOR is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 XOR exp2
+                       1    1             0
+                       1    0             1
+                       0    1             1
+                       0    0             0
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +AND +EQV +IMP +NOT +OR +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng34ce6.html b/Microsoft QuickBASIC v3/manual/ng34ce6.html new file mode 100644 index 0000000..303dafa --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng34ce6.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Short Entry + + +[^^Up^^] +[Menu] +[About The Guide] +
+
+ Precedence        Operator Precedence in BASIC
+ ^                 Exponentiation
+ *                 Multiplication
+ /                 Division
+ +                 Addition and Concatenation
+ -                 Subtraction and Negation
+ \                 Integer Division
+ MOD               Modulo Arithmetic
+ =                 Equal to/Assignment
+ <>                Not Equal to
+ <                 Less than
+ >                 Greater than
+ <=                Less than or Equal to
+ >=                Greater than or Equal to
+ NOT               Logical NOT
+ AND               Logical AND
+ OR                Logical OR
+ XOR               Logical Exclusive OR
+ EQV               Equivalence
+ IMP               Implication
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng34f34.html b/Microsoft QuickBASIC v3/manual/ng34f34.html new file mode 100644 index 0000000..106fc32 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng34f34.html @@ -0,0 +1,47 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+Precedence               Operator Precedence in BASIC
+
+          Operator Precedence
+
+    Highest:       ^
+                   - (negation)
+                   *  /
+                   \
+                  MOD
+                   +  -
+                   =  <>  <  >  <=  >=
+                  NOT
+                  AND
+                   OR
+                  XOR
+                  EQV
+    Lowest:       IMP
+
+
+    Operators have an inherent precedence. In the absence of explicit
+    grouping (through parentheses), an expression is evaluated in the
+    order dictated by this inherent precedence. Operators of the same
+    precedence level are evaluated in left-to-right order.
+
+    All function calls in an expression are evaluated before any
+    operators.
+
+
+
+See Also: +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng35173.html b/Microsoft QuickBASIC v3/manual/ng35173.html new file mode 100644 index 0000000..e28386c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng35173.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+^                       Exponentiation
+
+ exp1 ^ exp2
+
+    The ^ operator performs exponentiation. If the expression involves
+    operands of more than one precision, all operands are converted to the
+    same level--that of the highest-precision operand in the expression--
+    before the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +* +- +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3531b.html b/Microsoft QuickBASIC v3/manual/ng3531b.html new file mode 100644 index 0000000..0fc437c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3531b.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+*                        Multiplication
+
+ exp1 * exp2
+
+    The * operator performs multiplication. If the expression involves
+    operands of more than one precision, all operands are converted to the
+    same level--that of the highest-precision operand in the expression--
+    before the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +^^ +- +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng354c1.html b/Microsoft QuickBASIC v3/manual/ng354c1.html new file mode 100644 index 0000000..c95d86b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng354c1.html @@ -0,0 +1,40 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+/                        Division
+
+
+ exp1 / exp2
+
+    The / operator performs floating-point division. If the expression
+    involves operands of more than one precision, all operands are
+    converted to the same level--that of the highest-precision operand in
+    the expression--before the expression is evaluated.
+
+        exp1    Any numeric expression.
+
+        exp2    Any numeric expression that does not evalute to 0.
+
+
+See Also: +^^ +- +* +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng356a1.html b/Microsoft QuickBASIC v3/manual/ng356a1.html new file mode 100644 index 0000000..d904803 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng356a1.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
++                        Addition and Concatenation
+
+    Addition
+
+ exp1 + exp2
+
+    The + operator performs addition. If the expression involves operands
+    of more than one precision, all operands are converted to the same
+    level--that of the highest-precision operand in the expression--before
+    the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+    Concatenation
+
+ str1 + str2
+
+    The + operator also performs concatenation on string expressions. The
+    result is a string composed of str1 followed by str2.
+
+   str1,str2    Any string expression.
+
+
+See Also: +^^ +- +* +/ +\ +MOD +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3593a.html b/Microsoft QuickBASIC v3/manual/ng3593a.html new file mode 100644 index 0000000..d4a5cde --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3593a.html @@ -0,0 +1,50 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+-                        Subtraction and Negation
+
+    Subtraction
+
+ exp1 - exp2
+
+    The - operator performs subtraction. If the expression involves
+    operands of more than one precision, all operands are converted to the
+    same level--that of the highest-precision operand in the expression--
+    before the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+
+    Negation
+
+ - exp1
+
+    As a unary operator (placed before a single numeric expression), -
+    performs negation; that is, it reverse the sign of its operand.
+
+        exp1    Any numeric expression.
+
+
+See Also: +^^ +* +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng35bc6.html b/Microsoft QuickBASIC v3/manual/ng35bc6.html new file mode 100644 index 0000000..0509ef8 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng35bc6.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+\                        Integer Division
+
+ exp1 \ exp2
+
+    The \ operator performs integer division. The operands are rounded
+    (not truncated) to integers before the division is performed, and the
+    result is truncated (not rounded) to an integer. The operands must
+    round to integers in the range -32768 through 32767.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +^^ +- +* +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng35d81.html b/Microsoft QuickBASIC v3/manual/ng35d81.html new file mode 100644 index 0000000..1893a5d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng35d81.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+MOD                      Modulo Arithmetic
+
+ exp1 MOD exp2
+
+    The MOD operator performs modulo arithmetic. That is, it performs an
+    integer division on its two operands (see \) and returns the
+    remainder. The result is an integer.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +^^ +- +* +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng35ee9.html b/Microsoft QuickBASIC v3/manual/ng35ee9.html new file mode 100644 index 0000000..5b51b6d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng35ee9.html @@ -0,0 +1,53 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+=                        Equal to/Assignment
+
+    Equal to
+
+ exp1 = exp2
+
+    The = operator is a relational operator. If exp1 has the same value as
+    exp2, the result of exp1 = exp2 is -1; otherwise the result is 0. In
+    IF statements, BASIC regards 0 as equivalent to FALSE and all nonzero
+    values as equivalent to TRUE.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+    Assignment
+
+ [LET] var = exp1
+
+    As an assignment operator, = stores the value of exp1 in variable var.
+    The keyword LET is optional (and is usually omitted).
+
+         var    A legal variable name, of any type.
+
+        exp1    Any numeric expression, but exp1 and exp2 must either both
+                be numeric or both be strings; otherwise a Type Mismatch
+                error occurs.
+
+
+See Also: +<> +< +> +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng362a8.html b/Microsoft QuickBASIC v3/manual/ng362a8.html new file mode 100644 index 0000000..6f3624d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng362a8.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+<>                       Not Equal to
+
+ exp1 <> exp2
+
+    The <> operator is a relational operator. If exp1 has a value
+    different from that of exp2, the result of exp1 <> exp2 is -1;
+    otherwise the result is 0. In IF statements, BASIC regards 0 as
+    equivalent to FALSE and all nonzero values as equivalent to TRUE.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+See Also: += +< +> +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng364e2.html b/Microsoft QuickBASIC v3/manual/ng364e2.html new file mode 100644 index 0000000..f79a85f --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng364e2.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+<                        Less than
+
+ exp1 < exp2
+
+    The operator < is a relational operator. If the value of exp1 is less
+    than that of exp2, the result of exp1 < exp2 is -1; otherwise the
+    result is 0. In IF statements, BASIC regards 0 as equivalent to FALSE
+    and all nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+
+See Also: += +<> +> +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng368a7.html b/Microsoft QuickBASIC v3/manual/ng368a7.html new file mode 100644 index 0000000..08964ef --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng368a7.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+>                        Greater than
+
+ exp1 > exp2
+
+    The > operator is a relational operator. If the value of exp1 is
+    greater than that of exp2, the result of exp1 > exp2 is -1; otherwise
+    the result is 0. In IF statements, BASIC regards 0 as equivalent to
+    FALSE and all nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+See Also: += +<> +< +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng36c71.html b/Microsoft QuickBASIC v3/manual/ng36c71.html new file mode 100644 index 0000000..9ae7e78 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng36c71.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+<=                       Less than or Equal to
+
+ exp1 <= exp2
+
+    The <= operator is a relational operator. If the value of exp1 is
+    either less than that of exp2 or equal to that of exp2, the result of
+    exp1 <= exp2 is -1; otherwise the result is 0. In IF statements, BASIC
+    regards 0 as equivalent to FALSE and all nonzero values as equivalent
+    to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+See Also: += +<> +< +> +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3702.html b/Microsoft QuickBASIC v3/manual/ng3702.html new file mode 100644 index 0000000..3a27319 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3702.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+<>                       Not Equal to Operator
+
+ exp1 <> exp2
+
+    <> is a relational operator. If exp1 has a value different from that
+    of exp2, the result of exp1 <> exp2 is -1; otherwise the result is 0.
+    In IF statements, BASIC regards 0 as equivalent to FALSE and all
+    nonzero values as equivalent to TRUE.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+See Also: += +< +> +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3706a.html b/Microsoft QuickBASIC v3/manual/ng3706a.html new file mode 100644 index 0000000..96c953b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3706a.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+>=                       Greater than or Equal to
+
+ exp1 >= exp2
+
+    The >= operator is a relational operator. If the value of exp1 is
+    greater than that of exp2, the result of exp1 < exp2 is -1; otherwise
+    the result is 0. In IF statements, BASIC regards 0 as equivalent to
+    FALSE and all nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+
+See Also: += +<> +< +> +<= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng37443.html b/Microsoft QuickBASIC v3/manual/ng37443.html new file mode 100644 index 0000000..2520ca0 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng37443.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+NOT                      Logical NOT
+
+ NOT exp1
+
+    NOT is a logical operator. BASIC converts the operand to an integer
+    (the result of this conversion must lie within the range -32768 to
+    32767, or else an Overflow error occurs), then complements each bit of
+    the result. That is, each resulting 1 bit becomes a 0 bit, and each
+    resulting 0 bit becomes a 1 bit. The result is an integer.
+
+    Bitwise truth table for NOT:
+
+                              exp1   NOT exp1
+                                1       0
+                                0       1
+
+        exp1    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +AND +OR +XOR +EQV +IMP +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3770a.html b/Microsoft QuickBASIC v3/manual/ng3770a.html new file mode 100644 index 0000000..8834783 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3770a.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+AND                      Logical AND
+
+ exp1 AND exp2
+
+    AND is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 AND exp2
+                       1    1             1
+                       1    0             0
+                       0    1             0
+                       0    0             0
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +NOT +OR +XOR +EQV +IMP +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng379af.html b/Microsoft QuickBASIC v3/manual/ng379af.html new file mode 100644 index 0000000..787feed --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng379af.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+OR                       Logical OR
+
+ exp1 OR exp2
+
+    OR is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 OR exp2
+                       1    1             1
+                       1    0             1
+                       0    1             1
+                       0    0             0
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +NOT +AND +XOR +EQV +IMP +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng37c50.html b/Microsoft QuickBASIC v3/manual/ng37c50.html new file mode 100644 index 0000000..041a992 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng37c50.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+XOR                      Logical Exclusive OR
+
+ exp1 XOR exp2
+
+    XOR is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 XOR exp2
+                       1    1             0
+                       1    0             1
+                       0    1             1
+                       0    0             0
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +NOT +AND +OR +EQV +IMP +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng37efe.html b/Microsoft QuickBASIC v3/manual/ng37efe.html new file mode 100644 index 0000000..f0d3636 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng37efe.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+EQV                      Equivalence
+
+ exp1 EQV exp2
+
+    EQV is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 EQV exp2
+                       1    1             1
+                       1    0             0
+                       0    1             0
+                       0    0             1
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +NOT +AND +OR +XOR +IMP +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng381a3.html b/Microsoft QuickBASIC v3/manual/ng381a3.html new file mode 100644 index 0000000..1175e84 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng381a3.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+IMP                      Implication
+
+ exp1 IMP exp2
+
+    IMP is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 IMP exp2
+                       1    1             1
+                       1    0             0
+                       0    1             1
+                       0    0             1
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +NOT +AND +OR +XOR +EQV +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng38448.html b/Microsoft QuickBASIC v3/manual/ng38448.html new file mode 100644 index 0000000..90d52ac --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng38448.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+                            BASIC Data Types
+
+                   Declaration
+  Type             Character *       Range       Accuracy       Storage
+  Integer               %      -32768 to 32767   Perfect        2 bytes
+  Single precision      !      10E-38 to 10E38   6 digits       4 bytes
+  Double precision      #      10D-38 to 10D38   16 digits      8 bytes
+  String                $                                       See below
+
+  *  Variables may also be typed by means of BASIC's DEFtype statements:
+     DEFINT, DEFSNG, DEFDBL, and DEFSTR. Variables that are not explicitly
+     typed are treated as single precision.
+
+     String storage: 4 bytes for descriptor, 1 byte for string back
+                     pointer, and 1 byte for each character in
+                     the string.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng386bd.html b/Microsoft QuickBASIC v3/manual/ng386bd.html new file mode 100644 index 0000000..1a95c7c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng386bd.html @@ -0,0 +1,99 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+               Command-Line Switches and Compiler Options
+
+ Command-line syntax:
+
+ QB [source] [/b] [/g] [/llibrary]] [c:buffsize] [options] [/cmdstring]
+
+      source    A source code file that's loaded when QB is invoked.
+
+          /b    Turns off the color burst. For use with composite displays
+                attached to CGAs.
+
+          /g    Turns off snow suppression. Produces faster screen update,
+                but may also produce snow. Has no effect on screens
+                attached to Monochrome Display Adapters or EGAs.
+
+   /llibrary    Loads a specified user library. The argument library
+                defaults to USERLIB.EXE.
+
+  c:buffsize    Specifies the size, in bytes, of the buffer for receiving
+                communications data. Default: 256 bytes, maximum: 32767
+                bytes. The transmit buffer is fixed at 128 bytes.
+
+     options   Specifies one or more compiler options. See below.
+
+  /cmdstring    Passes arguments at run time to a memory-compiled program.
+                Everything from /cmd to the carriage return is accessible
+                via the COMMAND$ function.
+
+ Compiler options
+
+          /d    Debug. Generates code that checks for arithmetic overflow,
+                array bounds, RETURNs without GOSUBs, and Ctrl-Break. Also
+                produces line number references for runtime errors and
+                enables the use of TRON and TROFF.
+
+          /e    On Error. For use when the program includes one or more ON
+                ERROR GOTO linenumber constructions.
+
+        /MBF    Microsoft Binary Format. Designed to be used with the math
+                coprocessor version of QuickBASIC, /MBF reads data in
+                files stored via previous versions of BASIC and converts
+                it from Microsoft Binary Format to IEEE floating-point
+                format. The files are converted as they are read in, and
+                reconverted to MBF as they are written back to disk. An
+                alternative to the use of CVSMBF and CVDMBF, the /MBF
+                option allows you to preserve your original data files, so
+                they may be accessed on machines without coprocessors.
+
+          /o    Obj(BCOM.LIB). Produces an object file linked with
+                selected routines from BCOM.LIB, instead of with BRUN.LIB.
+                Programs compiled in this manner are likely to use less
+                RAM and run faster, but take up more disk space. CHAIN and
+                COMMON are not supported by BCOM.LIB. For more
+                information, see Appendix D of the QuickBASIC manual.
+
+          /q    Speed. Optimizes for fast execution at the expense of
+                program size.
+
+          /r    Arrays in Row Order. Instructs the compiler to store
+                arrays in row order, so that, for example, ARRAY(2,1)
+                would be followed by ARRAY(2,2) instead of by ARRAY(3,1).
+                The compiler's (and the interpreter's) default storage is
+                in column order.
+
+          /s    Turns off the Minimize String Data option. By default, the
+                compiler references duplicate string literals at the same
+                memory location, in order to minimize storage
+                requirements. That requires it to keep all strings in
+                memory throughout compilation. Some programs with large
+                numbers of strings may cause memory overflow errors as a
+                result. The /s option turns off this default.
+
+          /v    Checking Between Statements. Enables event trapping, with
+                checking after each statement instead of after each
+                program line.
+
+          /w    Event Trapping. Enables event trapping, with checking
+                after each program line.
+
+          /x    Resume Next. For use with programs that contain one or
+                more RESUME, RESUME NEXT, or RESUME 0 statements.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3938.html b/Microsoft QuickBASIC v3/manual/ng3938.html new file mode 100644 index 0000000..44917df --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3938.html @@ -0,0 +1,51 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+=                        Equal to/Assignment Operator
+
+ exp1 = exp2
+
+    = is a relational operator. If exp1 has the same value as exp2, the
+    result of exp1 = exp2 is -1; otherwise the result is 0. In IF
+    statements, BASIC regards 0 as equivalent to FALSE and all nonzero
+    values as equivalent to TRUE.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+    Assignment
+
+ [LET] var = exp1
+
+    As an assignment operator, = stores the value of exp1 in variable var.
+    The keyword LET is optional (and is usually omitted).
+
+         var    A legal variable name, of any type.
+
+        exp1    Any numeric expression, but exp1 and exp2 must either both
+                be numeric or both be strings; otherwise a Type Mismatch
+                error occurs.
+
+
+See Also: +<> +< +> +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3943b.html b/Microsoft QuickBASIC v3/manual/ng3943b.html new file mode 100644 index 0000000..a19614f --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3943b.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+      How BASIC converts data from one precision to another
+
+   1. If a variable of one type is assigned to a variable of
+      another, the data takes on the precision of the target
+      variable.
+
+   2. When a higher-precision value (constant or variable) is
+      assigned to a variable of lower precision, the value is
+      rounded, rather than truncated.
+
+   3. When a lower-precision value (constant or variable) is
+      assigned to a higher-precision variable, its accuracy is
+      limited to that of the lower-precision value.
+
+   4. When an expression is evaluated, all operands are converted
+      to the same level of precision--that of the
+      highest-precision operand in the expression.
+
+
+See Also: +Data Types +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng39706.html b/Microsoft QuickBASIC v3/manual/ng39706.html new file mode 100644 index 0000000..8482bba --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng39706.html @@ -0,0 +1,61 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+                        QuickBASIC 3.0 Reserved Words
+
+    ABS         DATA        GOTO$       MKDIR          RANDOM      SWAP
+    ACCESS      DATE$       HEX$        MKDMBF$        RANDOMIZE   SYSTEM
+    AND         DO          IF          MKI$           READ        TAB
+    APPEND      DEF FN      IMP         MKS$           REDIM       TAN
+    AS          DEF SEG     INKEY$      MKSMBF$        REM         THEN
+    ASC         DEF USR     INP         MOD            RENUM       TIME$
+    ATN         DEFDBL      INPUT       MOTOR          RESET       TIMER
+    AUTO        DEFINT      INPUT#      NAME           RESTORE     TO
+    BASE        DEFSNG      INPUT$      NEW            RESUME      TROFF
+    BEEP        DEFSTR      INSTR       NEXT           RETURN      TRON
+    BLOAD       DELETE      INT         NOISE*         RIGHT$      UBOUND
+    BSAVE       DIM         IOCTL       NOT            RMDIR       UNLOCK
+    CALL        DO*         IOCTL$      NULL*          RND         UNTIL
+    CALLS       DRAW        KEY         OCT$           RSET        USING
+    CASE        EDIT        KILL        OFF            RUN         USR
+    CDBL        ELSE        LBOUND      ON             SADD        USR0
+    CHAIN       ELSEIF      LCOPY       OPEN           SAVE        USR1
+    CHDIR       END         LEFT$       OPEN COM       SCREEN      USR2
+    CHR$        ENVIRON     LEN         OPTION         SEG         USR3
+    CINT        ENVIRON$    LET         OR             SELECT      USR4
+    CIRCLE      EOF         LINE        OUT            SGN         USR5
+    CLEAR       EQV         LIST        OUTPUT         SHARED      USR6
+    CLOSE       ERASE       LLIST       PAINT          SHELL       USR7
+    CLS         ERDEV       LOAD        PALETTE USING  SIN         USR8
+    COLOR       ERDEV$      LOC         PEEK           SOUND       USR9
+    COM         ERL         LOCAL       PEN            SPACE       VAL
+    COMMAND$    ERR         LOCATE      PLAY           SPACE$      VARPTR
+    COMMON      ERROR       LOCK        PMAP           SPC         VARPTR$
+    CONST       EXIT        LOF         POINT          SQR         VIEW
+    CONT        EXP         LOG         POKE           STATIC      WAIT
+    COS         FIELD       LOOP        POS            STEP        WEND
+    CSNG        FILES       LPOS        PRESET         STICK       WHILE
+    CSRLIN      FIX         LPRINT      PRINT          STOP        WIDTH
+    CVD         FOR         LPRINT#     PRINT#         STRIG       WINDOW
+    CVDMBF      FRE         LSET        PRINT# USING   STR$        WRITE
+    CVSMBF      GET         MERGE       PSET           STRING$     WRITE#
+    CVI         GO          MID$        PUT            SUB         XOR
+    CVS         GOSUB       MKD$
+
+    * Reserved for future versions
+    .
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng39d55.html b/Microsoft QuickBASIC v3/manual/ng39d55.html new file mode 100644 index 0000000..60c6ff6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng39d55.html @@ -0,0 +1,97 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+    QuickBASIC Runtime Errors
+
+    1     (not defined)
+    2     Syntax error
+    3     RETURN without GOSUB
+    4     Out of data
+    5     Illegal function call
+    6     Overflow
+    7     Out of memory
+    8     (not defined)
+    9     Subscript out of range
+    10    Redimensioned array
+    11    Division by zero
+    12    (not defined)
+    13    Type mismatch
+    14    Out of string space
+    15    (not defined)
+    16    String formula too complex
+    17    (not defined)
+    18    (not defined)
+    19    No RESUME
+    20    RESUME without error
+    21    (not defined)
+    22    (not defined)
+    23    (not defined)
+    24    Device timeout
+    25    (not defined)
+    26    (not defined)
+    27    (not defined)
+    28    (not defined)
+    29    (not defined)
+    30    (not defined)
+    31    (not defined)
+    32    (not defined)
+    33    (not defined)
+    34    (not defined)
+    35    (not defined)
+    36    (not defined)
+    37    (not defined)
+    38    (not defined)
+    39    CASE ELSE expected
+    40    (not defined)
+    41    (not defined)
+    42    (not defined)
+    43    (not defined)
+    44    (not defined)
+    45    (not defined)
+    46    (not defined)
+    47    (not defined)
+    48    (not defined)
+    49    (not defined)
+    50    FIELD overflow
+    51    Internal error
+    52    Bad file number
+    53    File not found
+    54    Bad file mode
+    55    File already open
+    56    (not defined)
+    57    Device I/O error
+    58    File already exists
+    59    (not defined)
+    60    (not defined)
+    61    Disk full
+    62    Input past end
+    63    Bad record number
+    64    Bad file name
+    65    (not defined)
+    66    (not defined)
+    67    Too many files
+    68    Device unavailable
+    69    (not defined)
+    70    Permission denied
+    71    Disk not ready
+    72    Disk media error
+    73    (not defined)
+    74    Rename across disks
+    75    Path/file access error
+    76    Path not found
+
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3a3de.html b/Microsoft QuickBASIC v3/manual/ng3a3de.html new file mode 100644 index 0000000..461bfb4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3a3de.html @@ -0,0 +1,83 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ Dec   Hex  Char         Dec   Hex  Char   Dec   Hex  Char   Dec   Hex  Char
+   0   00h       NUL  |   64   40h   @  |  128   80h   .  |  192   C0h   +
+   1   01h   .   SOH  |   65   41h   A  |  129   81h   .  |  193   C1h   -
+   2   02h   .   STX  |   66   42h   B  |  130   82h   .  |  194   C2h   -
+   3   03h   .   ETX  |   67   43h   C  |  131   83h   .  |  195   C3h   |
+   4   04h   .   EOT  |   68   44h   D  |  132   84h   .  |  196   C4h   -
+   5   05h   .   ENQ  |   69   45h   E  |  133   85h   .  |  197   C5h   +
+   6   06h   .   ACK  |   70   46h   F  |  134   86h   .  |  198   C6h   -
+   7   07h   .   BEL  |   71   47h   G  |  135   87h   .  |  199   C7h   -
+   8   08h   .   BS   |   72   48h   H  |  136   88h   .  |  200   C8h   +
+   9   09h   .   HT   |   73   49h   I  |  137   89h   .  |  201   C9h   +
+  10   0Ah   .   LF   |   74   4Ah   J  |  138   8Ah   .  |  202   CAh   -
+  11   0Bh   .   VT   |   75   4Bh   K  |  139   8Bh   .  |  203   CBh   -
+  12   0Ch   .   FF   |   76   4Ch   L  |  140   8Ch   .  |  204   CCh   |
+  13   0Dh   .   CR   |   77   4Dh   M  |  141   8Dh   .  |  205   CDh   -
+  14   0Eh   .   SO   |   78   4Eh   N  |  142   8Eh   .  |  206   CEh   +
+  15   0Fh   .   SI   |   79   4Fh   O  |  143   8Fh   .  |  207   CFh   -
+  16   10h   .   DLE  |   80   50h   P  |  144   90h   .  |  208   D0h   -
+  17   11h   .   DC1  |   81   51h   Q  |  145   91h   .  |  209   D1h   -
+  18   12h   .   DC2  |   82   52h   R  |  146   92h   .  |  210   D2h   -
+  19   13h   .   DC3  |   83   53h   S  |  147   93h   .  |  211   D3h   +
+  20   14h   .   DC4  |   84   54h   T  |  148   94h   .  |  212   D4h   +
+  21   15h   .   NAK  |   85   55h   U  |  149   95h   .  |  213   D5h   +
+  22   16h   .   SYN  |   86   56h   V  |  150   96h   .  |  214   D6h   +
+  23   17h   .   ETB  |   87   57h   W  |  151   97h   .  |  215   D7h   +
+  24   18h   .   CAN  |   88   58h   X  |  152   98h   .  |  216   D8h   +
+  25   19h   .        |   89   59h   Y  |  153   99h   .  |  217   D9h   +
+  26   1Ah   .   SUB  |   90   5Ah   Z  |  154   9Ah   .  |  218   DAh   +
+  27   1Bh   .   ESC  |   91   5Bh   [  |  155   9Bh   .  |  219   DBh   #
+  28   1Ch   .   FS   |   92   5Ch   \  |  156   9Ch   .  |  220   DCh   #
+  29   1Dh   .   GS   |   93   5Dh   ]  |  157   9Dh   .  |  221   DDh   #
+  30   1Eh   .   RS   |   94   5Eh   ^  |  158   9Eh   .  |  222   DEh   #
+  31   1Fh   .   US   |   95   5Fh   _  |  159   9Fh   .  |  223   DFh   #
+  32   20h            |   96   60h   `  |  160   A0h   .  |  224   E0h   .
+  33   21h   !        |   97   61h   a  |  161   A1h   .  |  225   E1h   .
+  34   22h   "        |   98   62h   b  |  162   A2h   .  |  226   E2h   .
+  35   23h   #        |   99   63h   c  |  163   A3h   .  |  227   E3h   .
+  36   24h   $        |   100  64h   d  |  164   A4h   .  |  228   E4h   .
+  37   25h   %        |   101  65h   e  |  165   A5h   .  |  229   E5h   .
+  38   26h   &        |   102  66h   f  |  166   A6h   .  |  230   E6h   .
+  39   27h   '        |   103  67h   g  |  167   A7h   .  |  231   E7h   .
+  40   28h   (        |   104  68h   h  |  168   A8h   .  |  232   E8h   .
+  41   29h   )        |   105  69h   i  |  169   A9h   .  |  233   E9h   .
+  42   2Ah   *        |   106  6Ah   j  |  170   AAh   .  |  234   EAh   .
+  43   2Bh   +        |   107  6Bh   k  |  171   ABh   .  |  235   EBh   .
+  44   2Ch   ,        |   108  6Ch   l  |  172   ACh   .  |  236   ECh   .
+  45   2Dh   -        |   109  6Dh   m  |  173   ADh   .  |  237   EDh   .
+  46   2Eh   .        |   110  6Eh   n  |  174   AEh   .  |  238   EEh   .
+  47   2Fh   /        |   111  6Fh   o  |  175   AFh   .  |  239   EFh   .
+  48   30h   0        |   112  70h   p  |  176   B0h   #  |  240   F0h   .
+  49   31h   1        |   113  71h   q  |  177   B1h   #  |  241   F1h   .
+  50   32h   2        |   114  72h   r  |  178   B2h   #  |  242   F2h   .
+  51   33h   3        |   115  73h   s  |  179   B3h   |  |  243   F3h   .
+  52   34h   4        |   116  74h   t  |  180   B4h   |  |  244   F4h   .
+  53   35h   5        |   117  75h   u  |  181   B5h   |  |  245   F5h   .
+  54   36h   6        |   118  76h   v  |  182   B6h   |  |  246   F6h   .
+  55   37h   7        |   119  77h   w  |  183   B7h   +  |  247   F7h   .
+  56   38h   8        |   120  78h   x  |  184   B8h   +  |  248   F8h   .
+  57   39h   9        |   121  79h   y  |  185   B9h   |  |  249   F9h   .
+  58   3Ah   :        |   122  7Ah   z  |  186   BAh   |  |  250   FAh   .
+  59   3Bh   ;        |   123  7Bh   {  |  187   BBh   +  |  251   FBh   .
+  60   3Ch   <        |   124  7Ch   |  |  188   BCh   +  |  252   FCh   .
+  61   3Dh   =        |   125  7Dh   }  |  189   BDh   +  |  253   FDh   .
+  62   3Eh   >        |   126  7Eh   ~  |  190   BEh   +  |  254   FEh   .
+  63   3Fh   ?        |   127  7Fh   .  |  191   BFh   +  |  255   FFh
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3b7e3.html b/Microsoft QuickBASIC v3/manual/ng3b7e3.html new file mode 100644 index 0000000..8b89ce4 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3b7e3.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+       218   196   194    191                   201   205   203    187
+         +----------------+                       +----------------+
+     179 |     197  |     | 179               186 |     206  |     | 186
+         |        \ |     |                       |        \ |     |
+     195 |----------+-----| 180               204 |----------+-----| 185
+         |          |     |                       |          |     |
+         +----------------+                       +----------------+
+       192   196   193    217                   200   205   202    188
+
+
+
+
+       213   205   209    184                   214   196   210    183
+         +----------------+                       +----------------+
+     179 |     216  |     | 179               186 |     215  |     | 186
+         |        \ |     |                       |        \ |     |
+     198 -----------+-----| 181               199 -----------+-----| 182
+         |          |     |                       |          |     |
+         +----------------+                       +----------------+
+       212   205   207    190                   211   196   208    189
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3bb15.html b/Microsoft QuickBASIC v3/manual/ng3bb15.html new file mode 100644 index 0000000..f994a14 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3bb15.html @@ -0,0 +1,72 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ ---------------------------------- Arrows ----------------------------------
+
+               .   30            .   24            .  18
+               .   31            .   25            .  23
+               .   16            .   26
+               .   17            .   27            .  29
+
+ ----------------------------- Block Characters -----------------------------
+                                                   -
+               #  176             # - 219
+                                                   #  221
+               #  177             # - 220
+                                                   #  222
+               #  178             # - 223
+                                                   -
+ ----------------------- Foreign-Language Characters ------------------------
+
+ 131   .          |  136   .          |  147   .          |  150   .
+ 132   .  .  142  |  137   .          |  148   .  .  153  |  129   .  .  154
+ 133   .          |  138   .          |  149   .          |  151   .
+ 160   .          |  130   .  .  144  |  162   .          |  163   .
+ 134   .  .  143  |                   |                   |
+                  |  140   .          |  164   .  .  165  |  152   .
+ 145   .  .  146  |  139   .          |                   |
+                  |  141   .          |  225   .          |
+ 135   .  .  128  |  161   .          |                   |
+
+ -------------------- Miscellaneous Language Characters ---------------------
+
+      .  155            .  166               .  168              .  19
+      .  156            .  167               .  173              .  20
+      .  157                                 .  174              .  21
+      .  159                                 .  175              .  158
+
+ ------------------------ Math and Greek Characters -------------------------
+
+    .  143                            .  224                     alpha
+    .  238                            .  225                     beta
+    .  239                                        .  226         gamma
+    .  240                            .  235                     delta
+    .  241                            .  233                     theta
+    .  242           244              .  230                     mu
+    .  243            .               .  227                     pi
+    .  244            | 179           .  229      .  228         sigma
+    .  245            .               .  231                     tau
+    .  246           245              .  237      .  232         phi
+    .  247                                        .  234         omega
+    .  248
+    .  249
+    .  250
+    .  251
+    .  252
+    .  253
+    .  236
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3c223.html b/Microsoft QuickBASIC v3/manual/ng3c223.html new file mode 100644 index 0000000..33f4da1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3c223.html @@ -0,0 +1,48 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ Number  I   R   G   B   Monochrome     Color          Background  Foreground
+ ------ --- --- --- ---  ----------     -----          ----------  ----------
+   0     0   0   0   0   Black          Black            Sample      Sample 
+   1     0   0   0   1   Underlined     Blue             Sample      Sample 
+   2     0   0   1   0                  Green            Sample      Sample 
+   3     0   0   1   1                  Cyan             Sample      Sample 
+   4     0   1   0   0                  Red              Sample      Sample 
+   5     0   1   0   1                  Violet           Sample      Sample 
+   6     0   1   1   0                  Brown            Sample      Sample 
+   7     0   1   1   1   White          White            Sample      Sample 
+
+   8     1   0   0   0                  Grey             Sample      Sample 
+   9     1   0   0   1   Brt Underline  Bright Blue      Sample      Sample 
+  10     1   0   1   0                  Bright Green     Sample      Sample 
+  11     1   0   1   1                  Bright Cyan      Sample      Sample 
+  12     1   1   0   0                  Bright Red       Sample      Sample 
+  13     1   1   0   1                  Bright Violet    Sample      Sample 
+  14     1   1   1   0                  Yellow           Sample      Sample 
+  15     1   1   1   1   Bright White   Bright White     Sample      Sample 
+
+  --------------------------------------------------------------------------
+
+    Notes:  Background colors 8 through 15 are the same color as 0 through
+            7, but blinking rather than steady.
+
+            Character attributes contain both a foreground and a background
+            color, and are calculated as follows:
+
+                   attribute = 256 * background + foreground
+
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3c7f0.html b/Microsoft QuickBASIC v3/manual/ng3c7f0.html new file mode 100644 index 0000000..82b5bee --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3c7f0.html @@ -0,0 +1,448 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+                               Keyboard Codes
+
+    This table lists (in decimal notation) the values that are placed in
+    the keyboard buffer by all the possible keystrokes and two-keystroke
+    combinations on the 83/84-key and 101/102-key keyboards. These are the
+    values returned (as strings) by the INKEY$ function.
+
+                                   83/84-Key[1]    101/102-Key
+   Keystroke                        Keyboard       Keyboard[2]
+      Esc                              027             same
+      1                                049             same
+      2                                050             same
+      3                                051             same
+      4                                052             same
+      5                                053             same
+      6                                054             same
+      7                                055             same
+      8                                056             same
+      9                                057             same
+      0                                048             same
+      -                                045             same
+      =                                061             same
+      Backspace                        008             same
+      Tab                              009             same
+      q                                113             same
+      w                                119             same
+      e                                101             same
+      r                                114             same
+      t                                116             same
+      y                                121             same
+      u                                117             same
+      i                                105             same
+      o                                111             same
+      p                                112             same
+      [                                091             same
+      ]                                093             same
+      Enter                            013             same
+      Ctrl                              **               **
+      a                                097             same
+      s                                115             same
+      d                                100             same
+      f                                102             same
+      g                                103             same
+      h                                104             same
+      j                                106             same
+      k                                107             same
+      l                                108             same
+      ;                                059             same
+      '                                039             same
+      `                                096             same
+      Shift                             **               **
+      \                                092             same
+      z                                122             same
+      x                                120             same
+      c                                099             same
+      v                                118             same
+      b                                 98             same
+      n                                110             same
+      m                                109             same
+      ,                                044             same
+      .                                046             same
+      /                                047             same
+      Gray *                           042             same
+      Alt                               **               **
+      Space                            032             same
+      Caps Lock                         **               **
+      F1                           000 059             same
+      F2                           000 060             same
+      F3                           000 061             same
+      F4                           000 062             same
+      F5                           000 063             same
+      F6                           000 064             same
+      F7                           000 065             same
+      F8                           000 066             same
+      F9                           000 067             same
+      F10                          000 068             same
+      F11                           no key          000 133
+      F12                           no key          000 134
+      Num Lock                          **               **
+      Scroll Lock                       **               **
+      White Home                   000 071             same
+      White Up Arrow               000 072             same
+      White PgUp                   000 073             same
+      Gray -                           045             same
+      White Left Arrow             000 075             same
+      Center Key                        --          000 076
+      White Right Arrow            000 077             same
+      Gray +                           043             same
+      White End                    000 079             same
+      White Down Arrow             000 080             same
+      White PgDn                   000 081             same
+      White Ins                    000 082             same
+      White Del                    000 083             same
+      SysReq                        no key               **
+      Key 45 [3]                    no key              092
+      Enter (number keypad)         no key          000 013
+      Gray /                        no key          000 047
+      PrtSc                         no key               **
+      Pause                         no key               **
+      Gray Home                     no key              071
+      Gray Up Arrow                 no key              072
+      Gray Page Up                  no key              073
+      Gray Left Arrow               no key              075
+      Gray Right Arrow              no key              077
+      Gray End                      no key              079
+      Gray Down Arrow               no key              080
+      Gray Page Down                no key              081
+      Gray Insert                   no key              082
+      Gray Delete                   no key              083
+
+      Shift Esc                        027             same
+      !                                033             same
+      @                                064             same
+      #                                035             same
+      $                                036             same
+      %                                037             same
+      ^                                094             same
+      &                                038             same
+      * (white)                        042             same
+      (                                040             same
+      )                                041             same
+      _                                095             same
+      + (white)                        043             same
+      Shift Backspace                  008             same
+      Shift Tab (Backtab)          000 015             same
+      Q                                081             same
+      W                                087             same
+      E                                069             same
+      R                                082             same
+      T                                084             same
+      Y                                089             same
+      U                                085             same
+      I                                073             same
+      O                                079             same
+      P                                080             same
+      {                                123             same
+      }                                125             same
+      Shift Enter                      013             same
+      Shift Ctrl                        **               **
+      A                                065             same
+      S                                083             same
+      D                                068             same
+      F                                070             same
+      G                                071             same
+      H                                072             same
+      J                                074             same
+      K                                075             same
+      L                                076             same
+      :                                058             same
+      "                                034             same
+      ~                                126             same
+      |                                124             same
+      Z                                090             same
+      X                                088             same
+      C                                067             same
+      V                                086             same
+      B                                066             same
+      N                                078             same
+      M                                077             same
+      <                                060             same
+      >                                062             same
+      ?                                063             same
+      Shift Gray *                      **              042
+      Shift Alt                         **               **
+      Shift Space                      032             same
+      Shift Caps Lock                   **               **
+      Shift F1                     000 084             same
+      Shift F2                     000 085             same
+      Shift F3                     000 086             same
+      Shift F4                     000 087             same
+      Shift F5                     000 088             same
+      Shift F6                     000 089             same
+      Shift F7                     000 090             same
+      Shift F8                     000 091             same
+      Shift F9                     000 092             same
+      Shift F10                    000 093             same
+      Shift F11                     no key          000 135
+      Shift F12                     no key          000 136
+      Shift Num Lock                    **               **
+      Shift Scroll Lock                 **               **
+      Shift 7 (number pad)             055             same
+      Shift 8 (number pad)             056             same
+      Shift 9 (number pad)             057             same
+      Shift Gray -                     045             same
+      Shift 4 (number pad)             052             same
+      Shift 5 (number pad)             053             same
+      Shift 6 (number pad)             054             same
+      Shift Gray +                     043             same
+      Shift 1 (number pad)             049             same
+      Shift 2 (number pad)             050             same
+      Shift 3 (number pad)             051             same
+      Shift 0 (number pad)             048             same
+      Shift . (number pad)             046             same
+      Shift SysReq                  no key               **
+      Shift Key 45 [3]              no key              124
+      Shift Enter (number pad)      no key          000 013
+      Shift Gray /                  no key          000 047
+      Shift PrtSc                   no key               **
+      Shift Pause                   no key               **
+      Shift Gray Home               no key              071
+      Shift Gray Up Arrow           no key              072
+      Shift Gray Page Up            no key              073
+      Shift Gray Left Arrow         no key              075
+      Shift Gray Right Arrow        no key              077
+      Shift Gray End                no key              079
+      Shift Gray Down Arrow         no key              080
+      Shift Gray Page Down          no key              081
+      Shift Gray Insert             no key              082
+      Shift Gray Delete             no key              083
+
+      Ctrl Esc                         027             same
+      Ctrl 1                            --               --
+      Ctrl 2 (NUL)                 000 003             same
+      Ctrl 3                            --               --
+      Ctrl 4                            --               --
+      Ctrl 5                            --               --
+      Ctrl 6 (RS)                      030             same
+      Ctrl 7                            --               --
+      Ctrl 8                            --               --
+      Ctrl 9                            --               --
+      Ctrl 0                            --               --
+      Ctrl -                           031             same
+      Ctrl =                            --               --
+      Ctrl Backspace (DEL)             127             same
+      Ctrl Tab                          --              148
+      Ctrl q (DC1)                     017             same
+      Ctrl w (ETB)                     023             same
+      Ctrl e (ENQ)                     005             same
+      Ctrl r (DC2)                     018             same
+      Ctrl t (DC4)                     020             same
+      Ctrl y (EM)                      025             same
+      Ctrl u (NAK)                     021             same
+      Ctrl i (HT)                      009             same
+      Ctrl o (SI)                      015             same
+      Ctrl p (DEL)                     016             same
+      Ctrl [ (ESC)                     027             same
+      Ctrl ] (GS)                      029             same
+      Ctrl Enter (LF)                  010             same
+      Ctrl a (SOH)                     001             same
+      Ctrl s (DC3)                     019             same
+      Ctrl d (EOT)                     004             same
+      Ctrl f (ACK)                     006             same
+      Ctrl g (BEL)                     007             same
+      Ctrl h (Backspace)               008             same
+      Ctrl j (LF)                      010             same
+      Ctrl k (VT)                      011             same
+      Ctrl l (FF)                      012             same
+      Ctrl ;                            --               --
+      Ctrl '                            --               --
+      Ctrl `                            --               --
+      Ctrl Shift                        **               **
+      Ctrl \ (FS)                      028             same
+      Ctrl z (SUB)                     026             same
+      Ctrl x (CAN)                     024             same
+      Ctrl c (ETX)                     003             same
+      Ctrl v (SYN)                     022             same
+      Ctrl b (STX)                     002             same
+      Ctrl n (SO)                      014             same
+      Ctrl m (CR)                      013             same
+      Ctrl ,                            --               --
+      Ctrl .                            --               --
+      Ctrl /                            --               --
+      Ctrl Gray *                       --          000 150
+      Ctrl Alt                          **               **
+      Ctrl Space                       032             same
+      Ctrl Caps Lock                    --               --
+      Ctrl F1                      000 094             same
+      Ctrl F2                      000 095             same
+      Ctrl F3                      000 096             same
+      Ctrl F4                      000 097             same
+      Ctrl F5                      000 098             same
+      Ctrl F6                      000 099             same
+      Ctrl F7                      000 100             same
+      Ctrl F8                      000 101             same
+      Ctrl F9                      000 102             same
+      Ctrl F10                     000 103             same
+      Ctrl F11                      no key          000 137
+      Ctrl F12                      no key          000 138
+      Ctrl Num Lock                     --               --
+      Ctrl Scroll Lock                  --               --
+      Ctrl White Home              000 119             same
+      Ctrl White Up Arrow               --          000 141
+      Ctrl White PgUp              000 132             same
+      Ctrl Gray -                       --          000 142
+      Ctrl White Left Arrow        000 115             same
+      Ctrl 5 (number pad)               --          000 143
+      Ctrl White Right Arrow       000 116             same
+      Ctrl Gray +                       --          000 144
+      Ctrl White End               000 117             same
+      Ctrl White Down Arrow             --          000 145
+      Ctrl White PgDn              000 118             same
+      Ctrl White Ins                    --          000 146
+      Ctrl White Del                    --          000 147
+      Ctrl SysReq                   no key               **
+      Ctrl Key 45 [3]               no key               --
+      Ctrl Enter (number pad)       no key          000 010
+      Ctrl / (number pad)           no key          000 149
+      Ctrl PrtSc                    no key              114
+      Ctrl Break                    no key          000 000
+      Ctrl Gray Home                no key              119
+      Ctrl Gray Up Arrow            no key              141
+      Ctrl Gray Page Up             no key              132
+      Ctrl Gray Left Arrow          no key              115
+      Ctrl Gray Right Arrow         no key              116
+      Ctrl Gray End                 no key              117
+      Ctrl Gray Down Arrow          no key              145
+      Ctrl Gray Page Down           no key              118
+      Ctrl Gray Insert              no key              146
+      Ctrl Gray Delete              no key              147
+
+      Alt Esc                           --          000 001
+      Alt 1                        000 120             same
+      Alt 2                        000 121             same
+      Alt 3                        000 122             same
+      Alt 4                        000 123             same
+      Alt 5                        000 124             same
+      Alt 6                        000 125             same
+      Alt 7                        000 126             same
+      Alt 8                        000 127             same
+      Alt 9                        000 128             same
+      Alt 0                        000 129             same
+      Alt -                        000 130             same
+      Alt =                        000 131             same
+      Alt Backspace                     --          000 014
+      Alt Tab                           --          000 165
+      Alt q                        000 016             same
+      Alt w                        000 017             same
+      Alt e                        000 018             same
+      Alt r                        000 019             same
+      Alt t                        000 020             same
+      Alt y                        000 021             same
+      Alt u                        000 022             same
+      Alt i                        000 023             same
+      Alt o                        000 024             same
+      Alt p                        000 025             same
+      Alt [                             --          000 026
+      Alt ]                             --          000 027
+      Alt Enter                         --          000 028
+      Alt Ctrl                          **               **
+      Alt a                        000 030             same
+      Alt s                        000 031             same
+      Alt d                        000 032             same
+      Alt f                        000 033             same
+      Alt g                        000 034             same
+      Alt h                        000 035             same
+      Alt j                        000 036             same
+      Alt k                        000 037             same
+      Alt l                        000 038             same
+      Alt ;                             --          000 039
+      Alt '                             --          000 040
+      Alt `                             --          000 041
+      Alt Shift                         **               **
+      Alt \                             --          000 043
+      Alt z                        000 044             same
+      Alt x                        000 045             same
+      Alt c                        000 046             same
+      Alt v                        000 047             same
+      Alt b                        000 048             same
+      Alt n                        000 049             same
+      Alt m                        000 050             same
+      Alt ,                             --          000 051
+      Alt .                             --          000 052
+      Alt /                             --          000 053
+      Alt Gray *                        --          000 055
+      Alt Space                        032             same
+      Alt Caps Lock                     **               **
+      Alt F1                       000 104             same
+      Alt F2                       000 105             same
+      Alt F3                       000 106             same
+      Alt F4                       000 107             same
+      Alt F5                       000 108             same
+      Alt F6                       000 109             same
+      Alt F7                       000 110             same
+      Alt F8                       000 111             same
+      Alt F9                       000 112             same
+      Alt F10                      000 113             same
+      Alt F11                       no key          000 139
+      Alt F12                       no key          000 140
+      Alt Num Lock                      **               **
+      Alt Scroll Lock                   **               **
+      Alt Gray -                        --          000 074
+      Alt Gray +                        --          000 078
+      Alt 7 (number pad)                 #                #
+      Alt 8 (number pad)                 #                #
+      Alt 9 (number pad)                 #                #
+      Alt 4 (number pad)                 #                #
+      Alt 5 (number pad)                 #                #
+      Alt 6 (number pad)                 #                #
+      Alt 1 (number pad)                 #                #
+      Alt 2 (number pad)                 #                #
+      Alt 3 (number pad)                 #                #
+      Alt Del                           --               --
+      Alt SysReq                    no key               **
+      Alt Key 45 [3]                no key               --
+      Alt Enter (number pad)        no key          000 166
+      Alt / (number pad)                --          000 164
+      Alt PrtSc                     no key               **
+      Alt Pause                     no key               **
+      Alt Gray Home                 no key          000 151
+      Alt Gray Up Arrow             no key          000 152
+      Alt Gray Page Up              no key          000 153
+      Alt Gray Left Arrow           no key          000 155
+      Alt Gray Right Arrow          no key          000 157
+      Alt Gray End                  no key          000 159
+      Alt Gray Down Arrow           no key          000 160
+      Alt Gray Page Down            no key          000 161
+      Alt Gray Insert               no key          000 162
+      Alt Gray Delete               no key          000 163
+
+   --------------------------------------------------------------------------
+   Footnotes
+      
+         [1]    The 83-key and 84-key keyboards are the original PC
+                keyboard and the original-layout AT keyboard,
+                respectively.
+
+         [2]    The 101/102-key keyboard is the current IBM standard
+                ("Enhanced") keyboard.
+
+         [3]    In the United States, the 101/102-key keyboard is shipped
+                with 101 keys. Overseas versions have an additional key
+                sandwiched between the left Shift key and the Z key. This
+                additional key is identified by IBM (and in this table) as
+                "Key 45."
+
+        [**]    Keys and key combinations marked ** are used by the ROM
+                BIOS but do not put values into the keyboard buffer.
+
+        [--]    Keys and key combinations marked -- are ignored by the ROM
+                BIOS.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3ce3.html b/Microsoft QuickBASIC v3/manual/ng3ce3.html new file mode 100644 index 0000000..2caa7a3 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3ce3.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+>                        Greater than Operator
+
+ exp1 > exp2
+
+    > is a relational operator. If the value of exp1 is greater than that
+    of exp2, the result of exp1 > exp2 is -1; otherwise the result is 0.
+    In IF statements, BASIC regards 0 as equivalent to FALSE and all
+    nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+See Also: += +<> +< +<= +>= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng3f0fb.html b/Microsoft QuickBASIC v3/manual/ng3f0fb.html new file mode 100644 index 0000000..6f534da --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng3f0fb.html @@ -0,0 +1,22 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+
+       The QuickBASIC 3.0  database, Copyright (C) 1987 by
+    Peter Norton Computing, Inc., was written by Craig Stinson,
+    Burton L. Alperson, Brad Kingsbury, John Socha, and Peter Norton.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng40a9.html b/Microsoft QuickBASIC v3/manual/ng40a9.html new file mode 100644 index 0000000..f295f1b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng40a9.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+>=                       Greater than or Equal to Operator
+
+ exp1 >= exp2
+
+    >= is a relational operator. If the value of exp1 is greater than that
+    of exp2, the result of exp1 < exp2 is -1; otherwise the result is 0.
+    In IF statements, BASIC regards 0 as equivalent to FALSE and all
+    nonzero values as equivalent to TRUE.
+
+    If the operands are string expressions, BASIC compares the ASCII
+    values of the first character in each expression. If the first
+    characters have the same ASCII value, BASIC then evaluates the second
+    characters, and so on. If one string terminates before the other, and
+    the characters in each string are identical to that point, the shorter
+    string is considered "less" than the longer one.
+
+   exp1,exp2    Any numeric or string expression, but exp1 and exp2 must
+                either both be numeric or both be strings; otherwise a
+                Type Mismatch error occurs.
+
+
+
+See Also: += +<> +< +> +<= +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng447e.html b/Microsoft QuickBASIC v3/manual/ng447e.html new file mode 100644 index 0000000..be22c46 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng447e.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+\                        Integer Division Operator
+
+ exp1 \ exp2
+
+    The \ operator performs integer division. The operands are rounded
+    (not truncated) to integers before the division is performed, and the
+    result is truncated (not rounded) to an integer. The operands must
+    round to integers in the range -32768 through 32767.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +^^ +- +* +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng4642.html b/Microsoft QuickBASIC v3/manual/ng4642.html new file mode 100644 index 0000000..56c1ab6 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng4642.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+^                       Exponentiation Operator
+
+ exp1 ^ exp2
+
+    The ^ operator performs exponentiation. If the expression involves
+    operands of more than one precision, all operands are converted to the
+    same level--that of the highest-precision operand in the expression--
+    before the expression is evaluated.
+
+   exp1,exp2    Any numeric expression.
+
+
+See Also: +* +- +/ +\ +MOD ++ +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng47f3.html b/Microsoft QuickBASIC v3/manual/ng47f3.html new file mode 100644 index 0000000..d947f0c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng47f3.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+$DYNAMIC                 Declare Arrays Dynamic
+
+ REM $DYNAMIC
+
+    Makes the default array allocation dynamic.
+
+   --------------------------------------------------------------------------
+
+      Notes:    $DYNAMIC makes all subsequent arrays dynamic except for
+                those that are implicitly DIMensioned (i.e. used without a
+                DIM statement). Implicitly DIMensioned arrays are always
+                static.
+
+
+See Also: +$STATIC +DIM +ERASE +FRE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng49b8.html b/Microsoft QuickBASIC v3/manual/ng49b8.html new file mode 100644 index 0000000..42b9d98 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng49b8.html @@ -0,0 +1,37 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+$INCLUDE                 Include File
+
+ REM $INCLUDE: filespec
+
+    Causes compilation to branch to a specified text file, then return to
+    the main file when the end of the $INCLUDE file has been reached.
+
+    filespec    A string literal that follows DOS file-naming conventions.
+                The argument must be enclosed within single quote marks.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the include file was created with the BASIC
+                Interpreter, it must be saved in ASCII format.
+
+                The include file must not contain END statements.
+
+                Variables in the $INCLUDE file must be consistent with
+                those in the main program.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng4c6c.html b/Microsoft QuickBASIC v3/manual/ng4c6c.html new file mode 100644 index 0000000..e567e7e --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng4c6c.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+$STATIC                  Declare Arrays Static
+
+ REM $STATIC
+
+    Makes the default array allocation static.
+
+   -----------------------------------------------------------------------
+
+      Notes:    $STATIC makes all subsequent arrays static, including
+                those that are DIMensioned with variable subscripts.
+
+
+See Also: +$STATIC +DIM +ERASE +FRE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng4ddd.html b/Microsoft QuickBASIC v3/manual/ng4ddd.html new file mode 100644 index 0000000..6813bf5 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng4ddd.html @@ -0,0 +1,43 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+'                        Comment
+
+ ' [remark]
+
+    Adds explanatory text to a program listing.
+
+      remark    Commentary text, ignored by BASIC.
+
+   -----------------------------------------------------------------------
+
+      Notes:    BASIC does not execute comments, but a program may branch
+                to a statement beginning with '.  Execution will then
+                continue with the first executable statement thereafter.
+
+                Any program statements following a comment, in the same
+                logical line, are ignored by BASIC.
+
+                ' can be used to add a comment at the end of an existing
+                program statement (BASIC ignores everything following the
+                ' character). Exception: ' cannot be used in this manner
+                in a DATA statement (because BASIC would treat the ' as
+                part of the DATA).
+
+
+See Also: +REM +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng50f1.html b/Microsoft QuickBASIC v3/manual/ng50f1.html new file mode 100644 index 0000000..0c88016 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng50f1.html @@ -0,0 +1,25 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ABS                      Absolute Value
+
+ y = ABS(numexpr)
+
+    Returns the absolute value of an expression.
+
+     numexpr    A numeric expression.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng5198.html b/Microsoft QuickBASIC v3/manual/ng5198.html new file mode 100644 index 0000000..37c8558 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng5198.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+AND                      Logical AND Operator
+
+ exp1 AND exp2
+
+    AND is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 AND exp2
+                       1    1             1
+                       1    0             0
+                       0    1             0
+                       0    0             0
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +EQV +IMP +NOT +OR +XOR +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng5456.html b/Microsoft QuickBASIC v3/manual/ng5456.html new file mode 100644 index 0000000..a93a8da --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng5456.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ASC                      ASCII Value of First Character
+
+ y = ASC(stringexpr)
+
+    Returns the ASCII value of the first character of a string expression.
+
+  stringexpr    A string expression.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the argument is a null string, ASC returns an Illegal
+                Function Call error.
+
+
+See Also: +CHR$ +ASCII Table +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng55f2.html b/Microsoft QuickBASIC v3/manual/ng55f2.html new file mode 100644 index 0000000..85dfcfa --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng55f2.html @@ -0,0 +1,36 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ATN                      Arctangent
+
+ y = ATN(numexpr)
+
+    Returns, in radians, the angle whose tangent is numexpr.
+
+     numexpr    A numeric expression.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the argument is a double-precision expression, ATN
+                returns a double-precision value. Otherwise single
+                precision is returned.
+
+
+See Also: +COS +SIN +TAN +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng579e.html b/Microsoft QuickBASIC v3/manual/ng579e.html new file mode 100644 index 0000000..0a0db57 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng579e.html @@ -0,0 +1,24 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+BEEP                     Beep the Speaker
+
+ BEEP
+
+    Sounds the speaker at 800 Hz for a quarter of a second (equivalent to
+    PRINT CHR$(7)).
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng5839.html b/Microsoft QuickBASIC v3/manual/ng5839.html new file mode 100644 index 0000000..57daf18 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng5839.html @@ -0,0 +1,43 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+BLOAD                    Load Binary (Memory Image) File
+
+ BLOAD filespec [,offset]
+
+    Loads a specified memory image file into memory.
+
+    filespec    A string expression that follows DOS file naming
+                conventions; may include any device, except "KYBD:".
+
+      offset    A single-precision expression in the range 0 to 1048575
+                (2^20-1). Specifies the offset at which filespec is
+                loaded. Defaults to the offset found in filespec when the
+                image was BSAVEd.
+
+   -----------------------------------------------------------------------
+
+      Notes:    The segment into which the file is BLOADed is that
+                specified by the most recent DEF SEG statement.
+
+                You will not be warned if a BLOAD is about to overwrite
+                DOS or any other sensitive area of memory.
+
+
+See Also: +BSAVE +DEF SEG +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng5b68.html b/Microsoft QuickBASIC v3/manual/ng5b68.html new file mode 100644 index 0000000..a70864b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng5b68.html @@ -0,0 +1,42 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+BSAVE                    Save a Binary (Memory Image) File
+
+ BSAVE filespec,offset,length
+
+    Copies a specified portion of memory to a specified file.
+
+    filespec    A string expression that follows DOS file naming
+                conventions; may include a device name and path.
+
+      offset    A single-precision expression in the range 0 to 1048575
+                (2^20-1). Specifies the offset from which the memory
+                image will be saved.
+
+      length    An integer expression in the range 1 to 65535. Specifies
+                the number of bytes to be saved.
+
+   -----------------------------------------------------------------------
+
+      Notes:    The segment from which the BSAVE is made is that specified
+                by the most recent DEF SEG statement.
+
+
+See Also: +BLOAD +DEF SEG +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng5e67.html b/Microsoft QuickBASIC v3/manual/ng5e67.html new file mode 100644 index 0000000..6490d27 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng5e67.html @@ -0,0 +1,56 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CALL                     Invoke Subprogram or Assembly Subroutine
+
+ CALL procname [(parmlist)]
+
+    Transfers control to a subprogram or assembly language subroutine.
+
+    procname    Specifies the subprogram or assembly routine to be called.
+                The first 31 characters are significant. If name is an
+                assembly language subroutine, it must be a PUBLIC symbol
+                and must not contain '$' or '_' characters.
+
+    parmlist    Specifies one or more parameters to be passed to the
+                subprogram or routine. Parameters must be separated by
+                commas. Array parameters should be specified by the array
+                name followed by empty parentheses.
+
+   -----------------------------------------------------------------------
+
+      Notes:    CALL passes unsegmented addresses of parameters. To pass
+                segmented addresses, use CALLS.
+
+                Note the following differences between QuickBASIC and
+                interpreted BASIC:
+
+                1.  QuickBASIC uses 4-byte string descriptors, while
+                    interpreted BASIC uses 3-byte descriptors. An assembly
+                    subroutine that uses string arguments may therefore
+                    need to be modified if it was originally written to
+                    run with an interpreted program.
+
+                2.  The QuickBASIC CALL statement calls subroutines by
+                    name; interpreted BASIC's CALL statement calls
+                    subroutines by offset address. To call a subroutine by
+                    address in QuickBASIC, use CALL ABSOLUTE.
+
+
+See Also: +CALL ABSOLUTE +CALLS +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng63e4.html b/Microsoft QuickBASIC v3/manual/ng63e4.html new file mode 100644 index 0000000..db9ffca --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng63e4.html @@ -0,0 +1,48 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CALL ABSOLUTE            Invoke Subprogram or Assembly Subroutine
+
+ CALL ABSOLUTE ([arglist,]intvar)
+
+    Transfers control and (optionally) passes parameters to an assembly
+    language subroutine.
+
+     arglist    Specifies one or more parameters to be passed to the
+                subroutine. Parameters must be separated by commas. Array
+                parameters should be specified by the array name followed
+                by empty parentheses.
+
+      intvar    An integer variable. Specifies the address of the
+                subroutine as an offset within the current code segment.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Your program should execute a DEF SEG statement before
+                calling the subroutine to ensure the code segment is
+                correct (or put the subroutine in DGROUP).
+
+                QuickBASIC uses 4-byte string descriptors, while
+                interpreted BASIC uses 3-byte descriptors. An assembly
+                subroutine that uses string arguments may therefore need
+                to be modified if it was originally written to run with an
+                interpreted program.
+
+
+See Also: +CALL +CALLS +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng681f.html b/Microsoft QuickBASIC v3/manual/ng681f.html new file mode 100644 index 0000000..59685b0 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng681f.html @@ -0,0 +1,57 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CALLS                    Invoke Subprogram or Assembly Subroutine
+
+ CALLS name [(arglist)]
+
+    Transfers control and (optionally) passes parameters to a subprogram
+    or an assembly language subroutine.
+
+        name    Specifies the subprogram or subroutine to be called. The
+                first 31 characters are significant. If name is an
+                assembly language subroutine, it must be a PUBLIC symbol
+                and must not contain '$' or '_' characters.
+
+     arglist    Specifies one or more parameters to be passed to the
+                subprogram or subroutine. Parameters must be separated by
+                commas. Array parameters should be specified by the array
+                name followed by empty parentheses.
+
+   -----------------------------------------------------------------------
+
+      Notes:    CALLS passes segmented addresses of parameters. To pass
+                unsegmented addresses, use CALL.
+
+                Note the following differences between QuickBASIC and
+                interpreted BASIC:
+
+                1.  QuickBASIC uses 4-byte string descriptors, while
+                    interpreted BASIC uses 3-byte descriptors. An assembly
+                    subroutine that uses string arguments may therefore
+                    need to be modified if it was originally written to
+                    run with an interpreted program.
+
+                2.  The QuickBASIC CALL statement calls subroutines by
+                    name; interpreted BASIC's CALL statement calls
+                    subroutines by offset address. To call a subroutine by
+                    address in QuickBASIC, use CALL ABSOLUTE.
+
+
+See Also: +CALL ABSOLUTE +CALL +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng6db8.html b/Microsoft QuickBASIC v3/manual/ng6db8.html new file mode 100644 index 0000000..93f90f1 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng6db8.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CDBL                     Convert to Double Precision
+
+ y = CDBL(numexpr)
+
+    Converts any numeric expression to double precision.
+
+     numexpr    A numeric expression.
+
+
+See Also: +CINT +CSNG +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng6e8b.html b/Microsoft QuickBASIC v3/manual/ng6e8b.html new file mode 100644 index 0000000..a3004af --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng6e8b.html @@ -0,0 +1,55 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CHAIN                    Transfer to Another Program
+
+ CHAIN filespec
+
+    Transfers control to another program.
+
+    filespec    A string expression that follows DOS file naming
+                conventions; If no extension is supplied, an extension of
+                .EXE is assumed.
+
+   -----------------------------------------------------------------------
+
+      Notes:    If the calling program and the chained-to program are both
+                compiled with the default library, BRUN20.LIB, variables
+                may be passed to the chained-to program via COMMON, and
+                files opened by the calling program remain open to the
+                CHAINed program.
+
+                The alternate library, BCOM20.LIB does not support COMMON,
+                and in programs compiled with BCOM20.LIB, a CHAIN
+                statement is equivalent to a RUN statement (i.e., open
+                files are closed before the CHAINed program is executed).
+
+                Note the following differences between QuickBASIC and the
+                BASIC interpreter:
+
+                1.  The interpreter assumes a .BAS extension for the
+                    chained-to filespec; QuickBASIC assumes .EXE. The only
+                    explicit filespec extension allowed in QuickBASIC is
+                    .EXE.
+
+                2.  QuickBASIC does not support the ALL, MERGE, DELETE,
+                    and line options of the interpreted BASIC CHAIN
+                    statement.
+
+
+See Also: +COMMON +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng7372.html b/Microsoft QuickBASIC v3/manual/ng7372.html new file mode 100644 index 0000000..a12d413 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng7372.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CHDIR                    Change Directory
+
+ CHDIR pathspec
+
+    Changes the current directory.
+
+    pathspec    A string expression, of 128 or fewer characters, that
+                follows DOS path naming conventions.
+
+   --------------------------------------------------------------------------
+
+      Notes:    This procedure is equivalent to DOS's CHDIR command.
+
+
+See Also: +MKDIR +RMDIR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng74fa.html b/Microsoft QuickBASIC v3/manual/ng74fa.html new file mode 100644 index 0000000..4b0744f --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng74fa.html @@ -0,0 +1,30 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CHR$                     Convert ASCII Code to Character
+
+ s$ = CHR$(code)
+
+    Returns the character whose ASCII value is specified.
+
+        code    A numeric expression in the range 0 to 255.
+
+
+See Also: +ASC +STR$ +ASCII Table +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng75f2.html b/Microsoft QuickBASIC v3/manual/ng75f2.html new file mode 100644 index 0000000..fc1e995 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng75f2.html @@ -0,0 +1,31 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CINT                     Convert to Integer
+
+ y = CINT(numexpr)
+
+    Converts a numeric expression to an integer, by rounding.
+
+     numexpr    A numeric expression in the range -32768 to 32767.
+
+
+See Also: +CDBL +CSNG +FIX +INT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng76ee.html b/Microsoft QuickBASIC v3/manual/ng76ee.html new file mode 100644 index 0000000..f06f371 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng76ee.html @@ -0,0 +1,57 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CIRCLE                   Draw Ellipse on Screen
+
+ CIRCLE [STEP] (x,y), radius [,[color] [,[start],[end][,aspect]]]
+
+    Draws an ellipse on the screen.
+
+        STEP    If included, coordinates are relative to last graphics
+                point referenced (LPR). If omitted, coordinates are
+                absolute.
+
+         x,y    The center (column, row) of the ellipse in pixels.
+
+      radius    Length, in pixels, of the major axis (the radius, in the
+                case of a circle).
+
+       color    Color in which the ellipse is drawn. Defaults to 3 in
+                medium resolution, 1 in high resolution.
+
+       start    Starting angle of arc, in radians. Defaults to 0.
+
+         end    Ending angle of arc, in radians. Defaults to 2..
+
+      aspect    Ratio, in pixels, of the x radius to the y radius.
+                Defaults to 5/6 in medium resolution, 5/12 in high
+                resolution; these values generate a circle on the CGA.
+
+   --------------------------------------------------------------------------
+
+      Notes:    Omitting start and end will draw a complete circle.
+
+                If negative values for start and end are given, the end
+                points of the resulting arc are connected to the center
+                point, thus creating pie-chart wedges.
+
+                After a CIRCLE statement has been executed, the "last
+                point referenced" (LPR) is the center of the ellipse.
+
+
+See Also: +LINE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng7c2f.html b/Microsoft QuickBASIC v3/manual/ng7c2f.html new file mode 100644 index 0000000..baa2129 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng7c2f.html @@ -0,0 +1,48 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CLEAR                    Close Files, Reset Variables, Set Stack Space
+
+ CLEAR [,,stack]
+
+    Closes all files, clears all COMMON variables, resets all numeric
+    variables to 0 and all string variables to null, releases all disk
+    buffers, resets the stack, and optionally specifies the size of the
+    stack.
+
+       stack    Specifies, in bytes, the size of QuickBASIC's stack. The
+                default is 768 bytes; the minimum is 512 bytes.
+
+   -----------------------------------------------------------------------
+
+      Notes:    CLEAR destroys pending return addresses left on the stack
+                by GOSUB, FOR/NEXT, and WHILE/WEND.
+
+                CLEAR does not affect symbolic constants.
+
+                QuickBASIC's CLEAR differs from the Interpreter's in two
+                ways:
+
+                1.  The Interpreter's CLEAR statement destroys all DEF FN
+                    and DEFtype statements. QB's does not.
+
+                2.  The interpreter's default stack is 512 bytes. QB's is
+                    768.
+
+
+See Also: +ERASE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng7fd0.html b/Microsoft QuickBASIC v3/manual/ng7fd0.html new file mode 100644 index 0000000..f540af9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng7fd0.html @@ -0,0 +1,42 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CLOSE                    Close File or Device
+
+ CLOSE [[#] filenum [,[#] filenum]...]
+
+    Closes one or more files or devices and terminates the association
+    between a file or device and its number.
+
+     filenum    The number under which a file was OPENed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If no filenum is supplied, all open files and devices are
+                CLOSEd.
+
+                If the device or file was OPENed for sequential output,
+                CLOSE writes the final buffer to the device or file.
+
+                CLEAR, END, NEW, RESET, and SYSTEM automatically close all
+                open files and devices.
+
+
+See Also: +END +OPEN +STOP +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng8271.html b/Microsoft QuickBASIC v3/manual/ng8271.html new file mode 100644 index 0000000..40c4a50 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng8271.html @@ -0,0 +1,56 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CLS                      Clear Screen
+
+ CLS [0 | 1 | 2]
+
+    Clears the screen, as described below, and returns the cursor to the
+    Home position (row 1, column 1).
+
+           0    CLS 0 clears all text and graphics.
+
+           1    CLS 1 clears just the graphics viewport, if a VIEW
+                statement has been issued. If no VIEW statement has been
+                issued, CLS 1 clears the entire screen.
+
+           2    CLS 2 clears just the text window. The bottom screen line
+                (line 25 or line 43) is left unchanged.
+
+   ----------------------------------------------------------------------
+
+      Notes:    CLS with no argument clears the entire screen, unless a
+                VIEW statement has been used to create a viewport in
+                graphics mode--in which case CLS clears only the current
+                viewport.
+
+                CLS resets the "last point referenced" (LPR) so that the
+                next graphics command that uses the STEP option references
+                the center of the screen.
+
+                In text mode, CLS clears the active page to the background
+                color. In graphics mode, CLS clears the entire screen
+                buffer to the background color.
+
+                Other ways to clear the screen include SCREEN, WIDTH, and
+                Ctrl-Home.
+
+
+See Also: +COLOR +SCREEN +VIEW +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng86fb.html b/Microsoft QuickBASIC v3/manual/ng86fb.html new file mode 100644 index 0000000..cac5054 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng86fb.html @@ -0,0 +1,164 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+COLOR                    Set Foreground, Background, and Border Colors
+
+ COLOR [foreground] [,[background] [,border]]     ' Screen mode 0
+ COLOR [background] [,[palette]                   ' Screen mode 1
+ COLOR [foreground] [,[background]]               ' Screen modes 7-10
+
+    Specifies foreground, background, and border colors in text mode
+    (SCREEN mode 0); in medium-resolution graphics mode (SCREEN mode 1),
+    specifies palette and background color; in screen modes 7 through 10,
+    specifies foreground and background colors. May not be used in SCREEN
+    mode 2 (high-resolution graphics).
+
+  foreground    An integer expression; selects the foreground color. For
+                SCREEN mode 0, this value must be in the range 0 to 31;
+                for SCREEN modes 7-10, this value must be in the range
+                1-15.
+
+  background    An integer expression; selects the background color. For
+                SCREEN mode 0, this value must be in the range 0 to 7; for
+                SCREEN modes 1-10, this value must be in the range 0 to
+                63.
+
+     palette    An integer expression, selecting one of two color palettes
+                (see below).
+
+      border    An integer expression; must be in the range 0 to 15.
+                Selects the color of the border.
+
+                         Color values
+
+          Value     Color          Value     Color
+            0       Black            8       Gray
+            1       Blue             9       Light blue
+            2       Green           10       Light green
+            3       Cyan            11       Light cyan
+            4       Red             12       Light red
+            5       Magenta         13       Light magenta
+            6       Brown           14       Yellow
+            7       White           15       Bright white
+
+          Add 16 to a value to produce its blinking equivalent.
+
+                    Foreground attributes for the
+                     Monochrome Display Adapter
+
+                        Value      Foreground Attribute
+                         0         Black
+                         1         Underlined
+                         2-7       White
+                         8         Black
+                         9         Underlined high intensity
+                         10-15     High-intensity white
+                         16        Black
+                         17        Underlined black
+                         18-23     Blink
+                         24        Black
+                         25        Blinking underlined high intensity
+                         26-31     Blinking high intensity
+
+    Background values in the range 0 to 6 produce a black background,
+    while a value of 7 produces a white background.
+
+    If the background and foreground are the same, then the characters
+    will be invisible.
+
+    The following is a list of legal values for each of the SCREEN modes:
+
+               SCREEN 0 (Text mode)
+                    The foreground color must be in the range 0 to 31.
+                    The background color must be in the range 0 to 7.
+                    The border color must be in the range 0 to 15.
+
+                    The default color for background and border is black.
+
+               SCREEN 1 (Medium-resolution graphics mode)
+                    The background color must be in the range 0 to 15.
+                    Even numbers for palette will select Palette 0,
+                         whereas odd number will select Palette 1.
+
+                                   Palettes
+
+                    Color     Palette 0                Palette 1
+                    0         Current background       Current background
+                    1         Green                    Cyan
+                    2         Red                      Magenta
+                    3         Brown                    White
+
+               SCREEN 2 (High-resolution graphics mode)
+                    Calling COLOR when in this mode will result in a
+                    runtime error.
+
+               SCREEN 7 and 8
+                    The foreground color must be in the range 1 to 15.
+                    The background color must be in the range 0 to 15.
+
+                    EGA only. The colors are dependent on the current
+                    palette selected (See PALETTE statement).
+
+               SCREEN 9
+                    The foreground color must be in the range 1 to 15 for
+                    EGAs with more than 64K. If the EGA only has 64K, the
+                    foreground color must be in the range 1 to 3.
+
+                    The background color must be in the range 0 to 63.
+
+                    EGA only.  The colors are dependent on the current
+                    palette selected (See PALETTE statement).
+
+               SCREEN 10
+                    The foreground color must be in the range 1 to 3. The
+                    values are as follows: 1 = Black; 2 = Blink; and
+                    3 = High Intensity.
+
+                    The background color must be in the range 0 to 8.
+
+                    EGA only. The colors are dependent on the current
+                    palette selected (See PALETTE statement).
+
+   --------------------------------------------------------------------------
+
+      Notes:    In text mode (SCREEN mode 0), the COLOR statement
+                specifies the foreground, background, and border colors.
+                Omitted parameters retain former values. The default is
+                white foreground (7), black background (0), and black
+                border (0). The border parameter is ignored on the
+                Monochrome Display Adapter.
+
+                In medium-resolution graphics mode (SCREEN mode 1), the
+                COLOR statement doesn't actually specify the foreground
+                color. Instead it specifies the background color and one
+                of two three-color palettes. Foreground colors are
+                selected from the current palette via the PSET, PRESET,
+                LINE, CIRCLE, PAINT, VIEW, and DRAW statements. Either the
+                background parameter or the palette parameter (but not
+                both) may be omitted; omitted parameters retain former
+                values.
+
+                The COLOR statement may not be used in high-resolution
+                graphics mode (SCREEN mode 2).
+
+                The border option cannot be used with an Enhanced Graphics
+                Adapter (EGA) with an Enhanced Color Display.
+
+
+See Also: +PALETTE +SCREEN (Statement) +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng9a3c.html b/Microsoft QuickBASIC v3/manual/ng9a3c.html new file mode 100644 index 0000000..cbee8b8 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng9a3c.html @@ -0,0 +1,52 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+COM(n)                   Enable/Disable Comm Port Trapping
+
+ COM(n) {ON | OFF | STOP}
+
+    Enables the trapping of communications activity via ON COM(n).
+
+           n    Must be 1, for COM1:, or 2, for COM2:.
+
+          ON    Causes QB to check for communications activity.
+
+         OFF    Causes QB not to check for communications activity. This
+                is the default condition.
+
+        STOP    Also disables trapping, but QB continues checking for
+                activity at the specified communications port. If such
+                activity occurs, a subsequent COM(n) ON results in an
+                immediate trap (provided an ON COM(n) statement with a
+                nonzero line number has been executed).
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the "Checking Between Statements" option is in effect,
+                QB checks for communication activity after each statement.
+                If the "Event Trapping" option is selected, QB checks
+                after each new program line. If neither option is
+                selected, no trapping takes place.
+
+                For command-line compilation, /v enables checking after
+                each statement, and /w enables checking after each new
+                line. If neither switch is used, no trapping takes place.
+
+
+See Also: +ON COM +Switches and Options +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ng9f05.html b/Microsoft QuickBASIC v3/manual/ng9f05.html new file mode 100644 index 0000000..b21391a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ng9f05.html @@ -0,0 +1,35 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+COMMAND$                 Get Command Line
+
+ s$ = COMMAND$
+
+    Returns the command-line parameter(s) supplied when a QuickBASIC
+    program is invoked.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Returns everything that was typed on the command line when
+                the program was executed, except the program name and any
+                redirection or piping commands.
+
+                The function strips any leading white-space characters and
+                converts all lowercase characters to upper case.
+
+                The maximum length of the command line is 127 characters.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/nga150.html b/Microsoft QuickBASIC v3/manual/nga150.html new file mode 100644 index 0000000..fbd1a84 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/nga150.html @@ -0,0 +1,73 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+COMMON                   Pass Variables to CHAINed Program or Subprogram
+
+ COMMON [SHARED] [/blockname/] varlist
+
+    Passes variables to a chained-to program or a subprogram.
+
+      SHARED    An optional attribute. The COMMON statement must appear in
+                both the calling program and the chained-to program or
+                subprogram--unless the subprogram is in the same module as
+                the calling program and the SHARED attribute is used in
+                the calling program's COMMON statement.
+
+   blockname    Any valid BASIC identifier; the first 31 characters are
+                significant. Allows you to name a group of common
+                variables. A group of variables passed with a blockname is
+                called a named COMMON block; variables passed without a
+                blockname are called a blank COMMON block.
+
+     varlist    One or more scalar or array variables to be shared with a
+                chained-to program or a subprogram.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The order in which variables appear in varlist is
+                significant, not the names of the variables. To avoid type
+                mismatches and other calamities, it's advisable to put all
+                shared variables in a COMMON statement in a separate file,
+                then $INCLUDE that file in both the calling program and
+                any chained-to programs or subprograms.
+
+                The COMMON statement must appear before any executable
+                statements. Nonexecutable statements are CONST, DATA,
+                COMMON, DEFtype, DIM (for static arrays), OPTION BASE,
+                comments, and metacommands.
+
+                If a static array is to be passed to a chained-to program
+                or subprogram, its DIM statement must appear before the
+                COMMON statement. The DIM statement must use integer-
+                constant subscripts.
+
+                If a dynamic array is to be passed, it must be DIMmed or
+                REDIMmed after the COMMON statement.
+
+                When passing a named COMMON block to a program in the user
+                library, the calling program may not redefine the block to
+                a larger size. Blank COMMON blocks may be resized.
+
+                When COMMON is used with CHAIN and compilation is done
+                outside the QuickBASIC environment, the BRUN20.EXE library
+                (QB's default) must be used.
+
+
+See Also: +CALL +CHAIN +SUB...END SUB +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/nga9db.html b/Microsoft QuickBASIC v3/manual/nga9db.html new file mode 100644 index 0000000..cb7cefe --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/nga9db.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CONST                    Declare Symbolic Constant(s)
+
+ CONST name = expr [,name = expr...]
+
+    Declares one or more symbolic constants.
+
+        name    An identifier that follows the rules for naming BASIC
+                variables. A type character (%, #, !, or $) may be
+                included in the declaration, but the type character does
+                not have to be used in statements that reference the
+                constant.
+
+        expr    An expression consisting of literals, with or without
+                operators, only. The exponentiation operator may not be
+                used, nor may any intrinsic function.
+
+   -----------------------------------------------------------------------
+
+      Notes:    Symbolic constants produce more efficient code than do
+                constant values assigned to variables.
+
+                Symbolic constants are global.
+
+                If a type character is not included in the constant name,
+                the compiler evaluates the expression and assigns the most
+                compact possible data type to the constant.
+
+                DEFtype statements do not affect symbolic constants.
+
+                Symbolic constants must be defined before they're
+                referenced.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngae1d.html b/Microsoft QuickBASIC v3/manual/ngae1d.html new file mode 100644 index 0000000..2730c7d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngae1d.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+COS                      Cosine
+
+ y = COS(numexpr)
+
+    Returns the cosine of the angle whose value, in radians, is expressed
+    in numexpr.
+
+     numexpr    A numeric expression. If numexpr is a double-precision
+                expression, COS returns a double-precision value.
+                Otherwise single precision is returned.
+
+
+See Also: +ATN +SIN +TAN +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngaf85.html b/Microsoft QuickBASIC v3/manual/ngaf85.html new file mode 100644 index 0000000..c92c0cd --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngaf85.html @@ -0,0 +1,29 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CSNG                     Convert to Single Precision
+
+ y = CSNG(numexpr)
+
+    Converts any numeric expression to single precision.
+
+     numexpr    A numeric expression.
+
+
+See Also: +CDBL +CINT +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngb058.html b/Microsoft QuickBASIC v3/manual/ngb058.html new file mode 100644 index 0000000..4f58e97 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngb058.html @@ -0,0 +1,33 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CSRLIN                   Line Position of Cursor
+
+ y = CSRLIN
+
+    Returns the row number of the current cursor location on the current
+    screen page.
+
+   ----------------------------------------------------------------------
+
+      Notes:    To get the current column position, use POS. To set the
+                cursor position, use LOCATE.
+
+
+See Also: +LOCATE +POS +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngb1c8.html b/Microsoft QuickBASIC v3/manual/ngb1c8.html new file mode 100644 index 0000000..c42a80a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngb1c8.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CVD                      Convert String to Double-Precision
+
+ y# = CVD(8-byte-string)
+
+    Converts an eight-byte string expression to a double-precision number.
+
+   ----------------------------------------------------------------------
+
+      Notes:    A double-precision real number must be converted to a
+                string (via MKD$) before being stored in a random access
+                file. To retrieve such a number, first assign it to a file
+                buffer field (with GET), then use CVD.
+
+
+See Also: +GET (File I/O) +CVI +CVS +MKD$ +MKI$ +MKS$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngb3ef.html b/Microsoft QuickBASIC v3/manual/ngb3ef.html new file mode 100644 index 0000000..fb1ff92 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngb3ef.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CVDMBF                   MBF Double-Precision String to IEEE        QB87 only
+
+ y! = CVSMBF(8-byte-string)
+
+    Converts a string representation of a double-precision number in
+    Microsoft Binary Format to an IEEE-format real.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The IEEE format for real numbers offers more accuracy and
+                range than the Microsoft Binary Format. But the IEEE
+                format is supported only by the QB87 version of the
+                compiler, and programs compiled with QB87 run only on
+                machines equipped with 8087 or 80287 coprocessors.
+
+                An alternative to converting MBF data with CVSMBF and
+                CVDMBF is to compile the program with the /MBF command-
+                line switch. This option converts numbers as they're read
+                from a random file, then reconverts them before writing
+                them back to the file.
+
+
+See Also: +CVS +CVSMBF +GET (File I/O) +MKDMBF$ +MKSMBF$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngb793.html b/Microsoft QuickBASIC v3/manual/ngb793.html new file mode 100644 index 0000000..2ddf182 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngb793.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CVI                      Convert String to Integer
+
+ y% = CVI(2-byte-string)
+
+    Converts a two-byte string expression to an integer.
+
+   ----------------------------------------------------------------------
+
+      Notes:    An integer must be converted to a string (via MKI$) before
+                being stored in a random access file. To retrieve it,
+                first assign it to a file buffer field (with GET), then
+                use CVI.
+
+
+See Also: +CVD +CVS +GET (File I/O) +MKD$ +MKI$ +MKS$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngb980.html b/Microsoft QuickBASIC v3/manual/ngb980.html new file mode 100644 index 0000000..3cfcc76 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngb980.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CVS                      Convert String to Single Precision
+
+ y! = CVS(4-byte-string)
+
+    Converts a four-byte string expression to a single-precision number.
+
+   ----------------------------------------------------------------------
+
+      Notes:    A single-precision real number must be converted to a
+                string (via MKS$) before being stored in a random access
+                file. To retrieve such a number, first assign it to a file
+                buffer field (with GET), then use CVS.
+
+
+See Also: +CVD +CVI +GET (File I/O) +MKD$ +MKS$ +MKI$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngbba5.html b/Microsoft QuickBASIC v3/manual/ngbba5.html new file mode 100644 index 0000000..60e4bd3 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngbba5.html @@ -0,0 +1,44 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+CVSMBF                   MBF Single-Precision String to IEEE        QB87 only
+
+ y! = CVSMBF(4-byte-string)
+
+    Converts a string representation of a single-precision number in
+    Microsoft Binary Format to an IEEE-format real.
+
+   ----------------------------------------------------------------------
+
+      Notes:    The IEEE format for real numbers offers more accuracy and
+                range than the Microsoft Binary Format. But the IEEE
+                format is supported only by the QB87 version of the
+                compiler, and programs compiled with QB87 run only on
+                machines equipped with 8087 or 80287 coprocessors.
+
+                An alternative to converting MBF data with CVSMBF and
+                CVDMBF is to compile the program with the /MBF command-
+                line switch. This option converts numbers as they're read
+                from a random file, then reconverts them before writing
+                them back to the file.
+
+
+See Also: +CVS +CVDMBF +MKDMBF$ +MKSMBF$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngbf36.html b/Microsoft QuickBASIC v3/manual/ngbf36.html new file mode 100644 index 0000000..e2e2338 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngbf36.html @@ -0,0 +1,52 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DATA                     Store Constant(s) for Retrieval via READ
+
+ DATA constant1 [,constant2]...
+
+    Stores one or more constants, of any type, for subsequent access via
+    READ statements.
+
+   ----------------------------------------------------------------------
+
+      Notes:    DATA statements are nonexecutable statements that supply a
+                stream of data constants for use by READ statements. All
+                the items supplied by all the DATA statements in a program
+                make up one continuous string of information that is
+                accessed in order by your program's READ statements. Use
+                RESTORE to reset the pointer to the first item in a
+                specified DATA statement.
+
+                You may put as many constants (expressions are not
+                allowed) in a single DATA statement as will fit on one
+                line, and your program may have any number of DATA
+                statements, positioned anywhere in the program.
+
+                String constants in DATA statements do not need to be
+                surrounded by quote marks, unless they contain quote marks
+                themselves, or colons, or commas, or significant leading
+                or trailing blanks.
+
+                If you wish to add a comment at the right side of a DATA
+                statement, use :REM.  An apostrophe (single quote) will be
+                treated as part of a DATA item.
+
+
+See Also: +READ +RESTORE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngc42b.html b/Microsoft QuickBASIC v3/manual/ngc42b.html new file mode 100644 index 0000000..029f14c --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngc42b.html @@ -0,0 +1,51 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DATE$                    Get or Set System Date
+
+ s$ = DATE$                              ' Get the system date
+ DATE$ = stringexpr                      ' Set the system date
+
+    Gets or Sets the current system date.
+
+  stringexpr    A string expression in either of the following forms (but
+                slash characters may be substituted for the hyphens):
+
+                    "mm-dd-yy"
+                    "mm-dd-yyyy"
+
+   -------------------------------------------------------------------------
+
+      Notes:    If DATE$ is being assigned a value, then the system date
+                is set, else the system date is retrieved.  The system
+                date retrieved is formatted as:
+
+                    "mm-dd-yyyy"
+
+                If the year is expressed in two digits, instead of four,
+                the twentieth century is assumed. If the month is
+                expressed as a single digit, a leading zero is assumed.
+
+                The year portion of the date must be in the range 1980 to
+                2099.
+
+                This statement resets the AT system date in nonvolatile
+                memory when QuickBasic is run under DOS 3.3.
+
+
+See Also: +TIME$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngc7f7.html b/Microsoft QuickBASIC v3/manual/ngc7f7.html new file mode 100644 index 0000000..3d8c34b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngc7f7.html @@ -0,0 +1,60 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DEF FN                   Define Function
+
+ 1. DEF FNname[(parmlist)] = expression
+
+ 2. DEF FNname[(parmlist)]
+    .
+    . [statements]
+    .
+    [EXIT DEF]
+    FNname = expression
+    END DEF
+
+    Defines a user function.
+
+        name    A valid variable name, of the same type as expression.
+
+    parmlist    One or more formal parameters for the function. Each must
+                be a valid variable name. Parameters are passed by value.
+
+  expression    An expression, of the same type as name, that defines the
+                value returned by the function.
+
+   ----------------------------------------------------------------------
+
+      Notes:    For numeric functions, the precision specified by name
+                determines the precision returned by the function.
+
+                Functions must be defined before they are called. They may
+                not be defined within IF/THEN/ELSE, FOR/NEXT, WHILE/WEND,
+                or SUB/END SUB blocks, and they may not be defined in
+                terms of themselves.
+
+                In the multi-line syntax, expression defines the value
+                returned by the function. The optional EXIT DEF statement
+                can be used to exit the function but does not define the
+                end of the function.
+
+                Variables in a multiline function definition are global
+                unless declared in a STATIC statement.
+
+
+See Also: +STATIC +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngcd1a.html b/Microsoft QuickBASIC v3/manual/ngcd1a.html new file mode 100644 index 0000000..5026917 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngcd1a.html @@ -0,0 +1,32 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DEF SEG                  Define Segment
+
+ DEF SEG [=segment]
+
+    Specifies the segment address from which arguments to BLOAD, BSAVE,
+    CALL ABSOLUTE, PEEK, and POKE will be offset.
+
+     segment    A numeric expression in the range 0 to 65535.
+
+   ----------------------------------------------------------------------
+
+      Notes:    DEF SEG defaults to BASIC's data segment (DS). A DEF SEG
+                statement with no argument returns the DEF SEG address to
+                this default value.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngcf0a.html b/Microsoft QuickBASIC v3/manual/ngcf0a.html new file mode 100644 index 0000000..da73589 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngcf0a.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DEFDBL                   Define Variable(s) as Double Precision
+
+ DEFDBL letter[-letter] [,letter [-letter]]...
+
+    Declares one or more variables to be double precision.
+
+   ----------------------------------------------------------------------
+
+      Notes:    All variable names beginning with any of the specified
+                letters (case-insensitive) will be double precision,
+                unless a type-identifier character (%, !, or $) is used to
+                override the DEFDBL declaration.
+
+                The DEFDBL declaration must be read by the compiler before
+                any statements in which the declared variables are
+                assigned or used. The compiler reads from beginning to
+                end, without regard for execution path.
+
+                You cannot avoid a DEFDBL declaration by direction the
+                execution path around it.
+
+                DEFDBL statements do not affect symbolic constants.
+
+
+See Also: +DEFINT +DEFSNG +DEFSTR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngd283.html b/Microsoft QuickBASIC v3/manual/ngd283.html new file mode 100644 index 0000000..11ff453 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngd283.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DEFINT                   Define Variable(s) as Integer
+
+ DEFINT letter[-letter] [,letter [-letter]]...
+
+    Declares one or more variables to be of type integer.
+
+   ----------------------------------------------------------------------
+
+      Notes:    All variable names beginning with any of the specified
+                letters (case-insensitive) will be integer, unless a type-
+                identifier character (#, !, or $) is used to override the
+                DEFINT declaration.
+
+                The DEFINT declaration must be read by the compiler before
+                any statements in which the declared variables are
+                assigned or used. The compiler reads from beginning to
+                end, without regard for execution path.
+
+                You cannot avoid a DEFINT declaration by direction the
+                execution path around it.
+
+                DEFINT statements do not affect symbolic constants.
+
+
+See Also: +DEFDBL +DEFSNG +DEFSTR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngd5ea.html b/Microsoft QuickBASIC v3/manual/ngd5ea.html new file mode 100644 index 0000000..f9c5e30 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngd5ea.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DEFSNG                   Define Variable(s) as Single Precision
+
+ DEFSNG letter[-letter] [,letter [-letter]]...
+
+    Declares one or more variables to be of type single precision.
+
+   ----------------------------------------------------------------------
+
+      Notes:    All variable names beginning with any of the specified
+                letters (case-insensitive) will be single precision,
+                unless a type-identifier character (%, #, or $) is used to
+                override the DEFSNG declaration.
+
+                The DEFSNG declaration must be read by the compiler before
+                any statements in which the declared variables are
+                assigned or used. The compiler reads from beginning to
+                end, without regard for execution path.
+
+                You cannot avoid a DEFSNG declaration by direction the
+                execution path around it.
+
+                DEFSNG statements do not affect symbolic constants.
+
+
+See Also: +DEFDBL +DEFINT +DEFSTR +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngd96b.html b/Microsoft QuickBASIC v3/manual/ngd96b.html new file mode 100644 index 0000000..bb22af5 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngd96b.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DEFSTR                   Define Variable(s) as String
+
+ DEFSTR letter[-letter] [,letter [-letter]]...
+
+    Declares one or more variables to be of type string.
+
+   ----------------------------------------------------------------------
+
+      Notes:    All variable names beginning with any of the specified
+                letters (case-insensitive) will be strings, unless a type-
+                identifier character (%, #, or !) is used to override the
+                DEFSTR declaration.
+
+                The DEFSTR declaration must be read by the compiler before
+                any statements in which the declared variables are
+                assigned or used. The compiler reads from beginning to
+                end, without regard for execution path.
+
+                You cannot avoid a DEFSTR declaration by direction the
+                execution path around it.
+
+                DEFSTR statements do not affect symbolic constants.
+
+
+See Also: +DEFDBL +DEFINT +DEFSNG +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngdcd0.html b/Microsoft QuickBASIC v3/manual/ngdcd0.html new file mode 100644 index 0000000..820f2f9 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngdcd0.html @@ -0,0 +1,57 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DIM                      Dimension Array(s)
+
+ DIM [SHARED] variable(subscripts)[,variable(subscripts)]...
+
+    Defines the maximum subscript numbers for and allocates storage for
+    one or more arrays.
+
+      SHARED    An optional attribute. Arrays DIMensioned in a main
+                program as SHARED may be shared with all subprograms that
+                are compiled with that main program.
+
+   ----------------------------------------------------------------------
+
+      Notes:    Arrays with a maximum subscript of 10 may be used without
+                a DIM statement. Arrays with subscripts larger than 10
+                must be DIMensioned before they are used.
+
+                The first element of an array is element 0, unless the
+                OPTION BASE statement has been used to change the starting
+                element from 0 to 1.
+
+                Static arrays may not be redimensioned. Dynamic arrays may
+                be redimensioned after an ERASE statement or by means of a
+                REDIM statement.
+
+                A DIM for a dynamic array is an executable statement and
+                must appear after any COMMON statements.
+
+                The compiler does not perform bounds checking on array
+                usage unless the program is compiled with the /d (debug)
+                option.
+
+                The maximum number that can be DIMensioned in a DIM
+                statement is 63.
+
+
+See Also: +ERASE +OPTION BASE +REDIM +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/nge1c2.html b/Microsoft QuickBASIC v3/manual/nge1c2.html new file mode 100644 index 0000000..6638b14 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/nge1c2.html @@ -0,0 +1,65 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DO                       Begin Definition of DO/LOOP Loop
+
+ 1. DO
+    .
+    . [statements]
+    .
+    .
+    [EXIT DO]
+    LOOP [{WHILE | UNTIL} expression]
+
+ 2. DO [{WHILE | UNTIL} expression]
+    .
+    . [statements]
+    .
+    .
+    [EXIT DO]
+    LOOP
+
+    Begins the definition of a DO/LOOP loop.
+
+  expression    A numeric expression. Nonzero values are equivalent to
+                TRUE, while zero values are equivalent to FALSE.
+
+       WHILE    Causes execution of the loop as long as expression is
+                TRUE.
+
+       UNTIL    Causes execution of the loop as long as expression is
+                FALSE.
+
+     EXIT DO    An optional means to escape from the loop before its
+                termination.
+
+        LOOP    Terminates the loop construct.
+
+   -----------------------------------------------------------------------
+
+      Notes:    DO...LOOP is a general-purpose looping construct. The
+                optional termination test may be supplied at either the
+                beginning or the end. If no test is supplied, EXIT DO is
+                the only way to break out of the loop.
+
+
+See Also: +FOR +LOOP +NEXT +WEND +WHILE +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/nge5df.html b/Microsoft QuickBASIC v3/manual/nge5df.html new file mode 100644 index 0000000..8dbef99 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/nge5df.html @@ -0,0 +1,104 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+DRAW                     Draw Object
+
+ DRAW string
+
+    Draws an object according to instructions specified as a string
+    expression.
+
+      string    A string expression containing commands in the BASIC
+                graphics definition language.
+
+    Graphics Definition Language
+
+    In the movement instructions below, n specifies a distance to move.
+    The number of pixels moved is equal to n multiplied by the current
+    scaling factor, which is set by the S command.
+
+          Un    Move up.
+
+          Dn    Move down.
+
+          Ln    Move left.
+
+          Rn    Move right.
+
+          En    Move diagonally up and right.
+
+          Fn    Move diagonally down and right.
+
+          Gn    Move diagonally down and left.
+
+          Hn    Move diagonally up and left.
+
+        Mx,y    Move to coordinate x,y. If x is preceded by a + or -, the
+                movement is relative to the last point referenced (LPR).
+
+           B    A prefix command. Next movement command moves but doesn't
+                plot.
+
+           N    A prefix command. Next movement command moves, but returns
+                immediately to previous point.
+
+          An    Set angle. n may be 0, for 0 degrees; 1, for 90 degrees;
+                2, for 180 degrees; or 3, for 270 degrees. Rotated figures
+                are rescaled to adjust to the CGA's 4/3 aspect ratio.
+
+         TAn    Turn angle. n may range from -360 degrees to +360 degrees.
+                Positive values cause counterclockwise rotation; negative
+                values cause clockwise rotation.
+
+          Cn    Set color to n.  The default color for medium-resolution
+                is 3; high-resolution default color is 1.  See PALETTE for
+                a list of legal colors.
+
+          Sn    Set scale factor. n may range from 1 to 255. The scaling
+                factor used is n/4. The default for n is 4.
+
+Ppaint,boundary Fill figure color to paint, stopping at areas of color
+                boundary.  See PALETTE for a list of legal colors.
+
+"=" + VARPTR$(var)
+                Get argument from variable. May be used to supply
+                arguments to any of the foregoing commands.
+
+"X" + VARPTR$(stringvar)
+                Execute command sequence stored in a string variable. This
+                command allows you to call graphics-language subroutines.
+
+   -------------------------------------------------------------------------
+
+      Notes:    To get arguments or instructions from variables, you must
+                use VARPTR$(var) or VARPTR$(stringvar). QuickBASIC does
+                not support the =variable; and Xstringvar formulations
+                available with the Interpreter.
+
+                Spaces between or within instructions are insignificant.
+
+                Semicolons may be used between commands to enhance
+                readability.
+
+                The drawing begins at the last point referenced (LPR) and
+                LPR is updated as the object is being drawn.
+
+
+See Also: +PALETTE +SCREEN (Statement) +VARPTR$ +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngf078.html b/Microsoft QuickBASIC v3/manual/ngf078.html new file mode 100644 index 0000000..bc4848d --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngf078.html @@ -0,0 +1,34 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+END                      Terminate Program
+
+ END
+
+    Terminates execution of a program, closes all files opened by the
+    program, and returns control to the operating system.
+
+   ----------------------------------------------------------------------
+
+      Notes:    END as the last (highest-numbered) instruction in a
+                program is optional.
+
+                END returns control to DOS.
+
+
+See Also: +STOP +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngf203.html b/Microsoft QuickBASIC v3/manual/ngf203.html new file mode 100644 index 0000000..75aa878 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngf203.html @@ -0,0 +1,49 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ENVIRON                  Modify Environment Table
+
+ ENVIRON stringexpr
+
+    Adds a statement to or deletes a statement from the current
+    environment table.
+
+     stringexpr     A string expression of the form "name = parameter".
+
+   ----------------------------------------------------------------------
+
+      Notes:    If name already exists in the environment table, its
+                current setting is replaced with the new setting. If name
+                does not exist, the new statement is added at the end of
+                the environment table.
+
+                To delete an entry from the environment table, make
+                parameter a semicolon (i.e. "name = ;").
+
+                parameter is case-sensitive.
+
+                The new environment variable added, deleted, or modified
+                by this procedure will only take effect for SHELLed copies
+                of COMMAND.COM that are activated after this statement.
+                After the program exits, the environment table will be
+                exactly the same as before the program executed, no matter
+                what changes were made with ENVIRON.
+
+
+See Also: +ENVIRON$ +SHELL +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngf619.html b/Microsoft QuickBASIC v3/manual/ngf619.html new file mode 100644 index 0000000..5043d2b --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngf619.html @@ -0,0 +1,45 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ENVIRON$                 Environment Table Entry
+
+ s$ = ENVIRON$({parm | n})
+
+    Returns the value of a specified entry in the current environment
+    table.
+
+        parm    A string expression specifying an environment parameter.
+
+           n    An integer expression in the range 1 to 255 specifying the
+                nth entry in the environment table.
+
+   ----------------------------------------------------------------------
+
+      Notes:    ENVIRON$ is case-sensitive, so if parm does not exactly
+                match a name in the environment table, the function
+                returns a null string.
+
+                If the argument is given as n, then ENVIRON$ returns the
+                nth entry in the table. Unless the table has been modified
+                since bootup, the first entry will be COMSPEC, the second
+                will be PATH (if a PATH command has been issued), and the
+                third will be PROMPT (if a PROMPT command has been
+                issued).
+
+
+See Also: +ENVIRON +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngf9b4.html b/Microsoft QuickBASIC v3/manual/ngf9b4.html new file mode 100644 index 0000000..8265e21 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngf9b4.html @@ -0,0 +1,38 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+EOF                      End of File Status
+
+ y = EOF(filenum)
+
+    Checks for end of file.
+
+     filenum    The number under which the file was OPENed.
+
+   ----------------------------------------------------------------------
+
+      Notes:    If the end of the file has been reached, EOF returns -1
+                (true); otherwise, it returns 0 (false).
+
+                If filenum refers to a random-access file, a -1 means the
+                last GET statement did not read an entire record.
+
+                If filenum refers to a communications file opened in
+                binary mode, a -1 means the input queue is empty. If
+                filenum refers to a communications file opened in ASCII
+                mode, a -1 means a Ctrl-Z has been read.
+
+
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngfc6d.html b/Microsoft QuickBASIC v3/manual/ngfc6d.html new file mode 100644 index 0000000..81c33a0 --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngfc6d.html @@ -0,0 +1,46 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+EQV                      Equivalence Operator
+
+ exp1 EQV exp2
+
+    EQV is a logical operator. BASIC converts each operand to an integer
+    (each operand must yield an integer in the range -32768 to 32767, or
+    else an Overflow error occurs), then performs a bitwise comparison of
+    the results, according to the truth table below:
+
+                     exp1  exp2     exp1 EQV exp2
+                       1    1             1
+                       1    0             0
+                       0    1             0
+                       0    0             1
+
+    The result is an integer.
+
+   exp1,exp2    Any expression that produces a numeric result. This
+                includes Boolean expressions, where a TRUE result is
+                evaluated as -1 and a FALSE result is evaluated as 0.
+
+
+See Also: +AND +IMP +NOT +OR +XOR +Precedence +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ + diff --git a/Microsoft QuickBASIC v3/manual/ngff2b.html b/Microsoft QuickBASIC v3/manual/ngff2b.html new file mode 100644 index 0000000..7f3cf7a --- /dev/null +++ b/Microsoft QuickBASIC v3/manual/ngff2b.html @@ -0,0 +1,43 @@ + +QuickBASIC 3.0 - Long Entry + + +[<<Previous Entry] +[^^Up^^] +[Next Entry>>] +[Menu] +[About The Guide] +
+
+ERASE                    Reset Static Array or Deallocate Dynamic Array
+
+ ERASE arrayname[,arrayname]...
+
+    Resets or deallocates one or more arrays.
+
+   arrayname    The name of an array variable (do not include
+                parentheses).
+
+   ----------------------------------------------------------------------
+
+      Notes:    ERASE resets all elements of a static numeric array to 0
+                and all elements of a static string array to null.
+
+                ERASE deallocates storage for a dynamic array, allowing
+                storage to be reallocated by means of DIM or REDIM.
+
+                Static arrays may not be reDIMensioned.
+
+
+See Also: +CLEAR +DIM +REDIM +$STATIC +$DYNAMIC +
+This page created by ng2html v1.05, the Norton guide to HTML conversion utility. +Written by Dave Pearson +
+ +