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.