Kun mun pitäsin tehä yhteen QB peliin sellanen rahat laskuri ja sen laskurin ympärillä on "kehykset" niin välillä laskuri hyppää ihan liian kaus "Rahat : " tekstistä eli tällä tavalla :
Rahat : 1000
ja taas välillä se menee ihan kunnolla eli tällä tavalla :
Rahat : 1000
ja nyt siis haluaisin tietää että miten sen saisi toimimaan kunnolla?
Seuraavalla tavalla pitäisi tulostuksen mennä aina oikein (tietenkin PRINT:iä ennen sopivat LOCATE-käskyt):
DIM rahat AS CURRENCY rahat = 1000 PRINT "Rahat :" + STR$(rahat)
Mikäs toi CURRENCY on? QB4.5:lla ei toimi ainakaan! Tuosta tetriksen kysymyksestä ei oikein ota selvää.
Näitäkin ongelmia on mahdoton ratkoa ilman pientä koodinäytettä ko. ohjelmasta. Ja QB ei tosiaan taida sisältää CURRENCY:ä.. VB:n omituisuuksia taitaa olla :)
Kyllä CURRENCY ainakin QB7.1:stä löytyy, muista versioista en sitten tiedä. Ja sehän on rahamäärien tallentamiseen tarkoitettu yksikkö, QB:n ohje kertoo:
"An 8-byte signed integer variable with up to four digits to the right of the decimal point; 15 digits to the left of the decimal point."
Ja lukualue on -922337203685477.5808
- 922337203685477.5807.
CURRENCYlle löytyy oikein oma muuttujapääte, @, jota kannattaa heti ruveta käyttämään :) Ja jos QB ei tunne CURRENCYä niin sitten muuttujatyypiksi kannattaa pistää LONG.
Oooho tässä putkan keskustelussa se ilmeisesti poistaa turhat välit kun tossa bugittavassa siis se raha määrä hyppää ihan liian pitkälle kuten sanoin.
Juu näin taitaa tehdä, mutta sitä vartenhan meiltä löytyy joukko tageja. Tähän tarkoitukseen käy hyvin koodi-tagi ;)
lainaus:
Oooho tässä putkan keskustelussa se ilmeisesti poistaa turhat välit kun tossa bugittavassa siis se raha määrä hyppää ihan liian pitkälle kuten sanoin.
Mutta et sitten edelleenkään päättänyt pistää yhtään sitä koodiasi tänne. Ja ehkä CURRENCY:n sijalle LONG:ia paremmin sopisi SINGLE tai DOUBLE? LONG:issa kun ei ole desimaaliosaa (ellei fixedpointilla halua leikkiä).
Aihe on jo aika vanha, joten et voi enää vastata siihen.