Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB: Muuttujan arvon vaihto -> suoraan aliohjelmaan

Gwaur [22.08.2003 13:12:02]

#

Miten QB:llä saa silleen että ohjelma tunnistaa milloin jotain muuttujaa muuttaa, ja sitetn menee tiettyyn aliohjelmaan heti kun muuttujan arvo muuttuu?

thefox [22.08.2003 13:32:55]

#

Ei mitenkään. Töki aliohjelma-kutsu joko jokaisen muutoksen perään, tai tee muuttujan muutolle oma aliohjelma, joka ensin muuttaa arvoa tietyllä arvolla ja sitten hyppää siihen toiseen aliohjelmaan.

Gwaur [22.08.2003 14:31:16]

#

Mutta miten saa sitten niin, että kun aliohjelma kutsuttaisiin tyyliin

asetamuuttuja(muuttujannimi, uusi-arvo)

mun käsityksen mukaan, niin mitenkä sitten saisi niin, että jos muuttujan nimi olis vaikka %leveys niin ja muuttujan arvoa kasvatettais vaikka kolmella:

asetamuuttuja(%leveys, %leveys+3)

niin sehän luulee että ton %leveys :n se korvaa automaattisesti %leveys :n tänhetkisellä arvolla, joten jos %leveys on nyt 52 niin ohjelmahan ymmärtää sen näin:

asetamuuttuja(52, 52+3)

Että siis...

Pekka Kauppila [22.08.2003 15:18:30]

#

Onnistuisiko jos tekisit function tyyliin:

leveys = asetamuuttuja(uusi-arvo)

EDIT: Voi voi kun nuo koodi tagit bugittaa jos ne laittaa samalle riville kun itse koodin pätkän...

Antti Laaksonen [22.08.2003 15:51:18]

#

lainaus:

Miten QB:llä saa silleen että ohjelma tunnistaa milloin jotain muuttujaa muuttaa

Debug-toimintojen avulla voi ohjelman saada keskeytymään suunnitteluvaiheessa, jos muuttujan arvo vaihtuu. Etenkin QB7.1:n Debug->Watchpoint soveltuu tähän hyvin.

lainaus:

ja sitetn menee tiettyyn aliohjelmaan heti kun muuttujan arvo muuttuu?

Ei onnistune millään järkevällä keinolla.

lainaus:

EDIT: Voi voi kun nuo koodi tagit bugittaa jos ne laittaa samalle riville kun itse koodin pätkän...

Kaikki tagit bugittavat, jos niitä ei käytä ohjeiden mukaisesti ;)
https://www.ohjelmointiputka.net/ohje.php?tunnus­=kohjeet

kurz [26.08.2003 13:24:44]

#

Siis...?? nyt olen varmaan käsittänyt väärin... siis että jos jonkun muutujan arvoa vaihtaa, ohjelma menee johonkin subiin.

Arvo = 5
DO
  VarmistaArvo = Arvo
  IF Arvo <> VarmistaArvo THEN CALL sub
LOOP

Tässä on nyt kyllä joku väärinymmärrys...

Antti Laaksonen [26.08.2003 21:58:49]

#

Ei tuossa muuten mitään, mutta tarkoitus oli varmaan valvoa muuttujan vaihtumista ilman tarkistusta joka rivin jälkeen.

Vastaus

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

Tietoa sivustosta