$CPU 8086 ' make compatible with XT systems $LIB ALL OFF ' turn off all PowerBASIC libraries $ERROR ALL OFF ' turn off all PowerBASIC error checking $OPTIMIZE SIZE ' optimize for smaller code $COMPILE UNIT ' compile to a UNIT (.PBU) '$COMPILE EXE ' compile to a UNIT (.PBU) DEFINT A-Z ' Required for all numeric functions, forces PB to not ' include floating point in UNIT (makes it smaller) '/*------------------------------------------------------------------*/ DECLARE SUB SATTR(BYVAL XN AS INTEGER) $CODE SEG "MLIB12" '/*------------------------------------------------------------------*/ SUB TTEXT(ROW, COL, TEXT$, ATTR, DX!) PUBLIC '**************************************************************************** 'PRINTS TEXT ONE CHARACTER AT A TIME BEGINNING AT THE CURRENT CURSOR LOCATION. ' 'THE DELAY BETWEEN EACH CHARACTER BEING PRINTED IS MEASURED IN 1/100THS OF A ' SECOND (A DELAY OF 100 WOULD EQUAL ONE SECOND). IF A VALUE OF ZERO OR LESS ' IS SPECIFIED, THE DELAY DEFAULTS TO 5/100THS OF A SECOND. IF A KEY IS ' PRESSED DURING THE SUB, THE REMAINDER OF THE STRING IS PRINTED WITHOUT ANY ' DELAY. ' 'YOU COULD EASILY ADD SOME SOUND TO THIS PROCEDURE. I RECOMMEND USING SOUND ' 20000,1 AFTER EACH LETTER EXCEPT SPACES AND A DELAY OF AT LEAST 7. ' '**************************************************************************** SATTR ATTR D! = DX! 'CONVERT DELAY FROM AN INTEGER TO A 'SINGLE PRECISION VARIABLE. IF D! < 1 THEN D! = 5 'ASSIGN THE DEFAULT DELAY OF 1/20TH 'OF A SECOND (5/100). D! = D! / 100 'CHANGE DELAY TO 100THS OF A SECOND. LOCATE ROW,COL,,0 FOR X = 1 TO LEN(TEXT$) 'PRINT TEXT$ ONE CHARACTER AT A TIME. PRINT MID$(TEXT$, X, 1); NOW! = TIMER 'GET THE CURRENT VALUE OF TIMER. WHILE TIMER < (NOW! + D!): WEND 'WAIT FOR TIMER TO INCREASE BY D!. IF INKEY$ <> "" THEN D! = 0 'IF A KEY IS PRESSED, STOP DELAYING. NEXT X END SUB '/*------------------------------------------------------------------*/ ' $INCLUDE "C:\CODE\MLIB\MLIB.INC" ' CLS ' TTEXT 10,10,"This is a test to see if this works, It would appear that is does and is working well.",31,.05 ' Y$ = GETKEY