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$Sisnnykset!! Aaarghh!! :x
Nyt näkyvät sisennykset oikein. Ja asian korjaamiseen meni muuten vain reilut vuosi...
Laaksonen onkin nopea ihminen
Very, very cool!
Juuri tätä olenkin odottanut. Nyt ei onnistu enää pelissänikään kukaan ajamaan virhetilaan.