I can only guess what your code suppose to perform. With some modification, it show animation but mapping seem upside down. Hope this help.
Втр, 21 Фев 2012, Linda Alvord писал(а): > I tried to attach and .ijs file and it didn't work, so here it is: > > NB. WhimsyCalculus(WhimsyTOT98) 2/20/2001 > require 'gui/gtkwd' > Debugwd_gtkwd_=:1 > require 'gl2 trig' > > NB.bind=: [. @ ("_) > each=: (&.>) > > range=: 3 : '(>./y)-<./y' > lint=: 13 : '(range y) % x' > ap=: 13 :'(<./y)+0,+/\x#x lint y' > rot=:2 2"_ $ 1 _1 1 1"_ * 2 1 1 2"_ o. ] > > boat=:_2+0.5*4 2 3 5 6 4 4 6 4,:3 3 2 2 3 3 7 4 4 > Fred=:_1.6+0.4*(18 9 9 6 0 3 0 6 12 18,:12 18 15 12 18 12 6 9 6 12)%3 > ladybug=:0.2*0 _6 _5 _4 _2 0 2 3 3 2 6 2 2 6 2 3 3 2 0 _2 _4 _5 _6 0,:0 _1 _2 > _3 _4 _4 _3 _2 _1 0 _1 0 0 1 0 1 2 3 4 4 3 2 1 0 > dragonfly=:0.1* 0 6 10 6 0 2 6 0 _6 _6 0 _24 0 _6 _6 0 6 2 0 6 10 6 0,:0 0 4 > 0 0 8 12 0 12 6 0 0 0 _6 _12 0 _12 _8 0 0 _4 0 0 > turtle=:0.3*6 5 4 2 3 2 3 2 0 _2 _3 _5 _3 _2 _3 _5 _5 _3 _2 _3 _5 _3 _2 0 2 3 > 2 3 2 4 5 6,:0 1 0 2 4 6 4 2 3 2 4 3 4 2 1 0 0 _1 _2 _4 _3 _4 _2 _3 _2 _4 _6 > _4 _2 0 _1 0 > > sline=: 3 : 0"1 2 > 0 0 0 sline y > : > glrgb x > glpen 1 0 > gllines ,y > glshow '' > ) > > sfill=: 3 : 0 > if. _1 e. y do. glbrushnull '' > else. glrgb y > glbrush '' > end. > ) > > spoly=: 3 : 0"1 2 > glpolygon ,y > glshow '' > : > sfill x > spoly y > ) > > spixel=: 3 : 0"1 > glpixel y > glshow '' > : > glrgb x > spixel y > ) > > size=: 3 : '500+50*|: y' > > see=: 3 : 0 > 0 0 0 see y > : > xx=:0 > yy=:0 > d=:0 > ) > > swim=: 3 : 0 > 0 0 0 swim y > : > t=:24 ap _2p1 2p1 > xx=: t > yy=: 1 o. t > d=: 2 o. t > p=:xx,:y > ) > > dance=: 3 : 0 > 0 0 0 dance y > : > t=:24 ap _3p1 3p1 > xx=:t - 2 * 1 o. t > yy=:1 - 2 * 2 o. t > d=:(2 * 1 o. t) % 1 - 2 * 2 o. t > ) > > x3=: 3 : '8 * (r=. 1 o. 2 * y) * 2 o. y' > y3=: 3 : '8 * (r=. 1 o. 2 * y) * 1 o.y' > > loop=: 3 : 0 > 0 0 0 loop y > : > t=:48 ap 0 2p1 > xx=:x3 t > yy=:y3 t > dy=:((1 o. 2*t)*2 o.t)+(1 o.t)*2*2 o. 2*t > dx=:(-(1 o. 2*t)*1 o.t)+(2 o.t)*2*2 o. 2*t > 1E_5(<1)}dx > d=:dy%dx > ) > > fade=: 3 : 0 > 200 330 100 fade y > : > t=:120 ap _2p1 2p1 > xx=:4 * 2 o. t > y=:t + 1 o. 3 * t > d=:(-1+3 * 2 o.3* t,0)%4* 1 o. 0,t > kk=:1.5 > ) > > TOT98=: 0 : 0 > pc tot98;picon fred\fred.ico 0;pn "Tool of Thought X, A Whimsyware Product > from Stochastic Services"; > xywh 245 10 65 40;cc lis0 listbox ws_vscroll; > xywh 245 55 65 40;cc lis1 listbox ws_vscroll; > xywh 245 100 65 40;cc lis2 listbox ws_vscroll; > xywh 245 150 30 30;cc show button bs_ownerdraw;cn "fred\ss.ico"; > xywh 280 150 30 30;cc pain button bs_ownerdraw;cn "fred\ssg.ico"; > xywh 245 185 65 15;cc clear button;cn "Clear"; > xywh 245 205 65 15;cc cancel button;cn "Close"; > xywh 3 3 220 220;cc g isigraph; > pas 6 6;pcenter; > ) > > tot98_run=: 3 : 0 > forms=:;:'boat Fred ladybug dragonfly turtle ' > paths=:;:'see swim dance loop fade ' > colors=:;:'red green blue yellow orange ' > red=:255 0 0 > green=:0 255 0 > blue=:0 0 255 > yellow=:255 255 0 > orange=:255 126 0 > wd TOT98 > wd 'set lis0 ',;forms, each LF > wd 'setfont lis0 "MS Sans Serif" 11 bold' > wd 'set lis1 ',;paths, each LF > wd 'setfont lis1 "MS Sans Serif" 11 bold' > wd 'set lis2 ',;colors, each LF > wd 'setfont lis2 "MS Sans Serif" 11 bold' > wd 'setfont clear "MS Sans Serif" 11' > wd 'setfont cancel "MS Sans Serif" 11' > smoutput 'a0' > label_there. > smoutput 'a1' > while. 1 do. > smoutput 'a2' > wd 'wait' > k=:wd 'q' > smoutput 'a3' > if. > smoutput 'a4' > (*/'show' = 4{.>9{{:"1 k) +. */'pain' = 4{.>9{{:"1 k > do. > if. > */'pain' = 4{.>9{{:"1 k > do. > wd ".'glrgb ',":?3#255 > glbrush '' > glflood 100 120 0 127 255 > end. > if. > */'see' = 3{.>14{{:"1 k > do. > xx=:0 > yy=:0 > d=:0 > s=:2*".>16{{:"1 k > 0 0 0 sline size s > (".uuu=:>12{{:"1 k) spoly size s > glshow '' > goto_there. > end. > ".(col=:>12{{:"1 k),' ',(path=:>14{{:"1 k),' ',who=:>16{{:"1 k > p=:xx,:yy > cc=:0 > while. cc<$,yy do. r=:rot _3 o. cc{d > if. */'loop'=4{.iii=:>14{{:"1 k do. > s=:((r +/ . *".who)*cc{*dx)+ (_1 {.$".who)#"1,.cc{"1 p > end. > if. (*/'swim'=4{.>14{{:"1 k) +. (*/'danc'=4{.>14{{:"1 k) do. > s=:(r +/ . *".who)+(_1 {.$".who)#"1,.cc{"1 p > end. > if. */'fade'=4{.>14{{:"1 k do. > s=:(r +/ .* kk * > (".who)*(_1{.$".who)#"1,.*2#cc{(-*t)*_1+2*(|t)<1p1)+ (_1 {.$".who)#"1,.cc{"1 p > kk =:0.97*kk > end. > 0 0 0 sline size s > (".col) spoly size s > glshow '' > 255 255 255 sline size s > 255 255 255 spoly size s > glshow '' > cc=:cc+1 > end. > kk=:1.5 > goto_there. > end. > if. */'clea'= 4{.>9{{:"1 k do. glclear '' end. > if. */'canc' = 4{.>9{{:"1 k do. goto_here. end. > end. > wd 'pshow;' > label_here. > tot98_close '' > ) > > tot98_cancel_button=:tot98_close > > tot98_close=: wd bind 'pclose' > > tot98_run'' > > Maybe the problem will jump out for you. > > Linda > > -----Original Message----- > From: programming-boun...@jsoftware.com > [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord > Sent: Tuesday, February 21, 2012 5:51 AM > To: 'Programming forum' > Subject: Re: [Jprogramming] Control error when loading script into ijx window > (J602) > > All my code is really ancient code and it worked. I was frustrated that I > could not make things work anymore when changes were made. Maybe you can find > my problem in the attached script. > > Linda > > -----Original Message----- > From: programming-boun...@jsoftware.com > [mailto:programming-boun...@jsoftware.com] On Behalf Of bill lam > Sent: Tuesday, February 21, 2012 5:17 AM > To: programming@jsoftware.com > Subject: Re: [Jprogramming] Control error when loading script into ijx window > (J602) > > I guess these are really ancient codes. the wd'wait' is rarely used in > modern J base libary or addons code, and the gtkwd does not support it. And > wd'q' will raise domain error if there is no event after the previous wd'q' > > You code fragment is incomplete so that I cannot know what it is suppose to > do. You should put event-driven code inside either form_default or > form_child_button. eg, if there is a button with an id 'foo' > > form_foo_button=: 3 :0 > k=. wdq > if. (*/'show' = 4{.>9{{:"1 k) +. */'pain' = 4{.>9{{:"1 k do. > if. */'pain' = 4{.>9{{:"1 k > ..... > ) > > Often wdq need not used, because the value of child will be automatically > assigned. Please read the chapter on 'window driver' > in "j user manual" accessible from j602 help for some background. > > Втр, 21 Фев 2012, Linda Alvord писал(а): > > Here is the code that causes my trouble. I have Debugwd_gtkwd_=:1 way at > > the beginning. > > > > wd 'setfont clear "MS Sans Serif" 11' > > wd 'setfont cancel "MS Sans Serif" 11' > > smoutput 'a0' > > label_there. > > smoutput 'a1' > > while. 1 do. > > smoutput 'a2' > > wd 'wait' > > k=:wd 'q' > > smoutput 'a3' > > if. > > smoutput 'a4' > > (*/'show' = 4{.>9{{:"1 k) +. */'pain' = 4{.>9{{:"1 k > > do. > > if. > > */'pain' = 4{.>9{{:"1 k > > > > here's where I go astray: > > > > wd 'setfont clear "MS Sans Serif" 11' > > wd 'setfont cancel "MS Sans Serif" 11' > > smoutput 'a0' > > label_there. > > smoutput 'a1' > > while. 1 do. > > smoutput 'a2' > > wd 'wait' > > k=:wd 'q' > > smoutput 'a3' > > if. > > smoutput 'a4' > > > > since I haven't used this code since J4 I can't remember what I would get > > in 'q' but I must have been able to collect some data I wanted but I don't > > know what it was back then. > > > > Any ideas? > > > > Linda > > > > > > -----Original Message----- > > From: programming-boun...@jsoftware.com > > [mailto:programming-boun...@jsoftware.com] On Behalf Of bill lam > > Sent: Tuesday, February 21, 2012 1:49 AM > > To: programming@jsoftware.com > > Subject: Re: [Jprogramming] Control error when loading script into ijx > > window (J602) > > > > I would suspect H L C are undefined. My general approach is to insert > > smoutput before and after every control switch, eg > > > > smoutput 'a1' > > for_i. i.(#a) do. > > smoutput 'a2' > > > > currHi=. ". > (i { H) > > currLo=. ". > (i { L) > > currCl=. ". > (i { C) > > > > if. (0=i) do. > > smoutput 'a3' > > diffHi=. 0 > > diffLo=. 0 > > else. <-------- control error here > > smoutput 'a4' > > prevHi=. ". > ((i-1) { H) > > prevLo=. ". > ((i-1) { L) > > diffHi=. currHi - prevHi > > if. 0<:diffHi do. pivotHi=. currHi end. > > smoutput 'a5' > > diffLo=. prevLo - currLo > > if. 0<:diffLo do. pivotLo=. currLo end. > > smoutput 'a6' > > end. > > > > smoutput 'a7' > > if. diffLo>diffHi do. > > smoutput 'a8' > > if. currLo <: ( pivotHi * (1-swing) ) do. > > smoutput 'a9' > > xx=. xx , currLo > > > > Втр, 21 Фев 2012, PackRat писал(а): > > > When loading a script to test, I get an immediate "control error" > > > when I give the command to load it. The following is the portion of > > > the script that has all of the control structures. I've drawn an > > > arrow pointing to the line where the error is supposed to have > > > occurred. I'm probably "blind" to the error because I'm just not seeing > > > the problem. > > > > > > ================================================================ > > > > > > for_i. i.(#a) do. > > > > > > currHi=. ". > (i { H) > > > currLo=. ". > (i { L) > > > currCl=. ". > (i { C) > > > > > > if. (0=i) do. > > > diffHi=. 0 > > > diffLo=. 0 > > > else. <-------- control error here > > > prevHi=. ". > ((i-1) { H) > > > prevLo=. ". > ((i-1) { L) > > > diffHi=. currHi - prevHi > > > if. 0<:diffHi do. pivotHi=. currHi end. > > > diffLo=. prevLo - currLo > > > if. 0<:diffLo do. pivotLo=. currLo end. > > > end. > > > > > > if. diffLo>diffHi do. > > > if. currLo <: ( pivotHi * (1-swing) ) do. > > > xx=. xx , currLo > > > else. > > > xx=. xx , ( {: xx ) NB. repeat previous value > > > end. > > > else. > > > if. currHi >: ( pivotLo * (1+swing) ) > > > xx=. xx , currHi > > > else. > > > xx=. xx , ( {: xx ) NB. repeat previous value > > > end. > > > end. > > > > > > end. > > > > > > ================================================================ > > > > > > The same error (at the same line) occurs if the following lines: > > > > > > if. 0<:diffHi do. pivotHi=. currHi end. > > > . . . > > > if. 0<:diffLo do. pivotLo=. currLo end. > > > > > > are instead expanded to: > > > > > > if. 0<:diffHi do. > > > pivotHi=. currHi > > > end. > > > . . . > > > if. 0<:diffLo do. > > > pivotLo=. currLo > > > end. > > > > > > > > > I would appreciate any assistance in "opening my eyes"--thanks in > > > advance! > > > > > > > > > Harvey > > > > > > -------------------------------------------------------------------- > > > -- For information about J forums see > > > http://www.jsoftware.com/forums.htm > > > > -- > > regards, > > ==================================================== > > GPG key 1024D/4434BAB3 2008-08-24 > > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > -- > regards, > ==================================================== > GPG key 1024D/4434BAB3 2008-08-24 > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
NB. WhimsyCalculus(WhimsyTOT98) 2/20/2001 require 'gui/gtkwd' require 'gl2 trig' coclass 'tot98' coinsert 'jgl2' NB.bind=: [. @ ("_) each=: (&.>) range=: 3 : '(>./y)-<./y' lint=: 13 : '(range y) % x' ap=: 13 :'(<./y)+0,+/\x#x lint y' rot=: 2 2"_ $ 1 _1 1 1"_ * 2 1 1 2"_ o. ] boat=: _2+0.5*4 2 3 5 6 4 4 6 4,:3 3 2 2 3 3 7 4 4 Fred=: _1.6+0.4*(18 9 9 6 0 3 0 6 12 18,:12 18 15 12 18 12 6 9 6 12)%3 ladybug=: 0.2*0 _6 _5 _4 _2 0 2 3 3 2 6 2 2 6 2 3 3 2 0 _2 _4 _5 _6 0,:0 _1 _2 _3 _4 _4 _3 _2 _1 0 _1 0 0 1 0 1 2 3 4 4 3 2 1 0 dragonfly=: 0.1* 0 6 10 6 0 2 6 0 _6 _6 0 _24 0 _6 _6 0 6 2 0 6 10 6 0,:0 0 4 0 0 8 12 0 12 6 0 0 0 _6 _12 0 _12 _8 0 0 _4 0 0 turtle=: 0.3*6 5 4 2 3 2 3 2 0 _2 _3 _5 _3 _2 _3 _5 _5 _3 _2 _3 _5 _3 _2 0 2 3 2 3 2 4 5 6,:0 1 0 2 4 6 4 2 3 2 4 3 4 2 1 0 0 _1 _2 _4 _3 _4 _2 _3 _2 _4 _6 _4 _2 0 _1 0 sline=: 3 : 0"1 2 0 0 0 sline y : glrgb x glpen 1 0 gllines ,y glpaintx'' ) sfill=: 3 : 0 if. _1 e. y do. glbrushnull '' else. glrgb y glbrush '' end. ) spoly=: 3 : 0"1 2 glpolygon ,y glpaintx'' : sfill x spoly y ) spixel=: 3 : 0"1 glpixel y glpaintx'' : : glrgb x spixel y ) NB. 500 seems too large NB. size=: 3 : '500+50*|: y' size=: 3 : '100+50*|: y' see=: 3 : 0 0 0 0 see y : xx=: 0 yy=: 0 d=: 0 ) swim=: 3 : 0 0 0 0 swim y : t=: 24 ap _2p1 2p1 xx=: t yy=: 1 o. t d=: 2 o. t p=: xx,:y ) dance=: 3 : 0 0 0 0 dance y : t=: 24 ap _3p1 3p1 xx=: t - 2 * 1 o. t yy=: 1 - 2 * 2 o. t d=: (2 * 1 o. t) % 1 - 2 * 2 o. t ) x3=: 3 : '8 * (r=. 1 o. 2 * y) * 2 o. y' y3=: 3 : '8 * (r=. 1 o. 2 * y) * 1 o.y' loop=: 3 : 0 0 0 0 loop y : t=: 48 ap 0 2p1 xx=: x3 t yy=: y3 t dy=: ((1 o. 2*t)*2 o.t)+(1 o.t)*2*2 o. 2*t dx=: (-(1 o. 2*t)*1 o.t)+(2 o.t)*2*2 o. 2*t 1E_5(<1)}dx d=: dy%dx ) fade=: 3 : 0 200 330 100 fade y : t=: 120 ap _2p1 2p1 xx=: 4 * 2 o. t yy=: t + 1 o. 3 * t d=: (-1+3 * 2 o.3* t,0)%4* 1 o. 0,t kk=: 1.5 ) TOT98=: 0 : 0 pc tot98;picon fred\fred.ico 0;pn "Tool of Thought X, A Whimsyware Product from Stochastic Services"; xywh 245 10 65 40;cc lis0 listbox ws_vscroll; xywh 245 55 65 40;cc lis1 listbox ws_vscroll; xywh 245 100 65 40;cc lis2 listbox ws_vscroll; xywh 245 150 30 30;cc show button bs_ownerdraw;cn "fred\ss.ico"; xywh 280 150 30 30;cc pain button bs_ownerdraw;cn "fred\ssg.ico"; xywh 245 185 65 15;cc clear button;cn "Clear"; xywh 245 205 65 15;cc cancel button;cn "Close"; xywh 3 3 220 220;cc g isigraph; pas 6 6;pcenter; ) tot98_run=: 3 : 0 forms=: ;:'boat Fred ladybug dragonfly turtle ' paths=: ;:'see swim dance loop fade ' colors=: ;:'red green blue yellow orange ' red=: 255 0 0 green=: 0 255 0 blue=: 0 0 255 yellow=: 255 255 0 orange=: 255 126 0 wd TOT98 wd 'set lis0 ',;forms, each LF wd 'setfont lis0 "MS Sans Serif" 11 bold' wd 'set lis1 ',;paths, each LF wd 'setfont lis1 "MS Sans Serif" 11 bold' wd 'set lis2 ',;colors, each LF wd 'setfont lis2 "MS Sans Serif" 11 bold' wd 'setfont clear "MS Sans Serif" 11' wd 'setfont cancel "MS Sans Serif" 11' wd 'pshow' ) NB. y: 1=pain showpain=: 3 : 0 if. y do. glrgb ?3#255 glbrush '' NB. what is glflood ? NB. glflood 100 120 0 127 255 end. if. lis1 -: 'see' do. xx=: 0 yy=: 0 d=: 0 s=: 2*".lis0 0 0 0 sline size s (".uuu=: lis2) spoly size s return. end. xx=: 0 ".(col=: lis2),' ',(path=: lis1),' ',who=: lis0 p=: xx,:yy cc=: 0 while. cc<$,yy do. r=: rot _3 o. cc{d xx=: 0 if. 'loop'-:iii=: lis1 do. s=: ((r +/ . *".lis0)*cc{*dx)+ (_1 {.$".lis0)#"1,.cc{"1 p end. if. ('swim'-:lis1) +. ('dance'-:lis1) do. s=: (r +/ . *".lis0)+(_1 {.$".lis0)#"1,.cc{"1 p end. if. 'fade'-:lis1 do. s=: (r +/ .* kk * (".lis0)*(_1{.$".lis0)#"1,.*2#cc{(-*t)*_1+2*(|t)<1p1)+ (_1 {.$".lis0)#"1,.cc{"1 p kk=: 0.97*kk end. 0 0 0 sline size s (".col) spoly size s 255 255 255 sline size s 255 255 255 spoly size s cc=: cc+1 end. kk=: 1.5 ) tot98_show_button=: showpain bind 0 tot98_pain_button=: showpain bind 1 tot98_clear_button=: glpaintx@glclear tot98_cancel_button=: tot98_close tot98_close=: wd bind 'pclose' tot98_run''
---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm