IonicWind Software

Creative Basic => GUI Programs => Topic started by: LarryMc on March 13, 2009, 03:10:37 AM

Title: Sample program
Post by: LarryMc on March 13, 2009, 03:10:37 AM
Was helping a fellow out over at codingmonkies.
I rewrote his combobox based program to use all buttons.
I though it might be an example of a different way to do things.


DEF win:window
Def Time,n$:string
def fcolor,bcolor:uint
def c1,c2,c3,c4,ohm:double

WINDOW win,0,0,640,420,@SIZE|@MINBOX,0,"4 Band Resistor ",main
setwindowcolor win, rgb(152,198,255)
StartTimer win,1000

CONTROL win,"T,#1 Band,39,15,70,20,1,71"
SETCONTROLCOLOR win,71,RGB(0,0,0),rgb(152,198,255)
CONTROL win,"T,#2 Band,123,15,70,20,1,72"
SETCONTROLCOLOR win,72,RGB(0,0,0),rgb(152,198,255)
CONTROL win,"T,#3 Band,207,15,70,20,1,73"
SETCONTROLCOLOR win,73,RGB(0,0,0),rgb(152,198,255)
CONTROL win,"T,#4 Band,291,15,70,20,1,74"
SETCONTROLCOLOR win,74,RGB(0,0,0),rgb(152,198,255)

CONTROL win,"T,,500,300,120,20,1,75"
SETCONTROLCOLOR win,75,RGB(0,0,0),rgb(152,198,255)

CONTROL win,"E,Edit1,39,40,70,20,0x50802000,1"
SETCONTROLCOLOR win,1,RGB(0,0,0),RGB(128,128,0)
CONTROL win,"E,Edit2,123,40,70,20,0x50802000,2"
SETCONTROLCOLOR win,2,RGB(0,0,0),RGB(128,128,0)
CONTROL win,"E,Edit3,207,40,70,20,0x50802000,3"
SETCONTROLCOLOR win,3,RGB(0,0,0),RGB(128,128,0)
CONTROL win,"E,Edit4,291,40,70,20,0x50802000,4"
SETCONTROLCOLOR win,4,RGB(0,0,0),RGB(128,128,0)


CONTROL win,"T,Tolerance,390,130,70,20,0,60"
CONTROL win,"T,Ohms,390,150,70,20,0,61"
CONTROL win,"T,KilOhms,390,170,70,20,0,62"
CONTROL win,"T,MegOhms,390,190,70,20,0,63"
for x=60 to 63
SETCONTROLCOLOR win,x,RGB(0,0,0),rgb(152,198,255)
next x

CONTROL win,"T,+/-20%,465,130,130,20,0,64"
CONTROL win,"T,0,465,150,130,20,0,65"
CONTROL win,"T,0,465,170,130,20,0,66"
CONTROL win,"T,0,465,190,130,20,0,67"
for x=64 to 67
SETCONTROLCOLOR win,x,RGB(255,0,0),rgb(152,198,255)
next x

'Col 1
CONTROL win,"B,Black,39,60,70,20,0x8000,10"
SETCONTROLCOLOR win,10,RGB(255,255,255),RGB(0,0,0)
CONTROL win,"B,Brown,39,80,70,20,0x8000,11"
SETCONTROLCOLOR win,11,RGB(255,255,255),RGB(128,64,0)
CONTROL win,"B,Red,39,100,70,20,0x8000,12"
SETCONTROLCOLOR win,12,RGB(255,255,255),RGB(255,0,0)
CONTROL win,"B,Orange,39,120,70,20,0x8000,13"
SETCONTROLCOLOR win,13,RGB(255,255,255),RGB(255,147,37)
CONTROL win,"B,Yellow,39,140,70,20,0x8000,14"
SETCONTROLCOLOR win,14,RGB(0,0,0),RGB(240,240,0)
CONTROL win,"B,Green,39,160,70,20,0x8000,15"
SETCONTROLCOLOR win,15,RGB(255,255,255),RGB(0,202,0)
CONTROL win,"B,Blue,39,180,70,20,0x8000,16"
SETCONTROLCOLOR win,16,RGB(255,255,255),RGB(72,72,255)
CONTROL win,"B,Violet,39,200,70,20,0x8000,17"
SETCONTROLCOLOR win,17,RGB(255,255,255),RGB(191,0,191)
CONTROL win,"B,Grey,39,220,70,20,0x8000,18"
SETCONTROLCOLOR win,18,RGB(255,255,255),RGB(128,128,128)
CONTROL win,"B,White,39,240,70,20,0x8000,19"
SETCONTROLCOLOR win,19,RGB(0,0,0),RGB(255,255,255)
'Col 2
CONTROL win,"B,Black,123,60,70,20,0x8000,20"
SETCONTROLCOLOR win,20,RGB(255,255,255),RGB(0,0,0)
CONTROL win,"B,Brown,123,80,70,20,0x8000,21"
SETCONTROLCOLOR win,21,RGB(255,255,255),RGB(128,64,0)
CONTROL win,"B,Red,123,100,70,20,0x8000,22"
SETCONTROLCOLOR win,22,RGB(255,255,255),RGB(255,0,0)
CONTROL win,"B,Orange,123,120,70,20,0x8000,23"
SETCONTROLCOLOR win,23,RGB(255,255,255),RGB(255,147,37)
CONTROL win,"B,Yellow,123,140,70,20,0x8000,24"
SETCONTROLCOLOR win,24,RGB(0,0,0),RGB(240,240,0)
CONTROL win,"B,Green,123,160,70,20,0x8000,25"
SETCONTROLCOLOR win,25,RGB(255,255,255),RGB(0,202,0)
CONTROL win,"B,Blue,123,180,70,20,0x8000,26"
SETCONTROLCOLOR win,26,RGB(255,255,255),RGB(72,72,255)
CONTROL win,"B,Violet,123,200,70,20,0x8000,27"
SETCONTROLCOLOR win,27,RGB(255,255,255),RGB(191,0,191)
CONTROL win,"B,Grey,123,220,70,20,0x8000,28"
SETCONTROLCOLOR win,28,RGB(255,255,255),RGB(128,128,128)
CONTROL win,"B,White,123,240,70,20,0x8000,29"
SETCONTROLCOLOR win,29,RGB(0,0,0),RGB(255,255,255)

'Col 3
CONTROL win,"B,Black,207,60,70,20,0x8000,30"
SETCONTROLCOLOR win,30,RGB(255,255,255),RGB(0,0,0)
CONTROL win,"B,Brown,207,80,70,20,0x8000,31"
SETCONTROLCOLOR win,31,RGB(255,255,255),RGB(128,64,0)
CONTROL win,"B,Red,207,100,70,20,0x8000,32"
SETCONTROLCOLOR win,32,RGB(255,255,255),RGB(255,0,0)
CONTROL win,"B,Orange,207,120,70,20,0x8000,33"
SETCONTROLCOLOR win,33,RGB(255,255,255),RGB(255,147,37)
CONTROL win,"B,Yellow,207,140,70,20,0x8000,34"
SETCONTROLCOLOR win,34,RGB(0,0,0),RGB(240,240,0)
CONTROL win,"B,Green,207,160,70,20,0x8000,35"
SETCONTROLCOLOR win,35,RGB(255,255,255),RGB(0,202,0)
CONTROL win,"B,Blue,207,180,70,20,0x8000,36"
SETCONTROLCOLOR win,36,RGB(255,255,255),RGB(72,72,255)
CONTROL win,"B,Violet,207,200,70,20,0x8000,37"
SETCONTROLCOLOR win,37,RGB(255,255,255),RGB(191,0,191)
CONTROL win,"B,Grey,207,220,70,20,0x8000,38"
SETCONTROLCOLOR win,38,RGB(255,255,255),RGB(128,128,128)
CONTROL win,"B,White,207,240,70,20,0x8000,39"
SETCONTROLCOLOR win,39,RGB(0,0,0),RGB(255,255,255)
CONTROL win,"B,Gold,207,260,70,20,0x8000,40"
SETCONTROLCOLOR win,40,RGB(0,0,0),RGB(255,160,106)
CONTROL win,"B,Silver,207,280,70,20,0x8000,41"
SETCONTROLCOLOR win,41,RGB(0,0,0),RGB(192,192,192)

'Col 4
CONTROL win,"B,Black,291,60,70,20,0x8000,50"
SETCONTROLCOLOR win,50,RGB(255,255,255),RGB(0,0,0)
CONTROL win,"B,Brown,291,80,70,20,0x8000,51"
SETCONTROLCOLOR win,51,RGB(255,255,255),RGB(128,64,0)
CONTROL win,"B,Gold,291,100,70,20,0x8000,52"
SETCONTROLCOLOR win,52,RGB(0,0,0),RGB(255,160,106)
CONTROL win,"B,Silver,291,120,70,20,0x8000,53"
SETCONTROLCOLOR win,53,RGB(0,0,0),RGB(192,192,192)
CONTROL win,"B,None,291,140,70,20,0x8000,54"
SETCONTROLCOLOR win,54,RGB(0,0,0),RGB(128,128,0)

RECT win, 380, 84, 10, 2 , 0,0
RECT win, 390, 60, 200, 50 , 0,RGB(128,128,0)
RECT win, 410, 58, 20, 54 , 0,RGB(128,128,0)
RECT win, 432, 58, 20, 54 , 0,RGB(128,128,0)
RECT win, 454, 58, 20, 54 , 0,RGB(128,128,0)
RECT win, 476, 58, 20, 54 , 0,RGB(128,128,0)
RECT win, 590, 84, 10, 2 , 0,0


run = 1
waituntil run = 0
closewindow win
end
'--------------------------------------------------------------------------------
sub main
Select @CLASS
case @IDCLOSEWINDOW
run=0
case @IDCREATE
CenterWindow win
Case @IdTimer
Time=Time$
hr =val(Left$ (Time, 2))
min =val(mid$(time,4,2))
sec = val(Right$ (Time,2))

if hr <1 then hr=hr+12
if hr >12 then hr=hr-12
if hr < 12 then n$="AM" else n$="PM"
SETCONTROLTEXT win, 75,Using("###:0##:0## ",hr,min,sec)+n$

case @IDCONTROL
if @controlid >=10 & @controlid <=19
SETCONTROLTEXT win, 1,getcontroltext(win,@controlid)
select @controlid
case 10
fcolor=RGB(255,255,255):bcolor=RGB(0,0,0)
case 11
fcolor=RGB(255,255,255):bcolor=RGB(128,64,0)
case 12
fcolor=RGB(255,255,255):bcolor=RGB(255,0,0)
case 13
fcolor=RGB(255,255,255):bcolor=RGB(255,147,37)
case 14
fcolor=RGB(0,0,0):bcolor=RGB(240,240,0)
case 15
fcolor=RGB(255,255,255):bcolor=RGB(0,202,0)
case 16
fcolor=RGB(255,255,255):bcolor=RGB(72,72,255)
case 17
fcolor=RGB(255,255,255):bcolor=RGB(191,0,191)
case 18
fcolor=RGB(255,255,255):bcolor=RGB(128,128,128)
case 19
fcolor=RGB(0,0,0):bcolor=RGB(255,255,255)
endselect
SETCONTROLCOLOR win,1,fcolor,bcolor
RECT win, 410, 58, 20, 54 , 0,bcolor
c1=@controlid-10
gosub update
endif
if @controlid >=20 & @controlid <=29
SETCONTROLTEXT win, 2,getcontroltext(win,@controlid)
select @controlid
case 20
fcolor=RGB(255,255,255):bcolor=RGB(0,0,0)
case 21
fcolor=RGB(255,255,255):bcolor=RGB(128,64,0)
case 22
fcolor=RGB(255,255,255):bcolor=RGB(255,0,0)
case 23
fcolor=RGB(255,255,255):bcolor=RGB(255,147,37)
case 24
fcolor=RGB(0,0,0):bcolor=RGB(240,240,0)
case 25
fcolor=RGB(255,255,255):bcolor=RGB(0,202,0)
case 26
fcolor=RGB(255,255,255):bcolor=RGB(72,72,255)
case 27
fcolor=RGB(255,255,255):bcolor=RGB(191,0,191)
case 28
fcolor=RGB(255,255,255):bcolor=RGB(128,128,128)
case 29
fcolor=RGB(0,0,0):bcolor=RGB(255,255,255)
endselect
SETCONTROLCOLOR win,2,fcolor,bcolor
RECT win, 432, 58, 20, 54 , 0,bcolor
c2=@controlid-20
gosub update
endif
if @controlid >=30 & @controlid <=41
SETCONTROLTEXT win, 3,getcontroltext(win,@controlid)
select @controlid
case 30
fcolor=RGB(255,255,255):bcolor=RGB(0,0,0)
case 31
fcolor=RGB(255,255,255):bcolor=RGB(128,64,0)
case 32
fcolor=RGB(255,255,255):bcolor=RGB(255,0,0)
case 33
fcolor=RGB(255,255,255):bcolor=RGB(255,147,37)
case 34
fcolor=RGB(0,0,0):bcolor=RGB(240,240,0)
case 35
fcolor=RGB(255,255,255):bcolor=RGB(0,202,0)
case 36
fcolor=RGB(255,255,255):bcolor=RGB(72,72,255)
case 37
fcolor=RGB(255,255,255):bcolor=RGB(191,0,191)
case 38
fcolor=RGB(255,255,255):bcolor=RGB(128,128,128)
case 39
fcolor=RGB(0,0,0):bcolor=RGB(255,255,255)
case 40
fcolor=RGB(0,0,0):bcolor=RGB(255,160,106)
case 41
fcolor=RGB(0,0,0):bcolor=RGB(192,192,192)
endselect
SETCONTROLCOLOR win,3,fcolor,bcolor
RECT win, 454, 58, 20, 54 , 0,bcolor
c3=@controlid-30
gosub update
endif
if @controlid >=50 & @controlid <=54
SETCONTROLTEXT win, 4,getcontroltext(win,@controlid)
select @controlid
case 50
fcolor=RGB(255,255,255):bcolor=RGB(0,0,0)
case 51
fcolor=RGB(255,255,255):bcolor=RGB(128,64,0)
case 52
fcolor=RGB(0,0,0):bcolor=RGB(255,160,106)
case 53
fcolor=RGB(0,0,0):bcolor=RGB(192,192,192)
case 54
fcolor=RGB(0,0,0):bcolor=RGB(128,128,0)
endselect
SETCONTROLCOLOR win,4,fcolor,bcolor
RECT win, 476, 58, 20, 54 , 0,bcolor
c4=@controlid-50
gosub update
endif
Endselect
Return

sub update
select c4
case 0
SETCONTROLTEXT win, 64,"+/- 1%"
case 1
SETCONTROLTEXT win, 64,"+/- 2%"
case 2
SETCONTROLTEXT win, 64,"+/- 5%"
case 3
SETCONTROLTEXT win, 64,"+/- 10%"
case 4
SETCONTROLTEXT win, 64,"+/- 20%"
endselect
if c3 < 10
ohm= (c1*10+c2)*10^c3
SETCONTROLTEXT win, 65,using("-###,###,###,###,###",ohm)
ohm= (c1*10+c2)*10^(c3-3)
if c3-3 < 0
SETCONTROLTEXT win, 66,using("-###,###,###,###,###.##",ohm)
else
SETCONTROLTEXT win, 66,using("-###,###,###,###,###",ohm)
endif
ohm= (c1*10+c2)*10^(c3-6)
if c3-3 < 3
SETCONTROLTEXT win, 67,using("-###,###,###,###,###.##",ohm)
else
SETCONTROLTEXT win, 67,using("-###,###,###,###,###",ohm)
endif
else
ohm= (c1*10+c2)*10^-(c3-9)
SETCONTROLTEXT win, 65,using("-###,###.##",ohm)
ohm= (c1*10+c2)*10^-(c3-6)
SETCONTROLTEXT win, 66,using("-###,###",ohm)
ohm= (c1*10+c2)*10^-(c3-3)
SETCONTROLTEXT win, 67,using("-###,###",ohm)
endif
return


Enjoy
Title: Re: Sample program
Post by: aurelCB on March 13, 2009, 03:26:08 AM
Great Program,Larry :)
Title: Re: Sample program
Post by: LarryMc on March 13, 2009, 03:53:04 AM
thanks Aurel
Title: Re: Sample program
Post by: crystal_blox on March 17, 2009, 03:06:22 AM
Thanks from me too, Larry. - Jim