Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Simppeli input

jsbasic [25.11.2003 10:21:02]

#

Tässä oma ehdotukseni INPUTin korvaajaksi. Tein sen mahdollimman simppeliksi käyttää.

- Kutsutaan yhtä helposti kuin alkuperäinen: KYSELE Merkkijono$, maksimipituus.
- Tottelee LOCATE ja COLOR-käskyjä.
- Ei nollaa muuttujan alkuperäistä arvoa, vaan sekin tulee muokattavaksi.
- Maksimi pituuden voi määrittää.
- Toimii kaikissa näyttötiloissa.
- Myös jonkinlainen merkkien suodatus toiminee.

'Esimerkki käytöstä:

PRINT "Kirjoita nimesi : ";
nimi$="Jaakko"  'Asetetaan oletukseksi nimi Jaakko
KYSELE nimi$, 20
PRINT
PRINT "Terve "; nimi$
SUB kysele (vastaus$, pituus)
'Input-funktion korvaaja, joka ei pyyhi muuttujan aikaisempaa sisältöä ja
'ja jossa syötteen pituuden voi rajoittaa

alku$ = vastaus$

y = CSRLIN
x = POS(0)
IF x + pituus > 79 THEN pituus = 79 - x

WHILE a$ <> CHR$(13)
  a$ = INKEY$

  LOCATE y, x

  IF TIMER * 4 - INT(TIMER * 4) > .5 THEN PRINT alku$; "_"; loppu$; " ";  ELSE PRINT alku$; " "; loppu$; " ";

  IF LEN(alku$ + loppu$) < pituus AND LEN(a$) = 1 THEN IF ASC(a$) > 31 THEN alku$ = alku$ + a$
  IF LEN(alku$) > 0 AND a$ = CHR$(8) THEN alku$ = LEFT$(alku$, LEN(alku$) - 1)
  IF LEN(loppu$) > 0 AND a$ = CHR$(0) + CHR$(83) THEN loppu$ = RIGHT$(loppu$, LEN(loppu$) - 1)
  IF LEN(alku$) > 0 AND a$ = CHR$(0) + CHR$(75) THEN loppu$ = RIGHT$(alku$, 1) + loppu$: alku$ = LEFT$(alku$, LEN(alku$) - 1)
  IF LEN(loppu$) > 0 AND a$ = CHR$(0) + CHR$(77) THEN alku$ = alku$ + LEFT$(loppu$, 1): loppu$ = RIGHT$(loppu$, LEN(loppu$) - 1)
  IF a$ = CHR$(0) + CHR$(71) THEN loppu$ = alku$ + loppu$: alku$ = ""
  IF a$ = CHR$(0) + CHR$(79) THEN alku$ = alku$ + loppu$: loppu$ = ""
WEND

LOCATE y, x: PRINT alku$; loppu$; " ";

vastaus$ = alku$ + loppu$

END SUB

Dj Wolf [27.11.2003 10:22:10]

#

Jaa-a. Näyttää ihan toimivaltakin, mutta onkos tästä jotain hyötyä? ;)

jsbasic [02.12.2003 12:59:00]

#

Jos vaikka halutaan vaan muuttaa jonkun muuttujan arvoa, eikä kirjoittaa sitä kokonaan uudestaan.

Juice [06.09.2004 19:11:01]

#

Onpa muuten pedon luku tällä koodivinkillä :P

moptim [26.05.2007 11:38:55]

#

Juu :D

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta