Author Topic: CODENAME:Takky  (Read 3578 times)

0 Members and 1 Guest are viewing this topic.

Offline Colonel_Panic

  • Newbie
  • Posts: 54
    • View Profile
CODENAME:Takky
« on: November 06, 2021, 11:45:51 pm »
This is my "big project" I have been working on, for about 2 months. In the evenings, when i can.

CODENAME:Takky

screenshots:
http://i.imgur.com/VcMYC5G.png
http://i.imgur.com/VrKzL6Z.png
http://i.imgur.com/vlhpJCm.png

1,983 lines of code, almost all of it inside FUNCtions and SUBs.
monolithic GUI
basically, a *working* VisualBasic "clone"... but... "preBETA" I call it...

*rough*
but? it demonstrates the almighty DATA STRUCTURE works fine, and for multiple forms.
I have...
buttons, labels, listboxes, textboxes, forms
I can...
auto-generate the "event" procedures,

working demo, like i said "pre"beta, a little rough.

PROBLEMS:
I have z-e-r-o idea how to... deploy this thing to anyone thats interested in seeing it.
you have to imagine? I have a SET of folders that surround this thing. Fonts folders, projects folders, etc etc
I have z-e-r-o experience... making downloadable.. installable... *stuff*

WORK I HAVE LEFT:
to be "finished" and by finished I mean "lets call this a beta"... not FINISHED finished....
1) I need arrays of controls, aiming for single DIMension. I *think* I got this, but, we'll see.
2) better project maker, better IDE
3) better and more controls. SLIDER buttons will be a PITA maybe.

1983 lines of GUI code, produces about 3MB per EXE of overhead.
I make NO windows calls, NO linux calls... I draw everything, i mouse everything.
« Last Edit: November 06, 2021, 11:54:11 pm by Colonel_Panic »

Offline Colonel_Panic

  • Newbie
  • Posts: 54
    • View Profile
Re: CODENAME:Takky
« Reply #1 on: November 06, 2021, 11:56:54 pm »
oh, and I am starting to try to "finalize"...

focus system, switching between multiple windows.
EDIT: here, here's a "lastrun" file... what's a lastrun file? good question.
I guess its a sort of "log", it's generated once per run, right during "open project", which is "thing #1"

during this time, in openproject... the DEFINITION file is opened, and read IN...
                                                      openproject, is MAKING a list of "object variables", which drives everything once open.
*thats* why "lastrun" is such a neato log file... it is created at *just* the right time, in between these 2 crucial..."things" happening.
NOTE: in the (above) screenshots, there were 3 of them
ONE of them? is a "four form" thing? *ignore* that one...
the OTHER TWO? they match... ONE is the listbox *closed*... OTHER is the listbox OPEN
oops... here's LASTRUN of the "two listboxes screenshots" program compiled and running...

