Using Inkey$ vs Input 2/2

 BBS: Inland Empire Archive
Date: 03-27-92 (08:49)             Number: 140
From: BILL FUHRMANN                Refer#: NONE
  To: PAUL MILLSAPS                 Recvd: NO  
Subj: Using Inkey$ vs Input 2/2      Conf: (2) Quik_Bas
>>> Continued from previous message
   '+
+
'| Get key pressed information and modify the address appropriatly | '+
+
DO WHILE True = True 'Exit loop when F2 or F1 are pressed IF EditPositionY < 4 OR EditPositionX < 17 THEN LOCATE EditPositionY + 15, EditPositionX + 9, 1, 6, 7 ELSE LOCATE EditPositionY + 15, EditPositionX + 11, 1, 6, 7 END IF DO KeyPressed = INKEY$ + NoKey LOOP WHILE KeyPressed = NoKey SELECT CASE KeyPressed CASE F4Key 'blank out the address EditingArray(1) = "" EditingArray(2) = "" EditingArray(3) = "" EditingArray(4) = "" EditPositionX = 1 EditPositionY = 1 LOCATE 16, 10 PRINT EditingArray(1) LOCATE 17, 10 PRINT EditingArray(2) LOCATE 18, 10 PRINT EditingArray(3) LOCATE 19, 10 PRINT EditingArray(4) + " " CASE F2Key 'exit the loop and then delete the address 'EXIT DO 'this is not implemented yet CASE F1Key 'exit the loop and then accept the address EXIT DO CASE LeftKey 'Left IF EditPositionX > 1 THEN EditPositionX = EditPositionX - 1 CASE RightKey 'Right IF EditPositionX < 21 THEN EditPositionX = EditPositionX + 1 CASE UpKey 'Up IF EditPositionY > 1 THEN EditPositionY = EditPositionY - 1 CASE DownKey 'Down IF EditPositionY < 4 THEN EditPositionY = EditPositionY + 1 CASE HomeKey 'Home IF EditPositionY < 4 OR EditPositionX < 17 THEN EditPositionX = 1 ELSE EditPositionX = 17 END IF CASE EndKey 'End IF EditPositionY < 4 OR EditPositionX > 16 THEN EditPositionX = 21 ELSE EditPositionX = 16 END IF CASE PageUpKey 'Page Up EditPositionY = 1 CASE PageDownKey 'Page Down EditPositionY = 4 CASE EnterKey 'Enter IF EditPositionY < 4 THEN EditPositionY = EditPositionY + 1 EditPositionX = 1 ELSE IF EditPositionX > 16 THEN EditPositionY = 1 EditPositionX = 1 ELSE EditPositionX = 17 END IF END IF IF EditPositionY > 4 THEN EditPositionY = 1 CASE CHR$(8) + " " 'Backspace IF EditPositionX > 16 AND EditPositionY > 3 THEN EditPositionX = EditPositionX - 1 ELSE IF EditPositionX > 1 THEN IF (EditPositionX < 21 AND EditPositionY < 4) AND -->(EditPositon < 16 AND EditPositionY > 3) OR MID$(EditingArray( -->EditPositionY), EditPositionX, 1) = " " THEN EditPositionX = EditPositionX - 1 LOCATE EditPositionY + 15, EditPositionX + 9 PRINT " " EditingArray(EditPositionY) = LEFT$(EditingArray( -->EditPositionY), EditPositionX - 1) + " " + RIGHT$(EditingArray( -->EditPositionY), 21 - EditPositionX) ELSE LOCATE EditPositionY + 15, EditPositionX + 9 PRINT " " EditingArray(EditPositionY) = LEFT$(EditingArray( -->EditPositionY), EditPositionX - 1) + " " + RIGHT$(EditingArray( -->EditPositionY), 21 - EditPositionX) END IF END IF END IF CASE " " TO "~ " 'Alphbetic or character IF EditPositionX < 17 OR EditPositionY < 4 OR (KeyPressed >= "0" -->AND KeyPressed <= "9 ") THEN PRINT LEFT$(KeyPressed, 1) EditingArray(EditPositionY) = LEFT$(EditingArray(EditPositionY -->), EditPositionX - 1) + LEFT$(KeyPressed, 1) + RIGHT$(EditingArray( -->EditPositionY), 21 - EditPositionX) IF EditPositionX < 21 THEN EditPositionX = EditPositionX + 1 END IF CASE ELSE 'A different key was pressed that doesn't do anything END SELECT LOCATE 1, 1, 0 'turn off cursor LOOP '+
+
'| Add the edited and/or new address to the SHIPPING.LST file | '+
+
This code is deleted END SUB a * OLX 2.2 * Xerox never comes up with anything original --- WM v2.00/92-0032 * Origin: (1:282/115)
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