Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Miten selata tulostusta

Foxtrot [26.10.2008 22:32:33]

#

1. Miten selata tulostusta, jos ohjelma tulostaa suorittaessa kerralla niin monta riviä, ettei ne kaikki näy ruudulla? Kyseessä on tilanne, jossa ohjelma tulostaa toistorakenteella monta riviä.

2. Entä millä keinoin voi ohjelmaan itseensä sisällyttää tulostuksen jaksottelua? Tyyliin ensin tulostuu tekstipätkä a ja painamalla jotain painiketta tulostuu seuraava tekstipätkä b.

hunajavohveli [26.10.2008 23:46:36]

#

Mikä kieli? Mihin tulostat ja miten?

Foxtrot [27.10.2008 00:40:11]

#

QBasic

Kyse on tekstistä, joka tulostuu komentorivin näyttöön ohjelman suorittaessa.

1. Kysymystäni koskien; esimerkiksi tämä tekee suorittaessa näin, jolloin osa tuloksista jää ruudun ulkopuolelle. Onko niitä mahdollista päästä tarkastelemaan jotenkin scrollaamalla tai vaihtoehtoisesti saada ne tulostumaan isompaan ruutuun niin että ne mahtuvat kenties kaikki näkyville.

2. Kysymyksessä tarkoitin sellaista, että ohjelmassa on vaikkapa 2 tekstipätkää (a ja b), jotka halutaan esitettävän ruudulla peräkkäisessä järjestyksessä, mutta ei yhtenäisenä tulosteena samassa ruudussa. Esimerkki:

PRINT "Kappas"
PRINT "Näinkö se käy?"

tuuttaa lauseet samaan ruutuun peräkkäin. Tarkoituksenmukaisempi olisi joku

CLS
PRINT "Kappas"
'tähän joku kätevä komento tai muu, joka pysäyttää suorituksen kunnes esim. 'jotain ennalta määrättyä näppäintä painetaan. INPUT periaatteessa tekee sen
'mitä tässä haen, mutta tiedustelen olisiko tarkoitukseen joku muukin työkalu.
CLS
PRINT "Näinkö se käy?"

Antti Laaksonen [27.10.2008 07:48:14]

#

1. Komennolla WIDTH voit lisätä rivien määrän 50:een:

WIDTH , 50

Jos tämä ei riitä, järkevä ratkaisu voisi olla tulostaa teksti näytön sijasta tiedostoon.

2. Komento SLEEP pysäyttää ohjelman suorituksen, kunnes käyttäjä painaa jotain näppäintä:

PRINT "Rivi 1"
SLEEP
PRINT "Rivi 2"
SLEEP
PRINT "Rivi 3"

Jos täytyy tunnistaa jokin tietty näppäin (tässä A), koodi on vähän pidempi:

PRINT "Rivi 1"
WHILE UCASE$(INKEY$) <> "A": WEND
PRINT "Rivi 2"
WHILE UCASE$(INKEY$) <> "A": WEND
PRINT "Rivi 3"

Vastaus

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

Tietoa sivustosta