Code: QB64: [Select]
  1. example.begin;
  2. .wide=max;
  3. .tall=max;
  4. ;--->insert head;
  5.   .form001.begin;   example
  6.     .title=PrintForm example   <esc>=end;   example.form001
  7.     .visible=1;   example.form001
  8.     .x1= 20;   example.form001
  9.     .y1=10;   example.form001
  10.     .x2=1180;   example.form001
  11.     .y2=590;   example.form001
  12.     .color=000150000;   example.form001
  13.     .backcolor=000025000;   example.form001
  14.     .killswitch=1;   example.form001
  15.     .taskbar=1;   example.form001
  16.     .data=000;   example.form001
  17.     .labelclik1.begin;   form001
  18.       .text=see Definition;   example.form001.labelclik1
  19.       .visible=1;   example.form001.labelclik1
  20.       .x1= 25;   example.form001.labelclik1
  21.       .y1= 83;   example.form001.labelclik1
  22.       .x2= 265;   example.form001.labelclik1
  23.       .y2= 133;   example.form001.labelclik1
  24.       .color=255000000;   example.form001.labelclik1
  25.       .border=1;   example.form001.labelclik1
  26.       .data=000;   example.form001.labelclik1
  27.       .autotall=1;   example.form001.labelclik1
  28.       .autowide=1;   example.form001.labelclik1
  29.     .labelclik1.end;   form001
  30.     .labelclik2.begin;   form001
  31.       .text=see LastRun;   example.form001.labelclik2
  32.       .visible=1;   example.form001.labelclik2
  33.       .x1= 25;   example.form001.labelclik2
  34.       .y1= 164;   example.form001.labelclik2
  35.       .x2= 255;   example.form001.labelclik2
  36.       .y2= 214;   example.form001.labelclik2
  37.       .color=255000000;   example.form001.labelclik2
  38.       .border=1;   example.form001.labelclik2
  39.       .data=000;   example.form001.labelclik2
  40.       .autotall=1;   example.form001.labelclik2
  41.       .autowide=1;   example.form001.labelclik2
  42.     .labelclik2.end;   form001
  43.     .labelclik3.begin;   form001
  44.       .text=see *code* !!;   example.form001.labelclik3
  45.       .visible=1;   example.form001.labelclik3
  46.       .x1= 24;   example.form001.labelclik3
  47.       .y1= 251;   example.form001.labelclik3
  48.       .x2= 264;   example.form001.labelclik3
  49.       .y2= 301;   example.form001.labelclik3
  50.       .color=255000000;   example.form001.labelclik3
  51.       .border=1;   example.form001.labelclik3
  52.       .data=000;   example.form001.labelclik3
  53.       .autotall=1;   example.form001.labelclik3
  54.       .autowide=1;   example.form001.labelclik3
  55.     .labelclik3.end;   form001
  56.     .labelclik4.begin;   form001
  57.       .text=pick manual topic :;   example.form001.labelclik4
  58.       .visible=1;   example.form001.labelclik4
  59.       .x1= 519;   example.form001.labelclik4
  60.       .y1= 316;   example.form001.labelclik4
  61.       .x2= 744;   example.form001.labelclik4
  62.       .y2= 366;   example.form001.labelclik4
  63.       .color=255255255;   example.form001.labelclik4
  64.       .border=0;   example.form001.labelclik4
  65.       .data=000;   example.form001.labelclik4
  66.       .autotall=1;   example.form001.labelclik4
  67.       .autowide=1;   example.form001.labelclik4
  68.     .labelclik4.end;   form001
  69.     .labelclik5.begin;   form001
  70.       .text= see MANUAL text ! ;   example.form001.labelclik5
  71.       .visible=1;   example.form001.labelclik5
  72.       .x1= 500;   example.form001.labelclik5
  73.       .y1= 238;   example.form001.labelclik5
  74.       .x2= 649;   example.form001.labelclik5
  75.       .y2= 288;   example.form001.labelclik5
  76.       .color=255255255;   example.form001.labelclik5
  77.       .border=0;   example.form001.labelclik5
  78.       .data=000;   example.form001.labelclik5
  79.       .autotall=1;   example.form001.labelclik5
  80.       .autowide=1;   example.form001.labelclik5
  81.     .labelclik5.end;   form001
  82.     .listboxTOPICS.begin;   form001
  83.       .text=listboxTOPICS;   example.form001.listboxTOPICS
  84.       .visible=1;   example.form001.listboxTOPICS
  85.       .x1= 175;   example.form001.listboxTOPICS
  86.       .y1= 421;   example.form001.listboxTOPICS
  87.       .x2= 1000;   example.form001.listboxTOPICS
  88.       .y2= 475;   example.form001.listboxTOPICS
  89.       .color=000000255;   example.form001.listboxTOPICS
  90.       .file=manual/TAKKYtopics005;   example.form001.listboxTOPICS
  91.       .bytes= 0;   example.form001.listboxTOPICS
  92.       .fieldsize= 0;   example.form001.listboxTOPICS
  93.       .items= 0;   example.form001.listboxTOPICS
  94.       .index=0;   example.form001.listboxTOPICS
  95.       .border=1;   example.form001.listboxTOPICS
  96.       .data=000;   example.form001.listboxTOPICS
  97.       .autotall=1;   example.form001.listboxTOPICS
  98.     .listboxTOPICS.end;   form001
  99.     .picture001.begin;   form001
  100.       .border=1;   example.form001.picture001
  101.       .color=255255255;   example.form001.picture001
  102.       .x1=900;   example.form001.picture001
  103.       .y1= 59;   example.form001.picture001
  104.       .x2=1088;   example.form001.picture001
  105.       .y2= 173;   example.form001.picture001
  106.       .file=TAKKYSLEEPING.png;   example.form001.picture001
  107.       .data=000;   example.form001.picture001
  108.       .visible=1;   example.form001.picture001
  109.     .picture001.end;   form001
  110. ;--->insert ctrl
  111.   .form001.end;   example
  112. ;--->insert tail
  113. example.end;
  114. ================================================================
  115. [LINUX][64BIT]
  116. 11-06-2021 02:33:07
  117. ----------------------------------------------------------------
  118. CodeBase = Takky v0.0.7 (pre-BETA)
  119.     Desc = monolithic GUI overlay; 0 dependencies
  120.    notes = unified IDE/RUN code base; +listboxes
  121. ----------------------------------------------------------------
  122.      QB64 start = /home/sedstar/Desktop/qb64/programs/CODENAME.Takky (copy 1)
  123.     Takky start = /home/sedstar/Desktop/qb64/programs/CODENAME.Takky (copy 1)
  124. ================================================================
  125. ================================================================
  126. Last Run Object Variables @ initialization
  127. ================================================================
  128. 1                                example.wide = max;
  129. 2                                example.tall = max;
  130. 3                       example.form001.title = PrintForm example   <esc>=end;
  131. 4                     example.form001.visible = 1;
  132. 5                          example.form001.x1 =  20;
  133. 6                          example.form001.y1 = 10;
  134. 7                          example.form001.x2 = 1180;
  135. 8                          example.form001.y2 = 590;
  136. 9                       example.form001.color = 000150000;
  137. 10                  example.form001.backcolor = 000025000;
  138. 11                 example.form001.killswitch = 1;
  139. 12                    example.form001.taskbar = 1;
  140. 13                       example.form001.data = 000;
  141. 14            example.form001.labelclik1.text = see Definition;
  142. 15           example.form001.labelclik1.visible = 1;
  143. 16              example.form001.labelclik1.x1 =  25;
  144. 17              example.form001.labelclik1.y1 =  83;
  145. 18              example.form001.labelclik1.x2 =  265;
  146. 19              example.form001.labelclik1.y2 =  133;
  147. 20           example.form001.labelclik1.color = 255000000;
  148. 21           example.form001.labelclik1.border = 1;
  149. 22            example.form001.labelclik1.data = 000;
  150. 23           example.form001.labelclik1.autotall = 1;
  151. 24           example.form001.labelclik1.autowide = 1;
  152. 25            example.form001.labelclik2.text = see LastRun;
  153. 26           example.form001.labelclik2.visible = 1;
  154. 27              example.form001.labelclik2.x1 =  25;
  155. 28              example.form001.labelclik2.y1 =  164;
  156. 29              example.form001.labelclik2.x2 =  255;
  157. 30              example.form001.labelclik2.y2 =  214;
  158. 31           example.form001.labelclik2.color = 255000000;
  159. 32           example.form001.labelclik2.border = 1;
  160. 33            example.form001.labelclik2.data = 000;
  161. 34           example.form001.labelclik2.autotall = 1;
  162. 35           example.form001.labelclik2.autowide = 1;
  163. 36            example.form001.labelclik3.text = see *code* !!;
  164. 37           example.form001.labelclik3.visible = 1;
  165. 38              example.form001.labelclik3.x1 =  24;
  166. 39              example.form001.labelclik3.y1 =  251;
  167. 40              example.form001.labelclik3.x2 =  264;
  168. 41              example.form001.labelclik3.y2 =  301;
  169. 42           example.form001.labelclik3.color = 255000000;
  170. 43           example.form001.labelclik3.border = 1;
  171. 44            example.form001.labelclik3.data = 000;
  172. 45           example.form001.labelclik3.autotall = 1;
  173. 46           example.form001.labelclik3.autowide = 1;
  174. 47            example.form001.labelclik4.text = pick manual topic :;
  175. 48           example.form001.labelclik4.visible = 1;
  176. 49              example.form001.labelclik4.x1 =  519;
  177. 50              example.form001.labelclik4.y1 =  316;
  178. 51              example.form001.labelclik4.x2 =  744;
  179. 52              example.form001.labelclik4.y2 =  366;
  180. 53           example.form001.labelclik4.color = 255255255;
  181. 54           example.form001.labelclik4.border = 0;
  182. 55            example.form001.labelclik4.data = 000;
  183. 56           example.form001.labelclik4.autotall = 1;
  184. 57           example.form001.labelclik4.autowide = 1;
  185. 58            example.form001.labelclik5.text =  see MANUAL text ! ;
  186. 59           example.form001.labelclik5.visible = 1;
  187. 60              example.form001.labelclik5.x1 =  500;
  188. 61              example.form001.labelclik5.y1 =  238;
  189. 62              example.form001.labelclik5.x2 =  649;
  190. 63              example.form001.labelclik5.y2 =  288;
  191. 64           example.form001.labelclik5.color = 255255255;
  192. 65           example.form001.labelclik5.border = 0;
  193. 66            example.form001.labelclik5.data = 000;
  194. 67           example.form001.labelclik5.autotall = 1;
  195. 68           example.form001.labelclik5.autowide = 1;
  196. 69           example.form001.listboxTOPICS.text = listboxTOPICS;
  197. 70           example.form001.listboxTOPICS.visible = 1;
  198. 71           example.form001.listboxTOPICS.x1 =  175;
  199. 72           example.form001.listboxTOPICS.y1 =  421;
  200. 73           example.form001.listboxTOPICS.x2 =  1000;
  201. 74           example.form001.listboxTOPICS.y2 =  475;
  202. 75           example.form001.listboxTOPICS.color = 000000255;
  203. 76           example.form001.listboxTOPICS.file = manual/TAKKYtopics005;
  204. 77           example.form001.listboxTOPICS.bytes =  0;
  205. 78           example.form001.listboxTOPICS.fieldsize =  0;
  206. 79           example.form001.listboxTOPICS.items =  0;
  207. 80           example.form001.listboxTOPICS.index = 0;
  208. 81           example.form001.listboxTOPICS.border = 1;
  209. 82           example.form001.listboxTOPICS.data = 000;
  210. 83           example.form001.listboxTOPICS.autotall = 1;
  211. 84           example.form001.picture001.border = 1;
  212. 85           example.form001.picture001.color = 255255255;
  213. 86              example.form001.picture001.x1 = 900;
  214. 87              example.form001.picture001.y1 =  59;
  215. 88              example.form001.picture001.x2 = 1088;
  216. 89              example.form001.picture001.y2 =  173;
  217. 90            example.form001.picture001.file = TAKKYSLEEPING.png;
  218. 91            example.form001.picture001.data = 000;
  219. 92           example.form001.picture001.visible = 1;
  220.  
« Last Edit: November 07, 2021, 12:48:27 am by Colonel_Panic »

Offline Colonel_Panic

  • Newbie
  • Posts: 54
    • View Profile
Re: CODENAME:Takky
« Reply #2 on: November 07, 2021, 01:08:29 am »
here's the "auto-generated"  code to make use of the "mouse trapping" module... (TAKKY wrote this code)

Code: QB64: [Select]
  1. 'Sub PerformMouseClicks
  2. 'End Sub
  3. 'TAKKY INSET BEGIN
  4. Sub PerformMouseClicks ()
  5.   Select Case found_lc
  6.     Case 1: form001.labelclik1.CLICK
  7.     Case 2: form001.labelclik2.CLICK
  8.     Case 3: form001.labelclik3.CLICK
  9.     Case 4: form001.labelclik4.CLICK
  10.     Case 5: form001.labelclik5.CLICK
  11.     Case 6: form001.listboxTOPICS.CLICK
  12.     Case 7: form001.picture001.CLICK
  13.     Case 8: form001.CLICK
  14.  

and? here's the only real "coding" the programmer had to do, to make the one form "example.bas" run...
NOTE: appropriately named SUBs and ENDs were created,,, you just fill in the blanks.

Code: QB64: [Select]
  1.  
  2.  
  3. Sub form001.labelclik1.CLICK ()
  4.  
  5.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  6.   TXT$(0) = "@projects/example/example"
  7.   PrintForm "form001"
  8.  
  9.  
  10. Sub form001.labelclik2.CLICK ()
  11.  
  12.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  13.   TXT$(0) = "@projects/example/LastRun"
  14.   PrintForm "form001"
  15.  
  16.  
  17. Sub form001.labelclik3.CLICK ()
  18.  
  19.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  20.   TXT$(0) = "@projects/example/SampleCode"
  21.   PrintForm "form001"
  22.  
  23.  
  24. Sub form001.labelclik4.CLICK ()
  25.  
  26.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  27.  
  28.  
  29. Sub form001.labelclik5.CLICK ()
  30.  
  31.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  32.  
  33.  
  34. Sub form001.listboxTOPICS.CLICK ()
  35.  
  36.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  37.  
  38.   ListPick "form001", "listboxTOPICS"
  39.   TXT$(0) = "@projects/example/manual/" + GetProperty$("form001.listboxTOPICS.text")
  40.   PrintForm "form001"
  41.  
  42.  
  43.  
  44. Sub form001.picture001.CLICK ()
  45.  
  46.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  47.  
  48.  
  49. Sub form001.CLICK ()
  50.  
  51.   'your code goes here - remember: LR$ = 'L', 'R', or 'LR'
  52.   If LR$ = "L" Then
  53.     _PutImage , scrn_buff&, handle&
  54.     'tit$ = GetProperty$("example.form001.title")
  55.     'noth$ = PutProperty$("example.form001.title", "MESSAGE from Takky :")
  56.     'PaintOneForm "form001", "Y"
  57.     'TXT$(0) = "3"
  58.     'TXT$(1) = "Using PrintForm"
  59.     'TXT$(2) = "As A"
  60.     'TXT$(3) = "MessageBox"
  61.     'PrintForm "form001"
  62.     'noth$ = PutProperty$("example.form001.title", tit$)
  63.     'PaintOneForm "form001", "Y"
  64.   End If
  65.   If LR$ = "R" Then
  66.     _PutImage (Mx + 0, My + 0)-(Mx + 188 * 4, My + 114 * 4), handle& 'back_splash&
  67.  
  68.   End If
  69.  
  70. Sub SplashDemo
  71.   Cls
  72.   offs = 357
  73.   _PutImage (offs, 0)-(_DesktopWidth - offs, _DesktopHeight), back_splash&, handle&
  74.   temp_font& = _LoadFont("fonts3/Karumbi.ttf", 99)
  75.   x = 10
  76.   y = 10
  77.   _Font temp_font&
  78.   _PrintString (x, y), "Welcome...": y = y + _FontHeight + 1
  79.   _PrintString (x, y), "to CodeName:TAKKY": y = y + _FontHeight * 2 + 1
  80.   _PrintString (x, y), "press <enter> to see '" + proj$ + "'": y = y + _FontHeight + 1
  81.   Locate 5
  82.   Print "T>";: Line Input nothing$
  83.   _Font fhand&
  84.  
  85.  
  86. 'TAKKY INSET END
  87.  
  88.  

