![]() |
Forum Index : Microcontroller and PC projects : Explorer-100 to the rescue :)
Author | Message | ||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Another panic-project came up and the E-100 is the perfect solution due to the two Click-module sockets. I need Bluetooth and quadrature-encoder decode/counting. This is an old machine, fitted with AC solenoid valves and so this gives me an opportunity to test these Fotek SSRs HMI is a 7" Android tablet and the code is coming together rapidly. Client thinks I'm a nutter because I have insisted on bringing a sleeping bag to his factory so that I can knock this thing out in record time ![]() |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
Using RFO Basic, aka BASIC! for the HMI. To give an idea of the syntax: GoSub INCFILES StatusB = 0 GoSub INITGRAPHICS GR.ORIENTATION 0 Pause 800 DevWidth = 600 % Keep aspect ratio DevHeight = 1024 % Keep aspect ratio GR.SCREEN ActWidth, ActHeight If DevWidth > DevHeight & ActWidth < ActHeight Then Swap DevWidth, DevHeight If DevWidth < DevHeight & ActWidth > ActHeight Then Swap DevWidth, DevHeight If StatusB > 0 Then GR.STATUSBAR StatusH ActHeight = ActHeight - StatusH End If ScaleW = ActWidth / DevWidth ScaleH = ActHeight / DevHeight GR.SCALE ScaleW, ScaleH LastItm = 469 MaxArray = 470 GoSub GLOBALCODE DIM Screen1[MaxArray] DIM Screen2[MaxArray] DIM Screen3[MaxArray] DIM Screen4[MaxArray] DIM Screen5[MaxArray] DIM Screen6[MaxArray] GoSub CUSTOMGRAPHICS DRAWOBJECTS: ! Draw RndBtn1 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[1], 10, 110, 162, 162 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[2], 15, 110, 157, 162 GR.RECT Screen1[3], 10, 115, 162, 157 GR.CIRCLE Screen1[4], 15, 115, 5 GR.CIRCLE Screen1[5], 157, 115, 5 GR.CIRCLE Screen1[6], 157, 157, 5 GR.CIRCLE Screen1[7], 15, 157, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[8], 10, 115, 10, 157 GR.LINE Screen1[9], 15, 110, 157, 110 GR.LINE Screen1[10], 162, 115, 162, 157 GR.LINE Screen1[11], 157, 162, 15, 162 GR.ARC Screen1[12], 10, 110, 20, 120, 270, -90, 0 GR.ARC Screen1[13], 152, 152, 162, 162, 0, 90, 0 GR.ARC Screen1[14], 10, 152, 20, 162, -270, 90, 0 GR.ARC Screen1[15], 152, 110, 162, 120, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[16], 86, 145, "Clamp IN" TxtRndBtn1 = 16 ! Draw RndBtn2 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[17], 175, 110, 327, 162 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[18], 180, 110, 322, 162 GR.RECT Screen1[19], 175, 115, 327, 157 GR.CIRCLE Screen1[20], 180, 115, 5 GR.CIRCLE Screen1[21], 322, 115, 5 GR.CIRCLE Screen1[22], 322, 157, 5 GR.CIRCLE Screen1[23], 180, 157, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[24], 175, 115, 175, 157 GR.LINE Screen1[25], 180, 110, 322, 110 GR.LINE Screen1[26], 327, 115, 327, 157 GR.LINE Screen1[27], 322, 162, 180, 162 GR.ARC Screen1[28], 175, 110, 185, 120, 270, -90, 0 GR.ARC Screen1[29], 317, 152, 327, 162, 0, 90, 0 GR.ARC Screen1[30], 175, 152, 185, 162, -270, 90, 0 GR.ARC Screen1[31], 317, 110, 327, 120, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[32], 251, 145, "P-Die IN" TxtRndBtn2 = 32 ! Draw RndBtn3 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[33], 340, 110, 492, 162 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[34], 345, 110, 487, 162 GR.RECT Screen1[35], 340, 115, 492, 157 GR.CIRCLE Screen1[36], 345, 115, 5 GR.CIRCLE Screen1[37], 487, 115, 5 GR.CIRCLE Screen1[38], 487, 157, 5 GR.CIRCLE Screen1[39], 345, 157, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[40], 340, 115, 340, 157 GR.LINE Screen1[41], 345, 110, 487, 110 GR.LINE Screen1[42], 492, 115, 492, 157 GR.LINE Screen1[43], 487, 162, 345, 162 GR.ARC Screen1[44], 340, 110, 350, 120, 270, -90, 0 GR.ARC Screen1[45], 482, 152, 492, 162, 0, 90, 0 GR.ARC Screen1[46], 340, 152, 350, 162, -270, 90, 0 GR.ARC Screen1[47], 482, 110, 492, 120, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[48], 416, 145, "Mand ADV" TxtRndBtn3 = 48 ! Draw RndBtn4 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[49], 10, 195, 162, 247 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[50], 15, 195, 157, 247 GR.RECT Screen1[51], 10, 200, 162, 242 GR.CIRCLE Screen1[52], 15, 200, 5 GR.CIRCLE Screen1[53], 157, 200, 5 GR.CIRCLE Screen1[54], 157, 242, 5 GR.CIRCLE Screen1[55], 15, 242, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[56], 10, 200, 10, 242 GR.LINE Screen1[57], 15, 195, 157, 195 GR.LINE Screen1[58], 162, 200, 162, 242 GR.LINE Screen1[59], 157, 247, 15, 247 GR.ARC Screen1[60], 10, 195, 20, 205, 270, -90, 0 GR.ARC Screen1[61], 152, 237, 162, 247, 0, 90, 0 GR.ARC Screen1[62], 10, 237, 20, 247, -270, 90, 0 GR.ARC Screen1[63], 152, 195, 162, 205, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[64], 86, 230, "Clamp IN" TxtRndBtn4 = 64 ! Draw RndBtn5 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[65], 175, 195, 327, 247 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[66], 180, 195, 322, 247 GR.RECT Screen1[67], 175, 200, 327, 242 GR.CIRCLE Screen1[68], 180, 200, 5 GR.CIRCLE Screen1[69], 322, 200, 5 GR.CIRCLE Screen1[70], 322, 242, 5 GR.CIRCLE Screen1[71], 180, 242, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[72], 175, 200, 175, 242 GR.LINE Screen1[73], 180, 195, 322, 195 GR.LINE Screen1[74], 327, 200, 327, 242 GR.LINE Screen1[75], 322, 247, 180, 247 GR.ARC Screen1[76], 175, 195, 185, 205, 270, -90, 0 GR.ARC Screen1[77], 317, 237, 327, 247, 0, 90, 0 GR.ARC Screen1[78], 175, 237, 185, 247, -270, 90, 0 GR.ARC Screen1[79], 317, 195, 327, 205, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[80], 251, 230, "P-Die IN" TxtRndBtn5 = 80 ! Draw RndBtn6 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[81], 340, 195, 492, 247 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[82], 345, 195, 487, 247 GR.RECT Screen1[83], 340, 200, 492, 242 GR.CIRCLE Screen1[84], 345, 200, 5 GR.CIRCLE Screen1[85], 487, 200, 5 GR.CIRCLE Screen1[86], 487, 242, 5 GR.CIRCLE Screen1[87], 345, 242, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[88], 340, 200, 340, 242 GR.LINE Screen1[89], 345, 195, 487, 195 GR.LINE Screen1[90], 492, 200, 492, 242 GR.LINE Screen1[91], 487, 247, 345, 247 GR.ARC Screen1[92], 340, 195, 350, 205, 270, -90, 0 GR.ARC Screen1[93], 482, 237, 492, 247, 0, 90, 0 GR.ARC Screen1[94], 340, 237, 350, 247, -270, 90, 0 GR.ARC Screen1[95], 482, 195, 492, 205, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[96], 416, 230, "Mand ADV" TxtRndBtn6 = 96 ! Draw RndBtn7 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[97], 10, 275, 162, 327 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[98], 15, 275, 157, 327 GR.RECT Screen1[99], 10, 280, 162, 322 GR.CIRCLE Screen1[100], 15, 280, 5 GR.CIRCLE Screen1[101], 157, 280, 5 GR.CIRCLE Screen1[102], 157, 322, 5 GR.CIRCLE Screen1[103], 15, 322, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[104], 10, 280, 10, 322 GR.LINE Screen1[105], 15, 275, 157, 275 GR.LINE Screen1[106], 162, 280, 162, 322 GR.LINE Screen1[107], 157, 327, 15, 327 GR.ARC Screen1[108], 10, 275, 20, 285, 270, -90, 0 GR.ARC Screen1[109], 152, 317, 162, 327, 0, 90, 0 GR.ARC Screen1[110], 10, 317, 20, 327, -270, 90, 0 GR.ARC Screen1[111], 152, 275, 162, 285, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[112], 86, 310, "Clamp IN" TxtRndBtn7 = 112 ! Draw RndBtn8 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[113], 175, 275, 327, 327 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[114], 180, 275, 322, 327 GR.RECT Screen1[115], 175, 280, 327, 322 GR.CIRCLE Screen1[116], 180, 280, 5 GR.CIRCLE Screen1[117], 322, 280, 5 GR.CIRCLE Screen1[118], 322, 322, 5 GR.CIRCLE Screen1[119], 180, 322, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[120], 175, 280, 175, 322 GR.LINE Screen1[121], 180, 275, 322, 275 GR.LINE Screen1[122], 327, 280, 327, 322 GR.LINE Screen1[123], 322, 327, 180, 327 GR.ARC Screen1[124], 175, 275, 185, 285, 270, -90, 0 GR.ARC Screen1[125], 317, 317, 327, 327, 0, 90, 0 GR.ARC Screen1[126], 175, 317, 185, 327, -270, 90, 0 GR.ARC Screen1[127], 317, 275, 327, 285, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[128], 251, 310, "P-Die IN" TxtRndBtn8 = 128 ! Draw RndBtn9 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[129], 340, 275, 492, 327 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[130], 345, 275, 487, 327 GR.RECT Screen1[131], 340, 280, 492, 322 GR.CIRCLE Screen1[132], 345, 280, 5 GR.CIRCLE Screen1[133], 487, 280, 5 GR.CIRCLE Screen1[134], 487, 322, 5 GR.CIRCLE Screen1[135], 345, 322, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[136], 340, 280, 340, 322 GR.LINE Screen1[137], 345, 275, 487, 275 GR.LINE Screen1[138], 492, 280, 492, 322 GR.LINE Screen1[139], 487, 327, 345, 327 GR.ARC Screen1[140], 340, 275, 350, 285, 270, -90, 0 GR.ARC Screen1[141], 482, 317, 492, 327, 0, 90, 0 GR.ARC Screen1[142], 340, 317, 350, 327, -270, 90, 0 GR.ARC Screen1[143], 482, 275, 492, 285, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[144], 416, 310, "Mand ADV" TxtRndBtn9 = 144 ! Draw RndBtn10 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[145], 530, 110, 682, 162 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[146], 535, 110, 677, 162 GR.RECT Screen1[147], 530, 115, 682, 157 GR.CIRCLE Screen1[148], 535, 115, 5 GR.CIRCLE Screen1[149], 677, 115, 5 GR.CIRCLE Screen1[150], 677, 157, 5 GR.CIRCLE Screen1[151], 535, 157, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[152], 530, 115, 530, 157 GR.LINE Screen1[153], 535, 110, 677, 110 GR.LINE Screen1[154], 682, 115, 682, 157 GR.LINE Screen1[155], 677, 162, 535, 162 GR.ARC Screen1[156], 530, 110, 540, 120, 270, -90, 0 GR.ARC Screen1[157], 672, 152, 682, 162, 0, 90, 0 GR.ARC Screen1[158], 530, 152, 540, 162, -270, 90, 0 GR.ARC Screen1[159], 672, 110, 682, 120, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[160], 606, 145, "Clamp OUT" TxtRndBtn10 = 160 ! Draw RndBtn11 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[161], 695, 110, 847, 162 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[162], 700, 110, 842, 162 GR.RECT Screen1[163], 695, 115, 847, 157 GR.CIRCLE Screen1[164], 700, 115, 5 GR.CIRCLE Screen1[165], 842, 115, 5 GR.CIRCLE Screen1[166], 842, 157, 5 GR.CIRCLE Screen1[167], 700, 157, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[168], 695, 115, 695, 157 GR.LINE Screen1[169], 700, 110, 842, 110 GR.LINE Screen1[170], 847, 115, 847, 157 GR.LINE Screen1[171], 842, 162, 700, 162 GR.ARC Screen1[172], 695, 110, 705, 120, 270, -90, 0 GR.ARC Screen1[173], 837, 152, 847, 162, 0, 90, 0 GR.ARC Screen1[174], 695, 152, 705, 162, -270, 90, 0 GR.ARC Screen1[175], 837, 110, 847, 120, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[176], 771, 145, "P-Die OUT" TxtRndBtn11 = 176 ! Draw RndBtn12 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[177], 860, 110, 1012, 162 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[178], 865, 110, 1007, 162 GR.RECT Screen1[179], 860, 115, 1012, 157 GR.CIRCLE Screen1[180], 865, 115, 5 GR.CIRCLE Screen1[181], 1007, 115, 5 GR.CIRCLE Screen1[182], 1007, 157, 5 GR.CIRCLE Screen1[183], 865, 157, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[184], 860, 115, 860, 157 GR.LINE Screen1[185], 865, 110, 1007, 110 GR.LINE Screen1[186], 1012, 115, 1012, 157 GR.LINE Screen1[187], 1007, 162, 865, 162 GR.ARC Screen1[188], 860, 110, 870, 120, 270, -90, 0 GR.ARC Screen1[189], 1002, 152, 1012, 162, 0, 90, 0 GR.ARC Screen1[190], 860, 152, 870, 162, -270, 90, 0 GR.ARC Screen1[191], 1002, 110, 1012, 120, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[192], 936, 145, "Mand RET" TxtRndBtn12 = 192 ! Draw RndBtn13 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[193], 530, 195, 682, 247 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[194], 535, 195, 677, 247 GR.RECT Screen1[195], 530, 200, 682, 242 GR.CIRCLE Screen1[196], 535, 200, 5 GR.CIRCLE Screen1[197], 677, 200, 5 GR.CIRCLE Screen1[198], 677, 242, 5 GR.CIRCLE Screen1[199], 535, 242, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[200], 530, 200, 530, 242 GR.LINE Screen1[201], 535, 195, 677, 195 GR.LINE Screen1[202], 682, 200, 682, 242 GR.LINE Screen1[203], 677, 247, 535, 247 GR.ARC Screen1[204], 530, 195, 540, 205, 270, -90, 0 GR.ARC Screen1[205], 672, 237, 682, 247, 0, 90, 0 GR.ARC Screen1[206], 530, 237, 540, 247, -270, 90, 0 GR.ARC Screen1[207], 672, 195, 682, 205, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[208], 606, 230, "Clamp OUT" TxtRndBtn13 = 208 ! Draw RndBtn14 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[209], 695, 195, 847, 247 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[210], 700, 195, 842, 247 GR.RECT Screen1[211], 695, 200, 847, 242 GR.CIRCLE Screen1[212], 700, 200, 5 GR.CIRCLE Screen1[213], 842, 200, 5 GR.CIRCLE Screen1[214], 842, 242, 5 GR.CIRCLE Screen1[215], 700, 242, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[216], 695, 200, 695, 242 GR.LINE Screen1[217], 700, 195, 842, 195 GR.LINE Screen1[218], 847, 200, 847, 242 GR.LINE Screen1[219], 842, 247, 700, 247 GR.ARC Screen1[220], 695, 195, 705, 205, 270, -90, 0 GR.ARC Screen1[221], 837, 237, 847, 247, 0, 90, 0 GR.ARC Screen1[222], 695, 237, 705, 247, -270, 90, 0 GR.ARC Screen1[223], 837, 195, 847, 205, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[224], 771, 230, "P-Die OUT" TxtRndBtn14 = 224 ! Draw RndBtn15 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[225], 860, 195, 1012, 247 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[226], 865, 195, 1007, 247 GR.RECT Screen1[227], 860, 200, 1012, 242 GR.CIRCLE Screen1[228], 865, 200, 5 GR.CIRCLE Screen1[229], 1007, 200, 5 GR.CIRCLE Screen1[230], 1007, 242, 5 GR.CIRCLE Screen1[231], 865, 242, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[232], 860, 200, 860, 242 GR.LINE Screen1[233], 865, 195, 1007, 195 GR.LINE Screen1[234], 1012, 200, 1012, 242 GR.LINE Screen1[235], 1007, 247, 865, 247 GR.ARC Screen1[236], 860, 195, 870, 205, 270, -90, 0 GR.ARC Screen1[237], 1002, 237, 1012, 247, 0, 90, 0 GR.ARC Screen1[238], 860, 237, 870, 247, -270, 90, 0 GR.ARC Screen1[239], 1002, 195, 1012, 205, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[240], 936, 230, "Mand RET" TxtRndBtn15 = 240 ! Draw RndBtn16 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[241], 530, 275, 682, 327 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[242], 535, 275, 677, 327 GR.RECT Screen1[243], 530, 280, 682, 322 GR.CIRCLE Screen1[244], 535, 280, 5 GR.CIRCLE Screen1[245], 677, 280, 5 GR.CIRCLE Screen1[246], 677, 322, 5 GR.CIRCLE Screen1[247], 535, 322, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[248], 530, 280, 530, 322 GR.LINE Screen1[249], 535, 275, 677, 275 GR.LINE Screen1[250], 682, 280, 682, 322 GR.LINE Screen1[251], 677, 327, 535, 327 GR.ARC Screen1[252], 530, 275, 540, 285, 270, -90, 0 GR.ARC Screen1[253], 672, 317, 682, 327, 0, 90, 0 GR.ARC Screen1[254], 530, 317, 540, 327, -270, 90, 0 GR.ARC Screen1[255], 672, 275, 682, 285, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[256], 606, 310, "Clamp OUT" TxtRndBtn16 = 256 ! Draw RndBtn17 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[257], 695, 275, 847, 327 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[258], 700, 275, 842, 327 GR.RECT Screen1[259], 695, 280, 847, 322 GR.CIRCLE Screen1[260], 700, 280, 5 GR.CIRCLE Screen1[261], 842, 280, 5 GR.CIRCLE Screen1[262], 842, 322, 5 GR.CIRCLE Screen1[263], 700, 322, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[264], 695, 280, 695, 322 GR.LINE Screen1[265], 700, 275, 842, 275 GR.LINE Screen1[266], 847, 280, 847, 322 GR.LINE Screen1[267], 842, 327, 700, 327 GR.ARC Screen1[268], 695, 275, 705, 285, 270, -90, 0 GR.ARC Screen1[269], 837, 317, 847, 327, 0, 90, 0 GR.ARC Screen1[270], 695, 317, 705, 327, -270, 90, 0 GR.ARC Screen1[271], 837, 275, 847, 285, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[272], 771, 310, "P-Die OUT" TxtRndBtn17 = 272 ! Draw RndBtn18 ===================================== GR.COLOR 0, 0, 0, 0, 0 GR.RECT Screen1[273], 860, 275, 1012, 327 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[274], 865, 275, 1007, 327 GR.RECT Screen1[275], 860, 280, 1012, 322 GR.CIRCLE Screen1[276], 865, 280, 5 GR.CIRCLE Screen1[277], 1007, 280, 5 GR.CIRCLE Screen1[278], 1007, 322, 5 GR.CIRCLE Screen1[279], 865, 322, 5 GR.COLOR 255, 255, 255, 255, 0 GR.SET.STROKE 1 GR.LINE Screen1[280], 860, 280, 860, 322 GR.LINE Screen1[281], 865, 275, 1007, 275 GR.LINE Screen1[282], 1012, 280, 1012, 322 GR.LINE Screen1[283], 1007, 327, 865, 327 GR.ARC Screen1[284], 860, 275, 870, 285, 270, -90, 0 GR.ARC Screen1[285], 1002, 317, 1012, 327, 0, 90, 0 GR.ARC Screen1[286], 860, 317, 870, 327, -270, 90, 0 GR.ARC Screen1[287], 1002, 275, 1012, 285, -90, 90, 0 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[288], 936, 310, "Mand RET" TxtRndBtn18 = 288 ! Draw TxtLine1 =================================== GR.COLOR 255, 0, 255, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[289], 885, 75, "Post-Bend Sequence" TxtTxtLine1 = 289 ! Draw TxtLine2 =================================== GR.COLOR 255, 0, 255, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[290], 135, 75, "Pre-Bend Sequence" TxtTxtLine2 = 290 ! Draw Bitmap1 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "bluetooth_button_not_connected.png" GR.BITMAP.SCALE BmpPtr1, TmpPtr, 45, 45, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen1[291], BmpPtr1, 0, 0 PtrBitmap1 = 291 ! Draw Btn3 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[292], 0, 450, 210, 600 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen1[293], 1, 451, 209, 599 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 120 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[294], 105, 570, "1" TxtBtn3 = 294 ! Draw Btn4 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[295], 688, 450, 1023, 600 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen1[296], 689, 451, 1022, 599 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 120 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[297], 856, 570, "000.0" TxtBtn4 = 297 ! Draw Btn5 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen2[298], 780, 180, 925, 360 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen2[299], 781, 181, 924, 359 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 200 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen2[300], 853, 345, "0" TxtBtn5 = 300 ! Draw Btn6 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen2[301], 725, 180, 770, 360 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen2[302], 726, 181, 769, 359 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 200 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen2[303], 748, 345, "." TxtBtn6 = 303 ! Draw Btn7 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen2[304], 570, 180, 715, 360 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen2[305], 571, 181, 714, 359 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 200 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen2[306], 643, 345, "0" TxtBtn7 = 306 ! Draw Btn8 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen2[307], 415, 180, 560, 360 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen2[308], 416, 181, 559, 359 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 200 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen2[309], 488, 345, "0" TxtBtn8 = 309 ! Draw Btn9 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen2[310], 260, 180, 405, 360 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen2[311], 261, 181, 404, 359 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 200 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen2[312], 333, 345, "0" TxtBtn9 = 312 ! Draw Bitmap2 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "increment_button.png" GR.BITMAP.SCALE BmpPtr2, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[313], BmpPtr2, 260, 70 PtrBitmap2 = 313 ! Draw Bitmap3 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "increment_button.png" GR.BITMAP.SCALE BmpPtr3, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[314], BmpPtr3, 415, 70 PtrBitmap3 = 314 ! Draw Bitmap4 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "increment_button.png" GR.BITMAP.SCALE BmpPtr4, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[315], BmpPtr4, 570, 70 PtrBitmap4 = 315 ! Draw Bitmap5 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "increment_button.png" GR.BITMAP.SCALE BmpPtr5, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[316], BmpPtr5, 780, 70 PtrBitmap5 = 316 ! Draw Bitmap6 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "decrement_button.png" GR.BITMAP.SCALE BmpPtr6, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[317], BmpPtr6, 260, 375 PtrBitmap6 = 317 ! Draw Bitmap7 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "decrement_button.png" GR.BITMAP.SCALE BmpPtr7, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[318], BmpPtr7, 415, 375 PtrBitmap7 = 318 ! Draw Bitmap8 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "decrement_button.png" GR.BITMAP.SCALE BmpPtr8, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[319], BmpPtr8, 570, 375 PtrBitmap8 = 319 ! Draw Bitmap9 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "decrement_button.png" GR.BITMAP.SCALE BmpPtr9, TmpPtr, 145, 100, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[320], BmpPtr9, 780, 375 PtrBitmap9 = 320 ! Draw Bitmap11 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "bluetooth_button_not_connected.png" GR.BITMAP.SCALE BmpPtr11, TmpPtr, 45, 45, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[321], BmpPtr11, 0, 0 PtrBitmap11 = 321 ! Draw Btn10 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[322], 25, 25, 177, 125 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[323], 26, 26, 176, 124 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[324], 101, 84, "BEND 1" TxtBtn10 = 324 ! Draw Btn11 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[325], 190, 25, 342, 125 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[326], 191, 26, 341, 124 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[327], 266, 84, "BEND 2" TxtBtn11 = 327 ! Draw Btn12 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[328], 355, 25, 507, 125 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[329], 356, 26, 506, 124 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[330], 431, 84, "BEND 3" TxtBtn12 = 330 ! Draw Btn13 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[331], 520, 25, 672, 125 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[332], 521, 26, 671, 124 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[333], 596, 84, "BEND 4" TxtBtn13 = 333 ! Draw Btn14 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[334], 685, 25, 837, 125 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[335], 686, 26, 836, 124 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[336], 761, 84, "BEND 5" TxtBtn14 = 336 ! Draw Btn15 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[337], 850, 25, 1002, 125 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[338], 851, 26, 1001, 124 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[339], 926, 84, "BEND 6" TxtBtn15 = 339 ! Draw Btn16 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[340], 25, 150, 177, 250 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[341], 26, 151, 176, 249 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[342], 101, 209, "BEND 7" TxtBtn16 = 342 ! Draw Btn17 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[343], 190, 150, 342, 250 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[344], 191, 151, 341, 249 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[345], 266, 209, "BEND 8" TxtBtn17 = 345 ! Draw Btn18 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[346], 355, 150, 507, 250 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[347], 356, 151, 506, 249 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[348], 431, 209, "BEND 9" TxtBtn18 = 348 ! Draw Btn19 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[349], 520, 150, 672, 250 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[350], 521, 151, 671, 249 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[351], 596, 209, "BEND 10" TxtBtn19 = 351 ! Draw Btn20 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[352], 685, 150, 837, 250 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[353], 686, 151, 836, 249 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[354], 761, 209, "BEND 11" TxtBtn20 = 354 ! Draw Btn21 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[355], 850, 150, 1002, 250 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[356], 851, 151, 1001, 249 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[357], 926, 209, "BEND 12" TxtBtn21 = 357 ! Draw Btn22 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[358], 25, 275, 177, 375 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[359], 26, 276, 176, 374 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[360], 101, 334, "BEND 13" TxtBtn22 = 360 ! Draw Btn23 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[361], 190, 275, 342, 375 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[362], 191, 276, 341, 374 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[363], 266, 334, "BEND 14" TxtBtn23 = 363 ! Draw Btn24 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[364], 355, 275, 507, 375 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[365], 356, 276, 506, 374 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[366], 431, 334, "BEND 15" TxtBtn24 = 366 ! Draw Btn25 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[367], 520, 275, 672, 375 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[368], 521, 276, 671, 374 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[369], 596, 334, "BEND 16" TxtBtn25 = 369 ! Draw Btn26 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[370], 685, 275, 837, 375 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[371], 686, 276, 836, 374 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[372], 761, 334, "BEND 17" TxtBtn26 = 372 ! Draw Btn27 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen3[373], 850, 275, 1002, 375 GR.COLOR 255, 255, 255, 0, 1 GR.RECT Screen3[374], 851, 276, 1001, 374 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen3[375], 926, 334, "BEND 18" TxtBtn27 = 375 ! Draw TxtLine4 =================================== GR.COLOR 255, 0, 255, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[376], 105, 425, "Bend #" TxtTxtLine4 = 376 ! Draw TxtLine5 =================================== GR.COLOR 255, 0, 255, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[377], 855, 425, "Angle (Deg)" TxtTxtLine5 = 377 ! Draw Bitmap13 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "white_background.png" GR.BITMAP.SCALE BmpPtr13, TmpPtr, 1024, 600, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen4[378], BmpPtr13, 0, 0 PtrBitmap13 = 378 ! Draw Btn28 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[379], 400, 20, 1000, 72 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[380], 401, 21, 999, 71 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[381], 700, 61, "Btn28" TxtBtn28 = 381 ! Draw Btn29 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[382], 400, 85, 1000, 137 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[383], 401, 86, 999, 136 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[384], 700, 126, "Btn29" TxtBtn29 = 384 ! Draw Btn30 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[385], 400, 150, 1000, 202 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[386], 401, 151, 999, 201 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[387], 700, 191, "Btn30" TxtBtn30 = 387 ! Draw Btn31 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[388], 400, 215, 1000, 267 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[389], 401, 216, 999, 266 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[390], 700, 256, "Btn31" TxtBtn31 = 390 ! Draw Btn32 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[391], 400, 280, 1000, 332 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[392], 401, 281, 999, 331 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[393], 700, 321, "Btn32" TxtBtn32 = 393 ! Draw Btn33 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[394], 400, 345, 1000, 397 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[395], 401, 346, 999, 396 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[396], 700, 386, "Btn33" TxtBtn33 = 396 ! Draw Btn34 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[397], 400, 410, 1000, 462 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[398], 401, 411, 999, 461 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[399], 700, 451, "Btn34" TxtBtn34 = 399 ! Draw Btn35 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen4[400], 400, 475, 1000, 527 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen4[401], 401, 476, 999, 526 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen4[402], 700, 516, "Btn35" TxtBtn35 = 402 ! Draw Bitmap14 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "Keyboard.png" GR.BITMAP.SCALE BmpPtr14, TmpPtr, 1020, 395, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen5[403], BmpPtr14, 2, 200 PtrBitmap14 = 403 ! Draw TchRect1 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[404], 5, 203, 80, 280 PtrTchRect1 = 404 ! Draw TchRect2 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[405], 84, 203, 159, 280 PtrTchRect2 = 405 ! Draw TchRect3 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[406], 162, 203, 237, 280 PtrTchRect3 = 406 ! Draw TchRect4 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[407], 239, 203, 314, 280 PtrTchRect4 = 407 ! Draw TchRect5 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[408], 317, 203, 392, 280 PtrTchRect5 = 408 ! Draw TchRect6 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[409], 395, 203, 470, 280 PtrTchRect6 = 409 ! Draw TchRect7 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[410], 473, 203, 548, 280 PtrTchRect7 = 410 ! Draw TchRect8 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[411], 551, 203, 626, 280 PtrTchRect8 = 411 ! Draw TchRect9 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[412], 629, 203, 704, 280 PtrTchRect9 = 412 ! Draw TchRect10 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[413], 708, 203, 783, 280 PtrTchRect10 = 413 ! Draw TchRect11 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[414], 786, 203, 861, 280 PtrTchRect11 = 414 ! Draw TchRect12 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[415], 864, 203, 939, 280 PtrTchRect12 = 415 ! Draw TchRect13 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[416], 943, 203, 1018, 280 PtrTchRect13 = 416 ! Draw TchRect14 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[417], 5, 283, 80, 357 PtrTchRect14 = 417 ! Draw TchRect15 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[418], 84, 283, 159, 357 PtrTchRect15 = 418 ! Draw TchRect16 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[419], 162, 283, 237, 357 PtrTchRect16 = 419 ! Draw TchRect17 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[420], 239, 283, 314, 357 PtrTchRect17 = 420 ! Draw TchRect18 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[421], 317, 283, 392, 357 PtrTchRect18 = 421 ! Draw TchRect19 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[422], 395, 283, 470, 357 PtrTchRect19 = 422 ! Draw TchRect20 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[423], 473, 283, 548, 357 PtrTchRect20 = 423 ! Draw TchRect21 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[424], 552, 283, 627, 357 PtrTchRect21 = 424 ! Draw TchRect22 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[425], 631, 283, 706, 357 PtrTchRect22 = 425 ! Draw TchRect23 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[426], 709, 283, 784, 357 PtrTchRect23 = 426 ! Draw TchRect24 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[427], 788, 283, 863, 357 PtrTchRect24 = 427 ! Draw TchRect25 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[428], 865, 283, 940, 357 PtrTchRect25 = 428 ! Draw TchRect26 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[429], 945, 283, 1020, 357 PtrTchRect26 = 429 ! Draw TchRect27 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[430], 97, 360, 171, 435 PtrTchRect27 = 430 ! Draw TchRect28 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[431], 175, 360, 250, 434 PtrTchRect28 = 431 ! Draw TchRect29 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[432], 253, 360, 328, 434 PtrTchRect29 = 432 ! Draw TchRect30 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[433], 331, 360, 406, 434 PtrTchRect30 = 433 ! Draw TchRect31 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[434], 409, 360, 484, 434 PtrTchRect31 = 434 ! Draw TchRect32 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[435], 488, 360, 563, 434 PtrTchRect32 = 435 ! Draw TchRect33 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[436], 565, 360, 640, 434 PtrTchRect33 = 436 ! Draw TchRect34 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[437], 644, 360, 719, 434 PtrTchRect34 = 437 ! Draw TchRect35 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[438], 722, 360, 797, 434 PtrTchRect35 = 438 ! Draw TchRect36 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[439], 800, 360, 875, 433 PtrTchRect36 = 439 ! Draw TchRect37 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[440], 113, 439, 188, 513 PtrTchRect37 = 440 ! Draw TchRect38 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[441], 191, 439, 266, 513 PtrTchRect38 = 441 ! Draw TchRect39 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[442], 270, 439, 345, 513 PtrTchRect39 = 442 ! Draw TchRect40 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[443], 348, 439, 423, 513 PtrTchRect40 = 443 ! Draw TchRect41 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[444], 426, 439, 501, 513 PtrTchRect41 = 444 ! Draw TchRect42 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[445], 504, 439, 579, 513 PtrTchRect42 = 445 ! Draw TchRect43 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[446], 581, 439, 656, 513 PtrTchRect43 = 446 ! Draw TchRect44 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[447], 878, 360, 1017, 434 PtrTchRect44 = 447 ! Draw TchRect45 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[448], 755, 517, 1018, 591 PtrTchRect45 = 448 ! Draw TchRect46 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[449], 173, 517, 747, 591 PtrTchRect46 = 449 ! Draw TchRect47 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen5[450], 7, 517, 169, 591 PtrTchRect47 = 450 ! Draw Btn36 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen5[451], 148, 32, 875, 84 GR.COLOR 255, 181, 182, 178, 1 GR.RECT Screen5[452], 149, 33, 874, 83 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 30 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen5[453], 512, 69, "" TxtBtn36 = 453 ! Draw Btn37 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[454], 270, 0, 755, 52 GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen1[455], 271, 1, 754, 51 GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 40 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen1[456], 513, 41, "" TxtBtn37 = 456 ! Draw Bitmap16 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "Esc_button.png" GR.BITMAP.SCALE BmpPtr16, TmpPtr, 134, 104, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen3[457], BmpPtr16, 25, 490 PtrBitmap16 = 457 ! Draw Bitmap18 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "OK_button.png" GR.BITMAP.SCALE BmpPtr18, TmpPtr, 131, 104, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen2[458], BmpPtr18, 25, 490 PtrBitmap18 = 458 ! Draw Bitmap22 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "File_page.png" GR.BITMAP.SCALE BmpPtr22, TmpPtr, 1024, 551, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen6[459], BmpPtr22, 0, 0 PtrBitmap22 = 459 ! Draw TchRect48 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen6[460], 5, 450, 139, 546 PtrTchRect48 = 460 ! Draw TchRect49 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen6[461], 394, 448, 583, 547 PtrTchRect49 = 461 ! Draw TchRect50 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen6[462], 585, 449, 773, 547 PtrTchRect50 = 462 ! Draw Btn38 ===================================== GR.COLOR 255, 255, 255, 255, 1 GR.RECT Screen6[463], 10, 20, 1015, 72 GR.COLOR 255, 255, 0, 0, 1 GR.RECT Screen6[464], 11, 21, 1014, 71 GR.COLOR 255, 255, 255, 255, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen6[465], 513, 55, "Touch Delete Again to DELETE THIS PROGRAM FILE" TxtBtn38 = 465 ! Draw TchRect51 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen6[466], 775, 450, 1020, 545 PtrTchRect51 = 466 ! Draw TxtLine14 =================================== GR.COLOR 255, 0, 0, 0, 1 GR.TEXT.SIZE 25 GR.TEXT.BOLD 1 GR.TEXT.ALIGN 2 GR.TEXT.DRAW Screen6[467], 513, 124, "" TxtTxtLine14 = 467 ! Draw TchRect52 Invisible Obj ================== GR.COLOR 0, 0, 0, 0, 1 GR.RECT Screen6[468], 870, 0, 1022, 52 PtrTchRect52 = 468 ! Draw Bitmap23 ===================================== GR.COLOR 255, 0, 0, 0, 1 GR.BITMAP.LOAD TmpPtr, "Esc_button.png" GR.BITMAP.SCALE BmpPtr23, TmpPtr, 134, 96, 1 GR.BITMAP.DELETE TmpPtr GR.BITMAP.DRAW Screen4[469], BmpPtr23, 5, 450 PtrBitmap23 = 469 GR.COLOR 0,0,0,0,0 GR.POINT Ftch, 1, 1 GoSub INITCODE GoSub SHOWSCREEN % Start Screen ! The Main Program Loop============================ MAIN: GR.RENDER DO GR.TOUCH Tched, nnx, nny nx = nnx / ScaleW ny = nny / ScaleH GoSub INTERRUPTTOUCH UNTIL Tched GoSub GETOWNER GoSub CUSTOMTOUCHES Goto MAIN GETOWNER: GR.MODIFY Ftch, "x", nx, "y", ny Owner$ = "" % Last Obj 1st to preserve Z-order Ft = 0 GoSub CUSTOMOWNER If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[469]) Then Owner$ = "Bitmap23" GoSub ONCLICK_Bitmap23 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[468]) Then Owner$ = "TchRect52" GoSub ONCLICK_TchRect52 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[467]) Then Owner$ = "TxtLine14" % GoSub ONCLICK_TxtLine14 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[466]) Then Owner$ = "TchRect51" GoSub ONCLICK_TchRect51 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[463]) Then Owner$ = "Btn38" % GoSub ONCLICK_Btn38 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[462]) Then Owner$ = "TchRect50" GoSub ONCLICK_TchRect50 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[461]) Then Owner$ = "TchRect49" GoSub ONCLICK_TchRect49 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[460]) Then Owner$ = "TchRect48" GoSub ONCLICK_TchRect48 Ft = 1 End If If Ft = 0 & ScreenIndex = 6 & GR_COLLISION(Ftch, Screen6[459]) Then Owner$ = "Bitmap22" % GoSub ONCLICK_Bitmap22 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[458]) Then Owner$ = "Bitmap18" GoSub ONCLICK_Bitmap18 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[457]) Then Owner$ = "Bitmap16" GoSub ONCLICK_Bitmap16 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[454]) Then Owner$ = "Btn37" GoSub ONCLICK_Btn37 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[451]) Then Owner$ = "Btn36" % GoSub ONCLICK_Btn36 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[450]) Then Owner$ = "TchRect47" GoSub ONCLICK_TchRect47 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[449]) Then Owner$ = "TchRect46" GoSub ONCLICK_TchRect46 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[448]) Then Owner$ = "TchRect45" GoSub ONCLICK_TchRect45 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[447]) Then Owner$ = "TchRect44" GoSub ONCLICK_TchRect44 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[446]) Then Owner$ = "TchRect43" GoSub ONCLICK_TchRect43 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[445]) Then Owner$ = "TchRect42" GoSub ONCLICK_TchRect42 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[444]) Then Owner$ = "TchRect41" GoSub ONCLICK_TchRect41 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[443]) Then Owner$ = "TchRect40" GoSub ONCLICK_TchRect40 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[442]) Then Owner$ = "TchRect39" GoSub ONCLICK_TchRect39 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[441]) Then Owner$ = "TchRect38" GoSub ONCLICK_TchRect38 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[440]) Then Owner$ = "TchRect37" GoSub ONCLICK_TchRect37 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[439]) Then Owner$ = "TchRect36" % GoSub ONCLICK_TchRect36 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[438]) Then Owner$ = "TchRect35" GoSub ONCLICK_TchRect35 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[437]) Then Owner$ = "TchRect34" GoSub ONCLICK_TchRect34 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[436]) Then Owner$ = "TchRect33" GoSub ONCLICK_TchRect33 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[435]) Then Owner$ = "TchRect32" GoSub ONCLICK_TchRect32 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[434]) Then Owner$ = "TchRect31" GoSub ONCLICK_TchRect31 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[433]) Then Owner$ = "TchRect30" GoSub ONCLICK_TchRect30 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[432]) Then Owner$ = "TchRect29" GoSub ONCLICK_TchRect29 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[431]) Then Owner$ = "TchRect28" GoSub ONCLICK_TchRect28 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[430]) Then Owner$ = "TchRect27" GoSub ONCLICK_TchRect27 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[429]) Then Owner$ = "TchRect26" % GoSub ONCLICK_TchRect26 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[428]) Then Owner$ = "TchRect25" % GoSub ONCLICK_TchRect25 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[427]) Then Owner$ = "TchRect24" % GoSub ONCLICK_TchRect24 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[426]) Then Owner$ = "TchRect23" GoSub ONCLICK_TchRect23 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[425]) Then Owner$ = "TchRect22" GoSub ONCLICK_TchRect22 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[424]) Then Owner$ = "TchRect21" GoSub ONCLICK_TchRect21 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[423]) Then Owner$ = "TchRect20" GoSub ONCLICK_TchRect20 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[422]) Then Owner$ = "TchRect19" GoSub ONCLICK_TchRect19 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[421]) Then Owner$ = "TchRect18" GoSub ONCLICK_TchRect18 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[420]) Then Owner$ = "TchRect17" GoSub ONCLICK_TchRect17 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[419]) Then Owner$ = "TchRect16" GoSub ONCLICK_TchRect16 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[418]) Then Owner$ = "TchRect15" GoSub ONCLICK_TchRect15 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[417]) Then Owner$ = "TchRect14" GoSub ONCLICK_TchRect14 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[416]) Then Owner$ = "TchRect13" % GoSub ONCLICK_TchRect13 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[415]) Then Owner$ = "TchRect12" GoSub ONCLICK_TchRect12 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[414]) Then Owner$ = "TchRect11" GoSub ONCLICK_TchRect11 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[413]) Then Owner$ = "TchRect10" GoSub ONCLICK_TchRect10 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[412]) Then Owner$ = "TchRect9" GoSub ONCLICK_TchRect9 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[411]) Then Owner$ = "TchRect8" GoSub ONCLICK_TchRect8 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[410]) Then Owner$ = "TchRect7" GoSub ONCLICK_TchRect7 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[409]) Then Owner$ = "TchRect6" GoSub ONCLICK_TchRect6 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[408]) Then Owner$ = "TchRect5" GoSub ONCLICK_TchRect5 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[407]) Then Owner$ = "TchRect4" GoSub ONCLICK_TchRect4 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[406]) Then Owner$ = "TchRect3" GoSub ONCLICK_TchRect3 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[405]) Then Owner$ = "TchRect2" GoSub ONCLICK_TchRect2 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[404]) Then Owner$ = "TchRect1" % GoSub ONCLICK_TchRect1 Ft = 1 End If If Ft = 0 & ScreenIndex = 5 & GR_COLLISION(Ftch, Screen5[403]) Then Owner$ = "Bitmap14" % GoSub ONCLICK_Bitmap14 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[400]) Then Owner$ = "Btn35" GoSub ONCLICK_Btn35 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[397]) Then Owner$ = "Btn34" GoSub ONCLICK_Btn34 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[394]) Then Owner$ = "Btn33" GoSub ONCLICK_Btn33 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[391]) Then Owner$ = "Btn32" GoSub ONCLICK_Btn32 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[388]) Then Owner$ = "Btn31" GoSub ONCLICK_Btn31 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[385]) Then Owner$ = "Btn30" GoSub ONCLICK_Btn30 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[382]) Then Owner$ = "Btn29" GoSub ONCLICK_Btn29 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[379]) Then Owner$ = "Btn28" GoSub ONCLICK_Btn28 Ft = 1 End If If Ft = 0 & ScreenIndex = 4 & GR_COLLISION(Ftch, Screen4[378]) Then Owner$ = "Bitmap13" % GoSub ONCLICK_Bitmap13 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[377]) Then Owner$ = "TxtLine5" % GoSub ONCLICK_TxtLine5 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[376]) Then Owner$ = "TxtLine4" % GoSub ONCLICK_TxtLine4 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[373]) Then Owner$ = "Btn27" GoSub ONCLICK_Btn27 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[370]) Then Owner$ = "Btn26" GoSub ONCLICK_Btn26 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[367]) Then Owner$ = "Btn25" GoSub ONCLICK_Btn25 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[364]) Then Owner$ = "Btn24" GoSub ONCLICK_Btn24 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[361]) Then Owner$ = "Btn23" GoSub ONCLICK_Btn23 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[358]) Then Owner$ = "Btn22" GoSub ONCLICK_Btn22 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[355]) Then Owner$ = "Btn21" GoSub ONCLICK_Btn21 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[352]) Then Owner$ = "Btn20" GoSub ONCLICK_Btn20 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[349]) Then Owner$ = "Btn19" GoSub ONCLICK_Btn19 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[346]) Then Owner$ = "Btn18" GoSub ONCLICK_Btn18 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[343]) Then Owner$ = "Btn17" GoSub ONCLICK_Btn17 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[340]) Then Owner$ = "Btn16" GoSub ONCLICK_Btn16 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[337]) Then Owner$ = "Btn15" GoSub ONCLICK_Btn15 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[334]) Then Owner$ = "Btn14" GoSub ONCLICK_Btn14 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[331]) Then Owner$ = "Btn13" GoSub ONCLICK_Btn13 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[328]) Then Owner$ = "Btn12" GoSub ONCLICK_Btn12 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[325]) Then Owner$ = "Btn11" GoSub ONCLICK_Btn11 Ft = 1 End If If Ft = 0 & ScreenIndex = 3 & GR_COLLISION(Ftch, Screen3[322]) Then Owner$ = "Btn10" GoSub ONCLICK_Btn10 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[321]) Then Owner$ = "Bitmap11" % GoSub ONCLICK_Bitmap11 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[320]) Then Owner$ = "Bitmap9" GoSub ONCLICK_Bitmap9 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[319]) Then Owner$ = "Bitmap8" GoSub ONCLICK_Bitmap8 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[318]) Then Owner$ = "Bitmap7" GoSub ONCLICK_Bitmap7 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[317]) Then Owner$ = "Bitmap6" GoSub ONCLICK_Bitmap6 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[316]) Then Owner$ = "Bitmap5" GoSub ONCLICK_Bitmap5 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[315]) Then Owner$ = "Bitmap4" GoSub ONCLICK_Bitmap4 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[314]) Then Owner$ = "Bitmap3" GoSub ONCLICK_Bitmap3 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[313]) Then Owner$ = "Bitmap2" GoSub ONCLICK_Bitmap2 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[310]) Then Owner$ = "Btn9" % GoSub ONCLICK_Btn9 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[307]) Then Owner$ = "Btn8" % GoSub ONCLICK_Btn8 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[304]) Then Owner$ = "Btn7" % GoSub ONCLICK_Btn7 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[301]) Then Owner$ = "Btn6" % GoSub ONCLICK_Btn6 Ft = 1 End If If Ft = 0 & ScreenIndex = 2 & GR_COLLISION(Ftch, Screen2[298]) Then Owner$ = "Btn5" % GoSub ONCLICK_Btn5 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[295]) Then Owner$ = "Btn4" GoSub ONCLICK_Btn4 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[292]) Then Owner$ = "Btn3" GoSub ONCLICK_Btn3 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[291]) Then Owner$ = "Bitmap1" % GoSub ONCLICK_Bitmap1 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[290]) Then Owner$ = "TxtLine2" % GoSub ONCLICK_TxtLine2 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[289]) Then Owner$ = "TxtLine1" % GoSub ONCLICK_TxtLine1 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[273]) Then Owner$ = "RndBtn18" GoSub ONCLICK_RndBtn18 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[257]) Then Owner$ = "RndBtn17" GoSub ONCLICK_RndBtn17 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[241]) Then Owner$ = "RndBtn16" GoSub ONCLICK_RndBtn16 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[225]) Then Owner$ = "RndBtn15" GoSub ONCLICK_RndBtn15 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[209]) Then Owner$ = "RndBtn14" GoSub ONCLICK_RndBtn14 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[193]) Then Owner$ = "RndBtn13" GoSub ONCLICK_RndBtn13 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[177]) Then Owner$ = "RndBtn12" GoSub ONCLICK_RndBtn12 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[161]) Then Owner$ = "RndBtn11" GoSub ONCLICK_RndBtn11 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[145]) Then Owner$ = "RndBtn10" GoSub ONCLICK_RndBtn10 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[129]) Then Owner$ = "RndBtn9" GoSub ONCLICK_RndBtn9 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[113]) Then Owner$ = "RndBtn8" GoSub ONCLICK_RndBtn8 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[97]) Then Owner$ = "RndBtn7" GoSub ONCLICK_RndBtn7 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[81]) Then Owner$ = "RndBtn6" GoSub ONCLICK_RndBtn6 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[65]) Then Owner$ = "RndBtn5" GoSub ONCLICK_RndBtn5 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[49]) Then Owner$ = "RndBtn4" GoSub ONCLICK_RndBtn4 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[33]) Then Owner$ = "RndBtn3" GoSub ONCLICK_RndBtn3 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[17]) Then Owner$ = "RndBtn2" GoSub ONCLICK_RndBtn2 Ft = 1 End If If Ft = 0 & ScreenIndex = 1 & GR_COLLISION(Ftch, Screen1[1]) Then Owner$ = "RndBtn1" GoSub ONCLICK_RndBtn1 Ft = 1 End If RETURN INCFILES: ! INCLUDE "IncludeFile.bas" ! Include files to be in the source directory ! This label can be empty but must be present RETURN GLOBALCODE: ! When adding additional objects ! MaxArray = MaxArray + NumXtraObjs ! This label can be empty but must be present GR.COLOR 255, 255, 0, 0, 1 GR.PAINT.GET clRed GR.COLOR 255, 0, 255, 0, 1 GR.PAINT.GET clGreen GR.COLOR 255, 255, 255, 255, 1 GR.PAINT.GET clWhite RETURN INITGRAPHICS: GR.OPEN 255, 0, 0, 0, StatusB RETURN SHOWSCREEN: GR.NEWDL Screen1[] If StatusB Then For i = 1 to LastItm GR.MOVE Screen1[i], 0, StatusH/ScaleH Next End If GR.RENDER ScreenIndex = 1 RETURN INITCODE: pause 500 BT.OPEN BT.CONNECT let BToff = 0 let BTon = 0 let SDcntr = 0 let ClmpIn1 = 0 let ClmpIn2 = 0 let ClmpIn3 = 0 let PdIn1 = 0 let PdIn2 = 0 let PdIn3 = 0 let MndAdv1 = 0 let MndAdv2 = 0 let MndAdv3 = 0 let ClmpOut1 = 0 let ClmpOut2 = 0 let ClmpOut3 = 0 let PdOut1 = 0 let PdOut2 = 0 let PdOut3 = 0 let MndRet1 = 0 let MndRet2 = 0 let MndRet3 = 0 let BT1shot = 0 let BTcnt = 0 let Keyb$ = "" let Cntr = 1 let Filecnt = 0 let Flistptr = 1 let Delconf = 0 let Fext$ = ".BND" let Dpath$ = "../data/" File.exists i, Dirpath$ If i = 0 Then File.mkdir Dirpath$ Endif DIM Flist$ [1000] NoProg$ = "NO PROGRAM LOADED" Filenme$ = NoProg$ GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ Block = 20 DIM BendAngle [Block] DIM d3 [Block] DIM d2 [Block] DIM d1 [Block] DIM d0 [Block] GoSub ClrDat RETURN CUSTOMOWNER: ! If ScreenIndex = 1 & nx > 1 & nx < 100 & ny > 1 & ny < 100 Then ! End If ! This label can be empty but must be present RETURN CUSTOMGRAPHICS: ! Drawing here, the Screen1[...] format to be followed ! This label can be empty but must be present RETURN INTERRUPTTOUCH: ! Code to do while in the touches loop ! This label can be empty but must be present GoSub BThnd RETURN CUSTOMTOUCHES: ! Some special conditions when Tched ! This label can be empty but must be present RETURN WAITTOUCHUP: GR.RENDER WHILE Tched GoSub BThnd GR.TOUCH Tched, nnx, nny REPEAT RETURN BtnCl: if Base GR.MODIFY Screen1[Base-14], "paint", Bkgrnd GR.MODIFY Screen1[Base-13], "paint", Bkgrnd GR.MODIFY Screen1[Base-12], "paint", Bkgrnd GR.MODIFY Screen1[Base-11], "paint", Bkgrnd GR.MODIFY Screen1[Base-10], "paint", Bkgrnd GR.MODIFY Screen1[Base-9], "paint", Bkgrnd endif RETURN ONCLICK_RndBtn1: If ClmpIn1 = 0 Then ClmpIn1 = 1 : Base = TxtRndBtn1 : Bkgrnd = clGreen GoSub BtnCl ClmpIn2 = 0 : Base = TxtRndBtn4 : Bkgrnd = clWhite GoSub BtnCl ClmpIn3 = 0 : Base = TxtRndBtn7 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn4: If ClmpIn2 = 0 Then ClmpIn1 = 0 : Base = TxtRndBtn1 : Bkgrnd = clWhite GoSub BtnCl ClmpIn2 = 1 : Base = TxtRndBtn4 : Bkgrnd = clGreen GoSub BtnCl ClmpIn3 = 0 : Base = TxtRndBtn7 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn7: If ClmpIn3 = 0 Then ClmpIn1 = 0 : Base = TxtRndBtn1 : Bkgrnd = clWhite GoSub BtnCl ClmpIn2 = 0 : Base = TxtRndBtn4 : Bkgrnd = clWhite GoSub BtnCl ClmpIn3 = 1 : Base = TxtRndBtn7 : Bkgrnd = clGreen GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn2: If PdIn1 = 0 Then PdIn1 = 1 : Base = TxtRndBtn2 : Bkgrnd = clGreen GoSub BtnCl PdIn2 = 0 : Base = TxtRndBtn5 : Bkgrnd = clWhite GoSub BtnCl PdIn3 = 0 : Base = TxtRndBtn8 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn5: If PdIn2 = 0 Then PdIn1 = 0 : Base = TxtRndBtn2 : Bkgrnd = clWhite GoSub BtnCl PdIn2 = 1 : Base = TxtRndBtn5 : Bkgrnd = clGreen GoSub BtnCl PdIn3 = 0 : Base = TxtRndBtn8 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn8: If PdIn3 = 0 Then PdIn1 = 0 : Base = TxtRndBtn2 : Bkgrnd = clWhite GoSub BtnCl PdIn2 = 0 : Base = TxtRndBtn5 : Bkgrnd = clWhite GoSub BtnCl PdIn3 = 1 : Base = TxtRndBtn8 : Bkgrnd = clGreen GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn3: If MndAdv1 = 0 Then MndAdv1 = 1 : Base = TxtRndBtn3 : Bkgrnd = clGreen GoSub BtnCl MndAdv2 = 0 : Base = TxtRndBtn6 : Bkgrnd = clWhite GoSub BtnCl MndAdv3 = 0 : Base = TxtRndBtn9 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn6: If MndAdv2 = 0 Then MndAdv1 = 0 : Base = TxtRndBtn3 : Bkgrnd = clWhite GoSub BtnCl MndAdv2 = 1 : Base = TxtRndBtn6 : Bkgrnd = clGreen GoSub BtnCl MndAdv3 = 0 : Base = TxtRndBtn9 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn9: If MndAdv3 = 0 Then MndAdv1 = 0 : Base = TxtRndBtn3 : Bkgrnd = clWhite GoSub BtnCl MndAdv2 = 0 : Base = TxtRndBtn6 : Bkgrnd = clWhite GoSub BtnCl MndAdv3 = 1 : Base = TxtRndBtn9 : Bkgrnd = clGreen GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn10: If ClmpOut1 = 0 Then ClmpOut1 = 1 : Base = TxtRndBtn10 : Bkgrnd = clGreen GoSub BtnCl ClmpOut2 = 0 : Base = TxtRndBtn13 : Bkgrnd = clWhite GoSub BtnCl ClmpOut3 = 0 : Base = TxtRndBtn16 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn13: If ClmpOut2 = 0 Then ClmpOut1 = 0 : Base = TxtRndBtn10 : Bkgrnd = clWhite GoSub BtnCl ClmpOut2 = 1 : Base = TxtRndBtn13 : Bkgrnd = clGreen GoSub BtnCl ClmpOut3 = 0 : Base = TxtRndBtn16 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn16: If ClmpOut3 = 0 Then ClmpOut1 = 0 : Base = TxtRndBtn10 : Bkgrnd = clWhite GoSub BtnCl ClmpOut2 = 0 : Base = TxtRndBtn13 : Bkgrnd = clWhite GoSub BtnCl ClmpOut3 = 1 : Base = TxtRndBtn16 : Bkgrnd = clGreen GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn11: If PdOut1 = 0 Then PdOut1 = 1 : Base = TxtRndBtn11 : Bkgrnd = clGreen GoSub BtnCl PdOut2 = 0 : Base = TxtRndBtn14 : Bkgrnd = clWhite GoSub BtnCl PdOut3 = 0 : Base = TxtRndBtn17 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn14: If PdOut2 = 0 Then PdOut1 = 0 : Base = TxtRndBtn11 : Bkgrnd = clWhite GoSub BtnCl PdOut2 = 1 : Base = TxtRndBtn14 : Bkgrnd = clGreen GoSub BtnCl PdOut3 = 0 : Base = TxtRndBtn17 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn17: If PdOut3 = 0 Then PdOut1 = 0 : Base = TxtRndBtn11 : Bkgrnd = clWhite GoSub BtnCl PdOut2 = 0 : Base = TxtRndBtn14 : Bkgrnd = clWhite GoSub BtnCl PdOut3 = 1 : Base = TxtRndBtn17 : Bkgrnd = clGreen GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn12: If MndRet1 = 0 Then MndRet1 = 1 : Base = TxtRndBtn12 : Bkgrnd = clGreen GoSub BtnCl MndRet2 = 0 : Base = TxtRndBtn15 : Bkgrnd = clWhite GoSub BtnCl MndRet3 = 0 : Base = TxtRndBtn18 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn15: If MndRet2 = 0 Then MndRet1 = 0 : Base = TxtRndBtn12 : Bkgrnd = clWhite GoSub BtnCl MndRet2 = 1 : Base = TxtRndBtn15 : Bkgrnd = clGreen GoSub BtnCl MndRet3 = 0 : Base = TxtRndBtn18 : Bkgrnd = clWhite GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn18: If MndRet3 = 0 Then MndRet1 = 0 : Base = TxtRndBtn12 : Bkgrnd = clWhite GoSub BtnCl MndRet2 = 0 : Base = TxtRndBtn15 : Bkgrnd = clWhite GoSub BtnCl MndRet3 = 1 : Base = TxtRndBtn18 : Bkgrnd = clGreen GoSub BtnCl Endif GoSub WAITTOUCHUP RETURN BThnd: BT.status s If s = 3 Then If BTon = 0 BTon = 1 Gr.hide PtrBitmap1 Gr.hide PtrBitmap11 Gr.Render EndIf bt.read.ready rr if rr accum$="" do bt.read.bytes resp$ accum$ = accum$ + resp$ bt.read.ready rr until rr = 0 datlen = len(accum$) for i = 1 to datlen Sw.begin mid$(accum$,i,1) Sw.case chr$(10) GoSub Assign Sw.break Sw.case chr$(13) gosub Assign Sw.break Sw.case "P" slct = 1 Sw.break Sw.case "I" slct = 2 Sw.break Sw.case "O" slct = 3 Sw.break Sw.case "-" target$ = "-" Sw.break Sw.case "0" target$ = target$ + "0" Sw.break Sw.case "1" target$ = target$ + "1" Sw.break Sw.case "2" target$ = target$ + "2" Sw.break Sw.case "3" target$ = target$ + "3" Sw.break Sw.case "4" target$ = target$ + "4" Sw.break Sw.case "5" target$ = target$ + "5" Sw.break Sw.case "6" target$ = target$ + "6" Sw.break Sw.case "7" target$ = target$ + "7" Sw.break Sw.case "8" target$ = target$ + "8" Sw.break Sw.case "9" target$ = target$ + "9" Sw.break Sw.case "?" slct = 100 Sw.break Sw.case ":" slct = 101 Sw.break Sw.default Sw.end next Else Gosub SendData EndIf Else BTcnt = BTcnt + 1 If BTcnt = 500 BTcnt = 0 BTon = 0 Gr.show.toggle PtrBitmap1 Gr.show.toggle PtrBitmap11 Gr.Render EndIf EndIf RETURN ONCLICK_Btn4: GR.GET.VALUE Screen1[TxtBtn4], "text", Display$ lngth = Len(Display$) GR.MODIFY Screen2[TxtBtn5], "text", "0" GR.MODIFY Screen2[TxtBtn7], "text", "0" GR.MODIFY Screen2[TxtBtn8], "text", "0" GR.MODIFY Screen2[TxtBtn9], "text", "0" GR.MODIFY Screen2[TxtBtn5], "text", Mid$(Display$, lngth, 1) GR.MODIFY Screen2[TxtBtn7], "text", Mid$(Display$, lngth-2, 1) If lngth > 3 Then GR.MODIFY Screen2[TxtBtn8], "text", Mid$(Display$, lngth-3, 1) Endif If lngth > 4 Then GR.MODIFY Screen2[TxtBtn9], "text", Mid$(Display$, lngth-4, 1) Endif Gr.NewDL Screen2[] ScreenIndex = 2 GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn28: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap10: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap3: GR.GET.VALUE Screen2[TxtBtn8], "text", Display$ d2 [Block] = Val(Display$) + 1 If d2 [Block] > 9 Then d2 [Block] = 0 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn8], "text", Int$(d2 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap7: GR.GET.VALUE Screen2[TxtBtn8], "text", Display$ d2 [Block] = Val(Display$) - 1 If d2 [Block] < 0 Then d2 [Block] = 9 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn8], "text", Int$(d2 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap2: GR.GET.VALUE Screen2[TxtBtn9], "text", Display$ d3 [Block] = Val(Display$) + 1 If d3 [Block] > 1 Then d3 [Block] = 0 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn9], "text", Int$(d3 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap6: GR.GET.VALUE Screen2[TxtBtn9], "text", Display$ d3 [Block] = Val(Display$) - 1 If d3 [Block] < 0 Then d3 [Block] = 1 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn9], "text", Int$(d3 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap5: GR.GET.VALUE Screen2[TxtBtn5], "text", Display$ d0 [Block] = Val(Display$) + 1 If d0 [Block] > 9 Then d0 [Block] = 0 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn5], "text", Int$(d0 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap9: GR.GET.VALUE Screen2[TxtBtn5], "text", Display$ d0 [Block] = Val(Display$) - 1 If d0 [Block] < 0 Then d0 [Block] = 9 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn5], "text", Int$(d0 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap4: GR.GET.VALUE Screen2[TxtBtn7], "text", Display$ d1 [Block] = Val(Display$) + 1 If d1 [Block] > 9 Then d1 [Block] = 0 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn7], "text", Int$(d1 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap8: GR.GET.VALUE Screen2[TxtBtn7], "text", Display$ d1 [Block] = Val(Display$) - 1 If d1 [Block] < 0 Then d1 [Block] = 9 BendAngle [Block] = (d3 [Block] *100) + (d2 [Block] *10) + d1 [Block] + (d0 [Block] * 0.1) GR.MODIFY Screen2[TxtBtn7], "text", Int$(d1 [Block]) GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) dmc$="BA"+Str$(BendAngle [Block])+"BL"+str$(Block) GoSub WAITTOUCHUP RETURN ONCLICK_Btn3: ! GR.GET.VALUE Screen1[TxtBtn4], "text", Display$ ! lngth = Len(Display$) ! GR.MODIFY Screen1[TxtBtn3], "text", Int$(lngth) ! GoSub WAITTOUCHUP Gr.NewDL Screen3[] ScreenIndex = 3 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap12: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn10: Block = 1 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn11: Block = 2 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn12: Block = 3 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn13: Block = 4 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn14: Block = 5 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn15: Block = 6 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn16: Block = 7 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn17: Block = 8 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn18: Block = 9 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn19: Block = 10 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn20: Block = 11 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn21: Block = 12 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn22: Block = 13 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn23: Block = 14 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn24: Block = 15 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn25: Block = 16 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn26: Block = 17 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Btn27: Block = 18 GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn29: GoSub WAITTOUCHUP RETURN ONCLICK_RndBtn30: ! File Load TEXT.OPEN r, file_number, "HY_Bend.txt" For i = 1 to 18 Text.readln file_number, tmp$ BendAngle [i] = Val(Right$(tmp$,5)) Next Text.readln file_number, tmp$ Block = Val(Right$(tmp$,3)) TEXT.CLOSE file_number GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen4[] ScreenIndex = 4 GoSub WAITTOUCHUP RETURN ONCLICK_Btn28: If Len(Flist$[Flistptr]) > 0 Then Filenme$ = Flist$[Flistptr] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_TchRect47: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_TchRect2: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "1" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect3: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "2" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect4: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "3" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect5: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "4" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect6: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "5" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect7: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "6" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect8: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "7" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect9: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "8" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect10: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "9" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect11: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "0" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect12: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "-" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect14: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "Q" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect15: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "W" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect16: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "E" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect17: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "R" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect18: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "T" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect19: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "Y" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect20: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "U" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect21: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "I" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect22: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "O" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect23: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "P" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect27: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "A" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect28: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "S" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect29: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "D" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect30: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "F" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect31: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "G" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect32: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "H" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect33: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "J" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect34: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "K" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect35: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "L" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect37: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "Z" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect38: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "X" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect39: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "C" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect40: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "V" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect41: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "B" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect42: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "N" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect43: If Len(Keyb$) < 16 Then Keyb$ = Keyb$ + "M" GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect45: If Keyb$ = NoProg$ Then Keyb$ = "" If Len(Keyb$) > 0 Then Keyb$ = Left$ (Keyb$,-1) Endif GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ GoSub WAITTOUCHUP RETURN ONCLICK_TchRect44: If Len(Keyb$) > 0 Then Filenme$ = Keyb$ GoSub Savefile Endif GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_TchRect46: If Len(Keyb$) > 0 Then Keyb$ = Keyb$ + " " GR.MODIFY Screen5[TxtBtn36], "text", Keyb$ Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn37: Delconf = 0 Gr.NewDL Screen6[] ScreenIndex = 6 Gr.hide Screen6[TxtBtn38] Gr.hide Screen6[TxtBtn38-1] GR.MODIFY Screen6[TxtTxtLine14], "text", "Active: " + Filenme$ GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap17: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap16: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap18: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap22: Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_TchRect48: Delconf = 0 Gr.NewDL Screen1[] ScreenIndex = 1 GoSub WAITTOUCHUP RETURN ONCLICK_TchRect49: Delconf = 0 File.dir Dirpath$, Tmplist$[] Array.length Filecnt, Tmplist$[] Cntr = 1 For i = 1 to Filecnt Tmp$ = Tmplist$[i] If Right$(Tmp$,4) = Fext$ Then Tmp$ = Left$(Tmp$,-4) Flist$[Cntr] = Tmp$ Cntr = Cntr + 1 Endif Next If Cntr < 1000 Then For i = Cntr to 1000 Flist$[i] = "" Next Endif Gosub ShowFiles Gr.NewDL Screen4[] ScreenIndex = 4 GoSub WAITTOUCHUP RETURN ONCLICK_TchRect50: Delconf = 0 Keyb$ = Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen5[] ScreenIndex = 5 GoSub WAITTOUCHUP RETURN ShowFiles: GR.MODIFY Screen4[TxtBtn28], "text", Flist$[Flistptr] GR.MODIFY Screen4[TxtBtn29], "text", Flist$[Flistptr+1] GR.MODIFY Screen4[TxtBtn30], "text", Flist$[Flistptr+2] GR.MODIFY Screen4[TxtBtn31], "text", Flist$[Flistptr+3] GR.MODIFY Screen4[TxtBtn32], "text", Flist$[Flistptr+4] GR.MODIFY Screen4[TxtBtn33], "text", Flist$[Flistptr+5] GR.MODIFY Screen4[TxtBtn34], "text", Flist$[Flistptr+6] GR.MODIFY Screen4[TxtBtn35], "text", Flist$[Flistptr+7] Return ONCLICK_TchRect51: If Filenme$ = NoProg$ Then For i = 1 to 4 Gr.show.toggle Screen6[TxtTxtLine14] Gr.render Pause 250 Next Elseif Delconf = 0 Gr.show Screen6[TxtBtn38] Gr.show Screen6[TxtBtn38-1] Delconf = 1 Else GoSub Deletefile Filenme$ = NoProg$ Delconf = 0 GR.MODIFY Screen6[TxtTxtLine14], "text", "Active: " + Filenme$ Gr.hide Screen6[TxtBtn38] Gr.hide Screen6[TxtBtn38-1] GoSub ClrDat GR.MODIFY Screen1[TxtBtn4], "text", Int$(BendAngle [Block]) + "." + Int$(d0 [Block]) GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) Endif GoSub WAITTOUCHUP RETURN ClrDat: Block = 20 For i = 1 to Block BendAngle [i] = 0 d3 [i] = 0 d2 [i] = 0 d1 [i] = 0 d0 [i] = 0 Next Block = 1 RETURN Deletefile: File.delete exist, Dpath$ + Filenme$ + Fext$ RETURN Loadfile: ! File Load gosub Clrdat TEXT.OPEN r, file_number, Dpath$ + Filenme$ + Fext$ For i = 1 to 18 Text.readln file_number, tmp$ BendAngle [i] = Val(Right$(tmp$,5)) Next Text.readln file_number, tmp$ Block = Val(Right$(tmp$,3)) !Read Sequence Text.readln file_number, tmp$ ClmpIn1 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ ClmpIn2 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ ClmpIn3 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ PdIn1 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ PdIn2 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ PdIn3 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ MndAdv1 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ MndAdv2 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ MndAdv3 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ ClmpOut1 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ ClmpOut2 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ ClmpOut3 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ PdOut1 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ PdOut2 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ PdOut3 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ MndRet1 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ MndRet2 = Val(Right$(tmp$,3)) Text.readln file_number, tmp$ MndRet3 = Val(Right$(tmp$,3)) TEXT.CLOSE file_number Gosub UpDateSeq GR.MODIFY Screen1[TxtBtn3], "text", Int$(Block) GR.MODIFY Screen1[TxtBtn4], "text", Str$(BendAngle [Block]) Gr.NewDL Screen4[] ScreenIndex = 4 RETURN Savefile: ! File Save TEXT.OPEN w, file_number, Dpath$ + Filenme$ + Fext$ For i = 1 to 18 Text.writeln file_number, "Bend# " + Int$(i) + " " + Str$(BendAngle [i]) Next Text.writeln file_number, "Last Active Bend# " + " "+ Int$(Block) Text.writeln file_number, "Clamp In #1 " + " "+ Int$(ClmpIn1) Text.writeln file_number, "Clamp In #2 " + " "+ Int$(ClmpIn2) Text.writeln file_number, "Clamp In #3 " + " "+ Int$(ClmpIn3) Text.writeln file_number, "Pdie In #1 " + " "+ Int$(PdIn1) Text.writeln file_number, "Pdie In #2 " + " "+ Int$(PdIn2) Text.writeln file_number, "Pdie In #3 " + " "+ Int$(PdIn3) Text.writeln file_number, "Mand Adv #1 " + " "+ Int$(MndAdv1) Text.writeln file_number, "Mand Adv #2 " + " "+ Int$(MndAdv2) Text.writeln file_number, "Mand Adv #3 " + " "+ Int$(MndAdv3) Text.writeln file_number, "Clamp Out #1 " + " "+ Int$(ClmpOut1) Text.writeln file_number, "Clamp Out #2 " + " "+ Int$(ClmpOut2) Text.writeln file_number, "Clamp Out #3 " + " "+ Int$(ClmpOut3) Text.writeln file_number, "Pdie Out #1 " + " "+ Int$(PdOut1) Text.writeln file_number, "Pdie Out #2 " + " "+ Int$(PdOut2) Text.writeln file_number, "Pdie Out #3 " + " "+ Int$(PdOut3) Text.writeln file_number, "Mand Ret #1 " + " "+ Int$(MndRet1) Text.writeln file_number, "Mand Ret #2 " + " "+ Int$(MndRet2) Text.writeln file_number, "Mand Ret #3 " + " "+ Int$(MndRet3) TEXT.CLOSE file_number RETURN ONCLICK_Btn29: If Len(Flist$[Flistptr+1]) > 0 Then Filenme$ = Flist$[Flistptr+1] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn30: If Len(Flist$[Flistptr+2]) > 0 Then Filenme$ = Flist$[Flistptr+2] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn31: If Len(Flist$[Flistptr+3]) > 0 Then Filenme$ = Flist$[Flistptr+3] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn32: If Len(Flist$[Flistptr+4]) > 0 Then Filenme$ = Flist$[Flistptr+4] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn33: If Len(Flist$[Flistptr+5]) > 0 Then Filenme$ = Flist$[Flistptr+5] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn34: If Len(Flist$[Flistptr+6]) > 0 Then Filenme$ = Flist$[Flistptr+6] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_Btn35: If Len(Flist$[Flistptr+7]) > 0 Then Filenme$ = Flist$[Flistptr+7] Gosub Loadfile GR.MODIFY Screen1[TxtBtn37], "text", Filenme$ GR.MODIFY Screen5[TxtBtn36], "text", Filenme$ Gr.NewDL Screen1[] ScreenIndex = 1 Endif GoSub WAITTOUCHUP RETURN ONCLICK_TchRect52: BT.Close Pause 200 Exit GoSub WAITTOUCHUP RETURN Assign: If Len(target$) Sw.begin slct Sw.case 1 pos$ = target$ sw.break Sw.case 2 ins$ = target$ sw.break Sw.case 3 outs$ = target$ sw.break Sw.end Endif rem gr.modify Screen1[TxtBtn37], "text", pos$ + " " + ins$ + " " + outs$ rem GR.RENDER target$ = "" slct = 0 return SendData: ! SDcntr = SDcntr + 1 ! If SDcntr = 400 Then ! dmc$="y" ! bt.write dmc$ + chr$(13) ! SDcntr = 0 ! EndIf if len(dmc$) then bt.write dmc$ + chr$(13) dmc$="" endif return ONCLICK_Bitmap23: Gr.NewDL Screen6[] ScreenIndex = 6 GoSub WAITTOUCHUP RETURN ONCLICK_Bitmap24: ! Jog Button ! GR.MODIFY Screen1[...], "text", Display$ GoSub WAITTOUCHUP RETURN UpDateSeq: Bkgrnd = clWhite Base = TxtRndBtn1 : Gosub BtnCl Base = TxtRndBtn2 : Gosub BtnCl Base = TxtRndBtn3 : Gosub BtnCl Base = TxtRndBtn4 : Gosub BtnCl Base = TxtRndBtn5 : Gosub BtnCl Base = TxtRndBtn6 : Gosub BtnCl Base = TxtRndBtn7 : Gosub BtnCl Base = TxtRndBtn8 : Gosub BtnCl Base = TxtRndBtn9 : Gosub BtnCl Base = TxtRndBtn10 : Gosub BtnCl Base = TxtRndBtn11 : Gosub BtnCl Base = TxtRndBtn12 : Gosub BtnCl Base = TxtRndBtn13 : Gosub BtnCl Base = TxtRndBtn14 : Gosub BtnCl Base = TxtRndBtn15 : Gosub BtnCl Base = TxtRndBtn16 : Gosub BtnCl Base = TxtRndBtn17 : Gosub BtnCl Base = TxtRndBtn18 : Gosub BtnCl Bkgrnd = clGreen : Base = 0 If ClmpIn1 Base = TxtRndBtn1 elseif ClmpIn2 Base = TxtRndBtn4 elseif ClmpIn3 Base = TxtRndBtn7 endif if Base then Gosub BtnCl If PdIn1 Base = TxtRndBtn2 elseif PdIn2 Base = TxtRndBtn5 elseif PdIn3 Base = TxtRndBtn8 endif if Base then Gosub BtnCl If MndAdv1 Base = TxtRndBtn3 elseif MndAdv2 Base = TxtRndBtn6 elseif MndAdv3 Base = TxtRndBtn9 endif if Base then Gosub BtnCl If ClmpOut1 Base = TxtRndBtn10 elseif ClmpOut2 Base = TxtRndBtn13 elseif ClmpOut3 Base = TxtRndBtn16 endif if Base then Gosub BtnCl If PdOut1 Base = TxtRndBtn11 elseif PdOut2 Base = TxtRndBtn14 elseif PdOut3 Base = TxtRndBtn17 endif if Base then Gosub BtnCl If MndRet1 Base = TxtRndBtn12 elseif MndRet2 Base = TxtRndBtn15 elseif MndRet3 Base = TxtRndBtn18 endif if Base then Gosub BtnCl RETURN |
||||
CaptainBoing![]() Guru ![]() Joined: 07/09/2016 Location: United KingdomPosts: 2170 |
very interesting. I have often thought about using these cheapie android tabs (sub 50GBP) for an interface but not the first clue where to start. I did an app using the MIT app factory which is the block-based visually "written" stuff. It works well but gives little flexibility beyond what modules are available. can you recommend a tutorial? Not the language so much (that's easy from a reference) but how you actually get the code on the thing and run-able/editable. As I understand it you can either use an actual device or some kind of emulator(?) How do you interface between the tab and the hardware? Bluetooth? Do you leave the tablet with the power lead in the USB? So many questions... can you post some pix - after you are done coz if you need to be there with a sleeping bag you haven't got time to babysit me ![]() I've got an ancient Google Nexus 7 which is gathering dust I could play with. cheers h . Edited 2021-09-07 23:01 by CaptainBoing |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
No problem to get you up and running painlessly. I'll list everything this evening when I get too tired to code ![]() Heck, do I need to shorten that code listing? I am accustomed to another forum where the "Code" window is a fixed size and independently scroll-able. |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
I was inspired. I pulled out an ancient Android 4.4 "Neutab" 7" tablet, installed Basic! from the Google Play Store, figured out how to get the above code into the tablet, double-tapped on it, and Basic! came up with the error message "Invalid Bitmap Pointer", "gr.bitmap.scalebmpptr1,tmpptr,45,45,1". (I'm not looking for debugging aid--just playing.) So Basic! is running. Now I can try to figure out what to do with it. Next after some issues which went away upon retrying, I installed it on an Android 9 10" tablet, and got the same error message. Thanks for posting--good luck with your project. It's been 48 years since I took my sleeping bag to a work site (IBM 370 Model 125, only available after work hours), though I have done over-nighters since then. ~ Edited 2021-09-08 01:21 by lizby PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
@lizby Ah, that would be because you don't have the bitmaps. I'll attach them. They simply need to go in the "data" folder. I use this suite of utilities to edit on the PC The "launcher" needs to be installed on the device and the device needs to be on the same WiFi as the PC. You edit the code on the PC and shift-F5 transfers it to the device and usually runs the code. I have just buggered something-up (I think by not ending/exiting my app correctly) and I had to launch the app from BASIC! on the device (the file transferred but didn't run). Seems OK now. I use Bluetooth and in most cases, the tablet remains powered-up at the machine. Some users simply use the tablet to load-up the Micromite with program data and then take it back to their desk, once the machine is making parts. The app will auto-size for any device and so some prefer to use their Android phones. In the code above, you can find "BT.OPEN" and "BT.CONNECT" and that's all you need. From there, you check "BT.STATUS" and proceed as you wish. This is when your device is talking to a BT slave. I prefer configuring the MM's Bluetooth device as the Master and with Auto-connect because then it just connects without the pop-up BT selection; go out-of and back in-to range and the communication is re-established, just like a BT headset. I am using a RN41 BT Click module for the first time. In the past, I have used a Click RS232 and an off-the-shelf 232/Bluetooth adapter. In the above code, I draw a lot of buttons, etc. but I won't do this again because I prefer to paint my entire UI and load as a complete bitmap (png). Although this is an interpreter, screen-switching is instant. It's possible to create an "apk" for distribution but this is only the interpreter bundled with other resources and your code. Doing an unzip on this apk will reveal everything. The above code doesn't do too much: -Touch the "No program Loaded" box to go to the files page -Touch the "Bend#" button to select which bend -Touch the "Angle" button to edit the angle. This is a bit flaky, sometimes. Think I've just fixed it. -When using "Save", you will probably need to Backspace to clear the field before typing. In my case (cheap Argos tablet), I had to install a 3rd-party file manager in order to get to the "data" folder to store the bitmaps. Some people use Android emulators on Windows but they are quite resource hungry. I prefer running on the actual device. Bitmaps_for_data_folder.zip Edit: Might want to REM BT.CONNECT to run the code Edited 2021-09-08 02:57 by Tinine |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
Thanks for the tips. I've downloaded the zip file, but I can't figure out how to get the files into the Basic! data directory. When I tap to unzip the files, it wants to unzip them to another app, and doesn't give me any choices. I installed a zipper/unzipper app, and while it doesn't now try to send them to a different app, it doesn't evidently allow me to specify where the files are to go. What app would you use to unzip to a specified location. (I have to say, the Android folder layout has always been confusing to me--apps rarely tell you where they are putting stuff.) PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
TassyJim![]() Guru ![]() Joined: 07/08/2011 Location: AustraliaPosts: 6283 |
I usually connect my device to the PC and use Windows Explorer to browse the device file structure. There was a period when Android security blocked you out of some areas but I thing that's fixed now. I adapted MMEdit to use with Basic! a while ago but don't use the phone/tablets much. I find I need a bigger screen now. Jim VK7JH MMedit |
||||
lizby Guru ![]() Joined: 17/05/2016 Location: United StatesPosts: 3378 |
Thanks, Jim--that helps a lot. Still somewhat baffled because I could see a folder for the Basic! source on the phone, but couldn't see it on the PC. But when I managed to copy the .bas file on the phone into the source folder, that folder then showed up in Explorer on the PC. Also couldn't copy files from within a zip file in Explorer to the phone storage in Explorer--had to unzip first and then I could. So got everything in the right place, and Tinine's program runs. It couldn't find a bluetooth device because I didn't have one set up, but got lots of pretty buttons. Thanks for sharing this, Tinine--hope your project is advancing well. PicoMite, Armmite F4, SensorKits, MMBasic Hardware, Games, etc. on fruitoftheshed |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
@lizby Many thanks ![]() For Android file management, these are my favourites: ![]() ![]() |
||||
Tinine Guru ![]() Joined: 30/03/2016 Location: United KingdomPosts: 1646 |
A few graphic controls that can be loaded into Paint to build a UI. Then load into BASIC! Graphic controls.zip |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |