Kirjautuminen

Haku

Tehtävät

Koodit: QB: Haastaja INPUT-käskylle

Kirjoittaja: Antti Laaksonen

Kirjoitettu: 05.02.2002 – 05.02.2002

Tagit: teksti, koodi näytille, vinkki

Tämä koodinpätkä on esiintynyt jo keskustelussa, mutta laitan sen kuitenkin tänne, jotta sen löytää paremmin. Kyseessä on INPUT-komennon korvaaja, jolle voi määrittää tekstin maksimipituuden sekä mitkä merkit hyväksytään.

CLS
max = 10 'maksimipituus
teksti$ = "Anna nimesi:"
CLS
PRINT teksti$
DO
   vali$ = INKEY$
   SELECT CASE vali$
   CASE "A", "a", "B", "b", "C", "c", "D", "d", "E", "e", "F", "f", "G", "g", "H", "h", "I", "i", "J", "j", "K", "k", "L", "l", "M", "m", "N", "n", "O", "o", "P", "p", "Q", "q", "R", "r", "S", "s", "T", "t", "U", "u", "V", "v", "W", "w", "X", "x", "Y", "y", "Z", "z", "?", "†", "Ž", "ä", "™", "ö" 'nuo näkyvät QBasicissa oikein
      IF LEN(vastaus$) < max THEN vastaus$ = vastaus$ + vali$
      LOCATE ke + 1, LEN(teksti$) + 1: PRINT vastaus$
   CASE "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
      IF LEN(vastaus$) < max THEN vastaus$ = vastaus$ + vali$
      LOCATE ke + 1, LEN(teksti$) + 1: PRINT vastaus$
   CASE CHR$(32)
      IF LEN(vastaus$) < max THEN vastaus$ = vastaus$ + " "
      LOCATE ke + 1, LEN(teksti$) + 1: PRINT vastaus$
   CASE CHR$(8)
      IF LEN(vastaus$) >= 1 THEN vastaus$ = LEFT$(vastaus$, LEN(vastaus$) - 1)
      LOCATE ke + 1, LEN(teksti$) + 1 + LEN(vastaus$): PRINT " "
      LOCATE ke + 1, LEN(teksti$) + 1: PRINT vastaus$
   CASE CHR$(13)
      EXIT DO
   END SELECT
   IF TIMER - aa > .2 THEN
      IF vuoro = 1 THEN
         vuoro = 2
         LOCATE 1, LEN(teksti$) + 1 + LEN(vastaus$)
         PRINT "_"
      ELSE
         LOCATE 1, LEN(teksti$) + 1 + LEN(vastaus$)
         PRINT " "
         vuoro = 1
      END IF
      aa = TIMER
   END IF
LOOP
PRINT "Nimesi on siis" + vastaus$

Kommentit

thefox [05.10.2002 18:02:25]

#

Sisnnykset!! Aaarghh!! :x

Antti Laaksonen [08.10.2003 21:39:30]

#

Nyt näkyvät sisennykset oikein. Ja asian korjaamiseen meni muuten vain reilut vuosi...

moptim [16.09.2006 20:36:24]

#

Laaksonen onkin nopea ihminen

Juhko [23.09.2006 16:38:13]

#

Very, very cool!

Codeprofile [05.01.2007 20:57:36]

#

Juuri tätä olenkin odottanut. Nyt ei onnistu enää pelissänikään kukaan ajamaan virhetilaan.

Kirjoita kommentti

Muista lukea kirjoitusohjeet.
Tietoa sivustosta