Cursor action

 BBS: Inland Empire Archive
Date: 02-06-93 (15:01)             Number: 395
From: RICK PEDLEY                  Refer#: NONE
  To: DAVID SOLLY                   Recvd: NO  
Subj: Cursor action                  Conf: (2) Quik_Bas
 On 02-05-93 David Solly wrote to All...

.... and here's a slightly different method that assembles the
string only when the user has ended an input, by reading the
characters directly off the screen:

DECLARE FUNCTION BuildStr$ (R%, C%, N%)
DEFINT A-Z
CLS
ColStart = 79
RowStart = 2
NewPos = ColStart
NumChars = 0
DO
   LOCATE RowStart, NewPos, 1, 6, 7
   K$ = ""
   K$ = INKEY$
   IF LEN(K$) THEN
      LOCATE , , 0            'Immediately turn cursor off -- then
      K = ASC(RIGHT$(K$, 1))  ' fiddle with its position.
      SELECT CASE K
         CASE 13, 27          'Enter or Escape.
            EXIT DO
         CASE 8               'Backspace.
            IF NumChars > 0 THEN
               LOCATE , POS(0) + 1
               PRINT " ";
               NewPos = POS(0) - 1
               NumChars = NumChars - 1
            END IF
         CASE 32 TO 255

            PRINT K$;
            NumChars = NumChars + 1         'Don't build a string yet,
            NewPos = POS(0) - 2             ' just count char's.
            IF NewPos < 1 THEN EXIT DO      'Cursor is already at left
         CASE ELSE                          ' margin - single line input.
            BEEP                            'Reject any other keys.
      END SELECT
   END IF
LOOP

S$ = BuildStr$(RowStart, ColStart, NumChars)
'Just to test result:
LOCATE 20, 1: PRINT S$

END

FUNCTION BuildStr$ (R, C, N)
S$ = ""
FOR x = C - N - (N > 0) TO C
   S$ = S$ + CHR$(SCREEN(R, x))
NEXT x
BuildStr$ = S$

END FUNCTION


... OFFLINE 1.43 * At Borger King we do it our way -- your way is irrelevant.

--- Maximus 2.01wb
 * Origin: The BULLpen BBS * Intel 14.4EX (613)549-5168 (1:249/140)
Outer Court
Echo Basic Postings

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