Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Kahden värin pakkaaminen yhteen tavuun

Pekka Kauppila [22.07.2002 16:30:32]

#

Värien pakkaaminen tallentamisen yhteydessä käy mukavasti seuraavia aliohjelmia apuna käyttäen. Tosin ne on vain suunniteltu tilaan jossa käytät 16 väriä eli värit 0-15. Aliohjelmilla voit pakata kaksi väriä yhdeksi numeroksi väliltä 0-255 ja purkaa ne takaisin alkuperäisiksi. Toivottavasti tuosta esimerkistä ottaa selvää.

PRINT "JOS Vari1 = 10": Vari1 = 10
PRINT "JOS Vari2 = 15": Vari2 = 15
PRINT ""
PRINT "Varien arvo pakattuna ="; STR$(ColorPack(Vari1, Vari2))
PRINT ""
PRINT "JOS Varien pakutta arvo on = 150": PakattuArvo = 150
PRINT "Vari1 =" + STR$(ColorUnPackOne(PakattuArvo))
PRINT "Vari2 =" + STR$(ColorUnPackTwo(PakattuArvo))
PRINT ""
Function ColorPack (ColorPackOne As Integer, ColorPackTwo As Integer) As Integer

If ColorPackOne <= 15 And ColorPackOne >= 0 And ColorPackTwo <= 15 And ColorPackTwo >= 0 Then
ColorPack = ColorPackOne * 16 + ColorPackTwo
End If

End Function
Function ColorUnPackOne (ColorPackCode As Integer) As Integer

If ColorPackCode <= 255 And ColorPackCode >= 0 Then
ColorUnPackOne = Int(ColorPackCode / 16)
End If

End Function
Function ColorUnPackTwo (ColorPackCode As Integer) As Integer

If ColorPackCode <= 255 And ColorPackCode >= 0 Then
ColorUnPackTwo = ColorPackCode - (Int(ColorPackCode / 16) * 16)
End If

End Function

Huoh [24.07.2002 16:03:50]

#

Huh. Pakattu = (Vari1 and 15) * 16 or (Vari2 and 15)

ja purku: Vari1 = (Pakattu \ 16) and 15: Vari2 = Pakattu and 15

aliohjelma on turhaa kuormaa.

Vastaus

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

Tietoa sivustosta