PS - the 3 "label click events" coding? those couple lines use PrintForm() command to pretty-print
      any text file (with *more* pauses automatically) printed/painted onto the FORM of your choice,
     automatically. Its "font aware", I personally like to use a 32 font size, i like the typewriter fonts

using "@" and the file name? is analogous to using the $INCLUDE: 'FileNameHere' command in QB64

Offline Colonel_Panic

  • Newbie
  • Posts: 54
    • View Profile
Re: CODENAME:Takky
« Reply #3 on: November 07, 2021, 01:19:05 am »
attachment? maybe I can put together a "care package" and try to deploy the 'example'
fingers crossed...

why can't I "attach" a folder?? the whole folder is only several MB.
maybe i can zip it or some such thing, that would make it "one file"...
hold on...
Linux has, like, 87 different formats... okay, heres a "zip"... I *think*
try this...

 

PS - instructions...
just... unzip the folder anywhere you want to...
1. the executable in there? is a LINUX executable
2. windows? you can compile and run, but, "the mouse is drunk" in WINders
3. *shrugs* run in LINUX (developed on LinuxMINT)

RUNNING instructions:
==============
this is a "one form" demo.
the 3 labels? let you see text files, also demonstrates the "PrintForm" command
the listbox? is the "manual" (and its ghetto like everything else, but, its *there*)

the manual listbox? uses PringForm() too

NOTE: this demo contains a "windowing test". IE, screen buffering.
          to test windowing a "one form" project? easy... right-click on open background of form (not on a control)
                                                                                     and you will instantly see a "screenshot" appear all wonky.
                                                                                     do a couple more, and have fun... PAINT all you want
                                                                                     if you only click FORM and dont hit CTRLS? you can do it as much as you like
                                                                                     the ore the better...
 because... when you LEFT-click on open background of the form? it BUFFERS and its instantaneous in LINUX.

what does this prove? everything!
you *could* have blobbed the screen up with an INPUT BOX, or a MESSAGE BOX, or.....???
BLINK! and its GONE... and you are RIGHT back at your main form, ready to go again.

you can dance freaking ZEBRAS in 3D across the screen; the buffer is BANG, right back.

*almost home, baby*
« Last Edit: November 07, 2021, 01:25:13 am by Colonel_Panic »

Offline Colonel_Panic

  • Newbie
  • Posts: 54
    • View Profile
Re: CODENAME:Takky
« Reply #4 on: November 07, 2021, 01:53:33 am »
missed a night of sleep, must go nap time now.

PS - I'm tickled pink to be here.

tiny problem: I work "cutting grass" with a big machine on a little crew? early spring thru late fall.
I *just* got off work season. WHEN working? I am living and working in a true "dead zone". IE, no cell phones work.
(remote location)
I am only on the internet? this weekend.

plus? I work in the off season, and *thats* starting soon...
B-U-T... I can have a cell phone at *that* job... so I am going to buy a cheap cell phone, mainly for just THIS website.

END RESULT: I will be *gone* for a *while*... but I will be back. When I get my phone.