BBS: Inland Empire Archive Date: 04-27-92 (21:19) Number: 130 From: BOB PERKINS Refer#: 121 To: JOHN GALLAS Recvd: NO Subj: Re: Help! Conf: (2) Quik_Bas
JG> say I open the CONS: for output as #1. I print #1,"TEXT". JG> (all this is after a CLS) Is there a way that I can find JG> out that the next text is going to come out at 1(Y), 5(X)? You can use interrupt calls to get the cursor position. Here's an example of calls to set cursor position and to get the cursor position using interrupt &h10. You must start qb with "/l" to load qb.qlb for it to operate in the environment. If you link from the command line be sure and add qb.lib or you'll get errors. Since these routines use 0-based screen position values, the subs adjust row% and column% to make them work the same as LOCATE. Page% is the video page you want to use. The setcursor sub could also be set up to return the cursor start and stop scan lines (They're returned in CX). '$INCLUDE: 'qb.bi' DECLARE SUB setcursor (row%, column%, page%) DECLARE SUB getcursor (row%, column%, page%) CLS : LOCATE , , 1, 6, 7 OPEN "cons:" FOR OUTPUT AS #1 PRINT #1, "1234567890"; getcursor row%, column%, 0 'correctly shows you at column 11 PRINT #1, "": PRINT #1, column% setcursor 10, 40, 0 PRINT #1, "Here!"; DO: a$ = INKEY$: LOOP UNTIL LEN(a$) END SUB getcursor (row%, column%, page%) DIM regs AS regtype regs.ax = &H300 regs.bx = page% * 256 interrupt &H10, regs, regs row% = (regs.dx AND &HFF00) \ 256 column% = regs.dx AND &HFF row% = row% + 1 column% = column% + 1 'keep bounds 1-based instead of 0. END SUB SUB setcursor (row%, column%, page%) DIM regs AS regtype row% = row% - 1: column% = column% - 1 'to keep bounds 1-based regs.ax = &H200 regs.bx = page% * 256 regs.dx = (row% * 256) + column% interrupt &H10, regs, regs END SUB --- Msg V4.5 * Origin: Reciprocity Failure (1:124/4115.236)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET