Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: PCX-ongelma

Sivun loppuun

Vilikki [16.08.2002 15:56:18]

#

En sitten millään löydä virhettä seuraavasta kirjoittamastani koodinpätkästä. Jos joku löytäisi, niin olisin kiitollinen.

CLS
SCREEN 13
OPEN "kuva1.pcx" FOR INPUT AS 1

a$ = INPUT$(8, #1)
a$ = INPUT$(1, #1)
x = ASC(a$)
a$ = INPUT$(1, #1)
maxx = x + 256 * ASC(a$)
'kuvan koko x-suunnassa. pitää paikkansa...
a$ = INPUT$(1, #1)
y = ASC(a$)
a$ = INPUT$(1, #1)
maxy = y + 256 * ASC(a$)
'kuvan koko y-suunnassa. myös tarkistettu...
'seuraavassa luetaan tiedostoa tiettyyn kohtaan asti, josta kuvadata alkaa...
'sen sai muistaakseni hoidettua myös jollain muulla käskyllä. en vaan muista...
a$ = INPUT$(116, #1)
'alustetaan muuttujat, jotka osoittavat piirrettävään pisteeseen...
x = 0
y = 0

kertaa = 0

DO
	'luetaan merkki sisään...
	a = ASC(INPUT$(1, #1))
	'jos luettu merkki 192 tai yli, niin
	'luettu merkki-192=seuraavan merkin toistokerrat
	IF a > 191 AND kertaa = 0 THEN
		kertaa = a - 192
	ELSE
		FOR i = 1 TO kertaa
			PSET (x, y), a
			GOSUB seuraavapiste
		NEXT i
		kertaa = 0
	END IF
LOOP WHILE valmis = 0
CLOSE 1
END

seuraavapiste:
x = x + 1
IF x = maxx AND y = maxy THEN valmis = 1
IF x = maxx THEN y = y + 1: x = 0
RETURN

Vilikki [16.08.2002 15:57:41]

#

No nuo sisennykset ei tullutkaan mukaan suoralla copypastella. Toivottavasti ei haittaa paljon koodin lukemista...

HtH [16.08.2002 17:13:22]

#

kuka jaksaa etsiskellä tuollaisesta yli 20 rivin koodin pätkästä virheitä?? En minä ainakaan...

thefox [16.08.2002 20:29:14]

#

Ja kun ei edes kerrota mikä se "virhe" on. Valittaako QB? Mikä ei toimi? :X
Turha odottaa apua noin heppoisilla selityksillä. Hyvä kun jaksaa vaivautua edes tällaista kirjoittamaan.

Vilikki [16.08.2002 20:52:49]

#

Kuvasta avautuu n. 90% ja sitten väittää että ollaan tultu tiedoston loppuun.

thefox [17.08.2002 12:11:25]

#

Ensinnäkin, "se muu käsky" on SEEK.
Toisekseen, funktioita ei koskaan kannata tehdä GOSUB | RETURN -periaatteella.
Kolmannekseen, koodi on melko sekavaa. Suosittelisin jonkun "pixelcountterin" tekoa joka laskisi montako pikseliä olet piirtänyt. Sitten vertailisit sitä maxx*maxy:hn ja lopettaisit loopin tarvittaessa.

Vilikki [18.08.2002 11:42:59]

#

Kirjoittelin tuon koodin ihan kokonaan uudestaan, sama virhe vieläkin. Sitten vaihdoin
OPEN "kuva1.pcx" FOR INPUT AS 1
muotoon
OPEN "kuva1.pcx" FOR BINARY AS 1
ja alkoi jotenkuten toimia...

thefox [18.08.2002 12:13:50]

#

Joo, ihme kun en huomannut tuota ;) Tottakai se tiedosto pitää binäärimuodossa lukea.


Sivun alkuun

Vastaus

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

Tietoa sivustosta