QB64.org Forum

QB64 Team Software => InForm => Topic started by: DDBE on June 09, 2020, 04:47:48 PM

Title: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 04:47:48 PM
This in relation to this code that especially bplus, Luke, and Tempo helped me work out: https://www.qb64.org/forum/index.php?topic=2673.msg118943#msg118943

This is the InForm window that it's supposed to work with: https://abload.de/img/windowlmkf5.jpg (https://abload.de/img/windowlmkf5.jpg) The final results of all the calculations, about 60 lines or so (already had to break that up into two parts of about 30 lines each! see the two buttons for part 1 and part 2), are supposed to be displayed or printed out on the huge label at the bottom which currently reads "Please hit GO! buttons (one at a time)". The user is supposed to be able to use their mouse to manually select the resulting text and tables at the bottom and copy them to the clipboard, so they will be able to copy-paste it into Windows text editor or Word or any other text processor.

Okay, so it seems InForm has no equivalent to the simple PRINT command, which is very unfortunate because a large part of my above code is dependent upon PRINT, especially the sorting/displaying of the Excel-style $tring tables. It's those dynamically-sorted $tring tables that I can't see how to make them work with InForm.

Is there a simple InForm equivalent to PRINT that I can simply insert into the DISPLAY sub-routine?

If not, it seems I need a way (that would still work with my sorting sub-routine somehow) on how to feed a number of dynamically-sorted tables, each consisting of several lines, into a single $tring, lots of line breaks by means of /n included.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 09, 2020, 06:17:04 PM
Quote
Okay, so it seems InForm has no equivalent to the simple PRINT command, which is very unfortunate because a large part of my above code is dependent upon PRINT, especially the sorting/displaying of the Excel-style $tring tables. It's those dynamically-sorted $tring tables that I can't see how to make them work with InForm.

Simply use a ListBox to replace your Display Subroutine. The ListBox takes an array and displays the entire contents with scrollers PLUS you can select items on the list if you want.

Use Text Boxes and Labels to display one or two liners.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 07:16:36 PM
Huh, Fillippe said the content of a ListBox would not be selectable by the user to copy-paste it.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 07:27:57 PM
Okay, I've looked at the InForm Wiki. Seems like when we take this section from our original code...

Code: QB64: [Select]
  1. SUB display (a$())
  2.     FOR i% = 0 TO UBOUND(a$)
  3.         PRINT a$(i%)
  4.     NEXT

...it simply turns into the following with InForm?

Code: QB64: [Select]
  1. SUB display (a$())
  2.     FOR i% = 0 TO UBOUND(a$)
  3.         AddItem ListBox1 a$(i%)
  4.     NEXT

Remember, I still wanna sort all six tables in descending order each. That's why I guess I'd prefer to stick to our two sub-routines for sorting and printing.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 09, 2020, 08:45:54 PM
Huh, Fillippe said the content of a ListBox would not be selectable by the user to copy-paste it.

I would be extremely surprised if an item could not be selected from a List box after all isn't that what a List box is supposed to do but...

Having seen you app, you are probably going to want the whole array stored as a giant text string into the clipboard that would likely be done by clicking a button whose subroutine will join the array into a giant text string probably using CRLF to mark end of lines, piece of cake.

Your alternate code for display looks great!

Quote
Remember, I still wanna sort all six tables in descending order each. That's why I guess I'd prefer to stick to our two sub-routines for sorting and printing.

This too would be done with a button click which leads to code that does the sorting mostly the same code you have worked out already.

I am thinking InForm would make a Data Entry screen and then Click a button and presto-chango the output display is shown in a list box with all the data processing including the sorts done behind the scenes in mostly the routines you have already.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 09:48:10 PM
Having seen you app, you are probably going to want the whole array stored as a giant text string

It doesn't need to be. I just want it all to be visible on the screen at the same time, just like it was in the QB64-only program without InForm before. I only want the user to be able to use the mouse and select the resulting text and do copy-paste, just like they would be able to with text on a website in a browser, for instance.

This too would be done with a button click which leads to code that does the sorting mostly the same code you have worked out already.

I am thinking InForm would make a Data Entry screen and then Click a button and presto-chango the output display is shown in a list box with all the data processing including the sorts done behind the scenes in mostly the routines you have already.

Yes, that's pretty much the idea here. First you enter all the data by means of the dropdowns, then just one button click, and BING! All the sorted tables appearing immediately at the bottom of the window, fully selectable and ready to copy.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 10:06:30 PM
Okay, so I've tried to make InForm generate code from the thoroughly re-worked form. But I can't seem to find where I can define the event when the one single button is clicked. There's a sub-routine event called Click, but don't I have to adress Button1 with that inside the brackets somehow? No matter in which way I've tried to do that, it only gave me syntax errors.

I guess I need to write "Button1" somewhere in this line:

Code: QB64: [Select]
  1. SUB __UI_Click (id AS LONG)

But as said, I can't seem to make it work without QB64 complaining even just because I'm trying to adress Button1.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 09, 2020, 10:15:13 PM
There should be cases for every clickable "id" in the bas file created by InForm.

Code: QB64: [Select]
  1. SUB __UI_Click (id AS LONG)
  2.     SELECT CASE id
  3.         CASE Cryptogram
  4.  
  5.         CASE lbMessage
  6.  
  7.         CASE tbMessage
  8.  
  9.         CASE btCode
  10.             Caption(lbCodeMessage) = encrypt$(Text(tbMessage))
  11.  
  12.         CASE lbCoded
  13.  
  14.         CASE tbCode
  15.  
  16.         CASE btDecode
  17.             Caption(lbDecodedMessage) = decode$(Text(tbCode))
  18.             'SetFocus tbMessage  works
  19.  
  20.     END SELECT
  21.  
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 10:20:16 PM
There's no Button1 whatsoever inside that SELECT CASE. Button1 only exists at the top of the code as:

Code: QB64: [Select]
  1. DIM SHARED Button1 AS LONG

All that's inside that SELECT CASE for the Click event is this:

Code: QB64: [Select]
  1. SUB __UI_Click (id AS LONG)
  2.     SELECT CASE id
  3.         CASE Form1
  4.  
  5.         CASE Chartowner
  6.  
  7.         CASE TextBox1
  8.  
  9.         CASE __name
  10.  
  11.         CASE TextBox2
  12.  
  13.         CASE birthdate
  14.  
  15.         CASE TextBox3
  16.  
  17.         CASE birthtime
  18.  
  19.         CASE TextBox4
  20.  
  21.         CASE birthplace
  22.  
  23.     END SELECT
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 09, 2020, 10:33:46 PM
You can just write it in I think. This is really Fellippe's domain of expertise.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: FellippeHeitor on June 09, 2020, 10:40:38 PM
As I explained to you in the discord chatroom, InForm won't add new controls to existing select case blocks. It'll add the definition at the top but you should cater for new controls in the events yourself.

It is by design. InForm has no way of knowing  how much you may have customized the code it originally generated and avoids data loss by not attempting to do it.

What it will do is add the DIM SHARED line, as you've outlined, and a warning that says:

Code: QB64: [Select]
  1. REM NOTICE: THIS FORM HAS BEEN RECENTLY EDITED
  2. '>> The controls in the list below may have been added or renamed,
  3. '>> and previously existing controls may have been deleted since
  4. '>> this program's structure was first generated.
  5. '>> Make sure to check your code in the events SUBs so that
  6. '>> you can take your recent edits into consideration.
  7.  
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 11:18:15 PM
Okay, so this is my code now:

Code: QB64: [Select]
  1. ': This program uses
  2. ': InForm - GUI library for QB64 - v1.1
  3. ': Fellippe Heitor, 2016-2019 - fellippe@qb64.org - [member=2]FellippeHeitor[/member]
  4. ': https://github.com/FellippeHeitor/InForm
  5. '-----------------------------------------------------------
  6.  
  7. ': Controls' IDs: ------------------------------------------------------------------
  8. REM NOTICE: THIS FORM HAS BEEN RECENTLY EDITED
  9. '>> The controls in the list below may have been added or renamed,
  10. '>> and previously existing controls may have been deleted since
  11. '>> this program's structure was first generated.
  12. '>> Make sure to check your code in the events SUBs so that
  13. '>> you can take your recent edits into consideration.
  14. ': ---------------------------------------------------------------------------------
  15. DIM SHARED Chartowner AS LONG
  16. DIM SHARED AscendantMC AS LONG
  17. DIM SHARED mercury AS LONG
  18. DIM SHARED jupiter AS LONG
  19. DIM SHARED saturn AS LONG
  20. DIM SHARED chiron AS LONG
  21. DIM SHARED uranus AS LONG
  22. DIM SHARED neptune AS LONG
  23. DIM SHARED moon_node AS LONG
  24. DIM SHARED lilith AS LONG
  25. DIM SHARED TextBox1 AS LONG
  26. DIM SHARED __name AS LONG
  27. DIM SHARED TextBox2 AS LONG
  28. DIM SHARED birthdate AS LONG
  29. DIM SHARED TextBox3 AS LONG
  30. DIM SHARED birthtime AS LONG
  31. DIM SHARED TextBox4 AS LONG
  32. DIM SHARED birthplace AS LONG
  33. DIM SHARED DropdownList_sunHouse AS LONG
  34. DIM SHARED sun_House AS LONG
  35. DIM SHARED DropdownList_sunSign AS LONG
  36. DIM SHARED sun_Sign AS LONG
  37. DIM SHARED DropdownList_moonHouse AS LONG
  38. DIM SHARED moon_House AS LONG
  39. DIM SHARED moon_Sign AS LONG
  40. DIM SHARED DropdownList_moonSign AS LONG
  41. DIM SHARED DropdownList_ascendantSign AS LONG
  42. DIM SHARED ascendant_Sign AS LONG
  43. DIM SHARED mc_Sign AS LONG
  44. DIM SHARED DropdownList_MCSign AS LONG
  45. DIM SHARED DropdownList_mercuryHouse AS LONG
  46. DIM SHARED mercury_House AS LONG
  47. DIM SHARED DropdownList_mercurySign AS LONG
  48. DIM SHARED mercury_Sign AS LONG
  49. DIM SHARED DropdownList_venusHouse AS LONG
  50. DIM SHARED venus_House AS LONG
  51. DIM SHARED venus_Sign AS LONG
  52. DIM SHARED DropdownList_venusSign AS LONG
  53. DIM SHARED DropdownList_marsHouse AS LONG
  54. DIM SHARED mars_House AS LONG
  55. DIM SHARED mars_Sign AS LONG
  56. DIM SHARED DropdownList_marsSign AS LONG
  57. DIM SHARED DropdownList_jupiterHouse AS LONG
  58. DIM SHARED jupiter_House AS LONG
  59. DIM SHARED DropdownList_jupiterSign AS LONG
  60. DIM SHARED jupiter_Sign AS LONG
  61. DIM SHARED DropdownList_saturnHouse AS LONG
  62. DIM SHARED saturn_House AS LONG
  63. DIM SHARED saturn_Sign AS LONG
  64. DIM SHARED DropdownList_saturnSign AS LONG
  65. DIM SHARED DropdownList_chironHouse AS LONG
  66. DIM SHARED chiron_House AS LONG
  67. DIM SHARED chiron_Sign AS LONG
  68. DIM SHARED DropdownList_chironSign AS LONG
  69. DIM SHARED DropdownList_uranusHouse AS LONG
  70. DIM SHARED uranus_House AS LONG
  71. DIM SHARED DropdownList_uranusSign AS LONG
  72. DIM SHARED uranus_Sign AS LONG
  73. DIM SHARED DropdownList_neptuneHouse AS LONG
  74. DIM SHARED neptune_House AS LONG
  75. DIM SHARED neptune_Sign AS LONG
  76. DIM SHARED DropdownList_neptuneSign AS LONG
  77. DIM SHARED DropdownList_plutoHouse AS LONG
  78. DIM SHARED pluto_House AS LONG
  79. DIM SHARED pluto_Sign AS LONG
  80. DIM SHARED DropdownList_plutoSign AS LONG
  81. DIM SHARED DropdownList_moonnodeHouse AS LONG
  82. DIM SHARED moonnode_House AS LONG
  83. DIM SHARED moonnode_Sign AS LONG
  84. DIM SHARED DropdownList_moonnodeSign AS LONG
  85. DIM SHARED DropdownList_lilithHouse AS LONG
  86. DIM SHARED lilith_House AS LONG
  87. DIM SHARED lilith_Sign AS LONG
  88. DIM SHARED DropdownList_lilithSign AS LONG
  89. DIM SHARED Button1 AS LONG
  90. DIM SHARED PictureBox1 AS LONG
  91. DIM SHARED Label33 AS LONG
  92. DIM SHARED PictureBox2 AS LONG
  93. DIM SHARED PictureBox3 AS LONG
  94. DIM SHARED Label34 AS LONG
  95. DIM SHARED Label35 AS LONG
  96. DIM SHARED Label36 AS LONG
  97. DIM SHARED Label37 AS LONG
  98. DIM SHARED Label38 AS LONG
  99. DIM SHARED Label39 AS LONG
  100. DIM SHARED Label40 AS LONG
  101. DIM SHARED Label41 AS LONG
  102. DIM SHARED ListBox1 AS LONG
  103.  
  104. DIM SHARED elements_Table$(3), elements_table_Values(3)
  105. DIM SHARED signs_Table$(11), signs_table_Values(11)
  106. DIM SHARED qualities_Table$(2), qualities_table_Values(2)
  107. DIM SHARED polarities_Table$(1), polarities_table_Values(1)
  108. DIM SHARED houses_Table$(11), houses_table_Values(11)
  109. DIM SHARED quadrants_Table$(3), quadrants_table_Values(3)
  110.  
  111. __UI_Click
  112.  
  113.  
  114.  
  115. ': External modules: ---------------------------------------------------------------
  116. '$INCLUDE:'InForm\InForm.ui'
  117. '$INCLUDE:'InForm\xp.uitheme'
  118. '$INCLUDE:'Horoscope calculator.frm'
  119.  
  120. ': Event procedures: ---------------------------------------------------------------
  121. SUB __UI_BeforeInit
  122.  
  123.  
  124. SUB __UI_OnLoad
  125.  
  126.  
  127. SUB __UI_BeforeUpdateDisplay
  128.     'This event occurs at approximately 30 frames per second.
  129.     'You can change the update frequency by calling SetFrameRate DesiredRate%
  130.  
  131.  
  132. SUB __UI_BeforeUnload
  133.     'If you set __UI_UnloadSignal = False here you can
  134.     'cancel the user's request to close.
  135.  
  136.  
  137. SUB __UI_Click (id AS LONG)
  138.     SELECT CASE id
  139.         CASE Button1
  140.             sun$ = GetItem$(DropdownList_sunSign, Control(DropdownList_sunSign).Value)
  141.             sun_House = VAL(GetItem$(DropdownList_sunHouse, Control(DropdownList_sunHouse).Value))
  142.             moon$ = GetItem$(DropdownList_moonSign, Control(DropdownList_moonSign).Value)
  143.             moon_House = VAL(GetItem$(DropdownList_moonHouse, Control(DropdownList_moonHouse).Value))
  144.             ascendent$ = GetItem$(DropdownList_ascendantSign, Control(DropdownList_ascendantSign).Value)
  145.             'MC$ = VAL(GetItem$(DropdownList_MCSign, Control(DropdownList_MCSign).Value))
  146.             mercury$ = GetItem$(DropdownList_mercuryHouse, Control(DropdownList_mercuryHouse).Value)
  147.             mercury_House = VAL(GetItem$(DropdownList_mercurySign, Control(DropdownList_mercurySign).Value))
  148.             Venus$ = GetItem$(DropdownList_venusSign, Control(DropdownList_venusSign).Value)
  149.             venus_House = VAL(GetItem$(DropdownList_venusHouse, Control(DropdownList_venusHouse).Value))
  150.             mars$ = GetItem$(DropdownList_marsSign, Control(DropdownList_marsSign).Value)
  151.             mars_House = VAL(GetItem$(DropdownList_marsHouse, Control(DropdownList_marsHouse).Value))
  152.             Jupiter$ = GetItem$(DropdownList_jupiterSign, Control(DropdownList_jupiterSign).Value)
  153.             jupiter_House = VAL(GetItem$(DropdownList_jupiterHouse, Control(DropdownList_jupiterHouse).Value))
  154.             Saturn$ = GetItem$(DropdownList_saturnSign, Control(DropdownList_saturnSign).Value)
  155.             saturn_House = VAL(GetItem$(DropdownList_saturnHouse, Control(DropdownList_saturnHouse).Value))
  156.             Chiron$ = GetItem$(DropdownList_chironSign, Control(DropdownList_chironSign).Value)
  157.             chiron_House = VAL(GetItem$(DropdownList_chironHouse, Control(DropdownList_chironHouse).Value))
  158.             Uranus$ = GetItem$(DropdownList_uranusSign, Control(DropdownList_uranusSign).Value)
  159.             uranus_House = VAL(GetItem$(DropdownList_uranusHouse, Control(DropdownList_uranusHouse).Value))
  160.             neptune$ = GetItem$(DropdownList_neptuneSign, Control(DropdownList_neptuneSign).Value)
  161.             neptune_House = VAL(GetItem$(DropdownList_uranusHouse, Control(DropdownList_uranusHouse).Value))
  162.             Pluto$ = GetItem$(DropdownList_plutoSign, Control(DropdownList_plutoSign).Value)
  163.             pluto_House = VAL(GetItem$(DropdownList_plutoHouse, Control(DropdownList_plutoHouse).Value))
  164.             moon_Node$ = GetItem$(DropdownList_moonnodeSign, Control(DropdownList_moonnodeSign).Value)
  165.             moon_node_House = VAL(GetItem$(DropdownList_moonnodeHouse, Control(DropdownList_moonnodeHouse).Value))
  166.             Lilith$ = GetItem$(DropdownList_lilithSign, Control(DropdownList_lilithSign).Value)
  167.             lilith_House = VAL(GetItem$(DropdownList_lilithHouse, Control(DropdownList_lilithHouse).Value))
  168.             DIM house(12) AS INTEGER 'Defining 12 houses that numerical values can be added to which can be subjected to mathematical operations.
  169.             house(sun_House) = house(sun_House) + 12 'Adds 12 points to the house that has the Sun in it.
  170.             house(moon_House) = house(moon_House) + 12 'Adds 12 points to the house that has the Moon in it.
  171.             house(mercury_House) = house(mercury_House) + 6 'Adds 6 points to the house that has Mercury in it.
  172.             house(venus_House) = house(venus_House) + 6 'Adds 6 points to the house that has Venus in it.
  173.             house(mars_House) = house(mars_House) + 6 'Adds 6 points to the house that has Mars in it.
  174.             house(jupiter_House) = house(jupiter_House) + 5 'Adds 5 points to the house that has Jupiter in it.
  175.             house(saturn_House) = house(saturn_House) + 5 'Adds 5 points to the house that has Saturn in it.
  176.             house(chiron_House) = house(chiron_House) + 2 'Adds 2 points to the house that has Chiron in it.
  177.             house(uranus_House) = house(uranus_House) + 2 'Adds 2 points to the house that has Uranus in it.
  178.             house(neptune_House) = house(neptune_House) + 2 'Adds 2 points to the house that has neptune in it.
  179.             house(pluto_House) = house(pluto_House) + 2 'Adds 2 points to the house that has Pluto in it.
  180.             house(moon_node_House) = house(moon_node_House) + 2 'Adds 2 points to the house that has the Moon Node in it.
  181.             house(lilith_House) = house(lilith_House) + 1 'Adds 1 point to the house that has Lilith in it.
  182.  
  183.             SELECT CASE sun$
  184.                 CASE "Aries"
  185.                     fire = fire + 12
  186.                     aries_Value = aries_Value + 12
  187.                     cardinals = cardinals + 12
  188.                 CASE "Taurus"
  189.                     earth = earth + 12
  190.                     taurus_Value = taurus_Value + 12
  191.                     fixed = fixed + 12
  192.                 CASE "Gemini"
  193.                     air = air + 12
  194.                     gemini_Value = gemini_Value + 12
  195.                     mutable = mutable + 12
  196.                 CASE "Cancer"
  197.                     water = water + 12
  198.                     cancer_Value = cancer_Value + 12
  199.                     cardinals = cardinals + 12
  200.                 CASE "Leo"
  201.                     fire = fire + 12
  202.                     leo_Value = leo_Value + 12
  203.                     fixed = fixed + 12
  204.                 CASE "Virgo"
  205.                     earth = earth + 12
  206.                     virgo_Value = virgo_Value + 12
  207.                     mutable = mutable + 12
  208.                 CASE "Libra"
  209.                     air = air + 12
  210.                     libra_Value = libra_Value + 12
  211.                     cardinals = cardinals + 12
  212.                 CASE "Scorpio"
  213.                     water = water + 12
  214.                     scorpio_Value = scorpio_Value + 12
  215.                     fixed = fixed + 12
  216.                 CASE "Sagittarius"
  217.                     fire = fire + 12
  218.                     sagittarius_Value = sagittarius_Value + 12
  219.                     mutable = mutable + 12
  220.                 CASE "Capricorn"
  221.                     earth = earth + 12
  222.                     capricorn_Value = capricorn_Value + 12
  223.                     cardinals = cardinals + 12
  224.                 CASE "Aquarius"
  225.                     air = air + 12
  226.                     Aquarius_Value = Aquarius_Value + 12
  227.                     fixed = fixed + 12
  228.                 CASE "Pisces"
  229.                     water = water + 12
  230.                     pisces_Value = pisces_Value + 12
  231.                     mutable = mutable + 12
  232.             END SELECT
  233.  
  234.             SELECT CASE moon$
  235.                 CASE "Aries"
  236.                     fire = fire + 12
  237.                     aries_Value = aries_Value + 12
  238.                     cardinals = cardinals + 12
  239.                 CASE "Taurus"
  240.                     earth = earth + 12
  241.                     taurus_Value = taurus_Value + 12
  242.                     fixed = fixed + 12
  243.                 CASE "Gemini"
  244.                     air = air + 12
  245.                     gemini_Value = gemini_Value + 12
  246.                     mutable = mutable + 12
  247.                 CASE "Cancer"
  248.                     water = water + 12
  249.                     cancer_Value = cancer_Value + 12
  250.                     cardinals = cardinals + 12
  251.                 CASE "Leo"
  252.                     fire = fire + 12
  253.                     leo_Value = leo_Value + 12
  254.                     fixed = fixed + 12
  255.                 CASE "Virgo"
  256.                     earth = earth + 12
  257.                     virgo_Value = virgo_Value + 12
  258.                     mutable = mutable + 12
  259.                 CASE "Libra"
  260.                     air = air + 12
  261.                     libra_Value = libra_Value + 12
  262.                     cardinals = cardinals + 12
  263.                 CASE "Scorpio"
  264.                     water = water + 12
  265.                     scorpio_Value = scorpio_Value + 12
  266.                     fixed = fixed + 12
  267.                 CASE "Sagittarius"
  268.                     fire = fire + 12
  269.                     sagittarius_Value = sagittarius_Value + 12
  270.                     mutable = mutable + 12
  271.                 CASE "Capricorn"
  272.                     earth = earth + 12
  273.                     capricorn_Value = capricorn_Value + 12
  274.                     cardinals = cardinals + 12
  275.                 CASE "Aquarius"
  276.                     air = air + 12
  277.                     Aquarius_Value = Aquarius_Value + 12
  278.                     fixed = fixed + 12
  279.                 CASE "Pisces"
  280.                     water = water + 12
  281.                     pisces_Value = pisces_Value + 12
  282.                     mutable = mutable + 12
  283.             END SELECT
  284.  
  285.             SELECT CASE ascendent$
  286.                 CASE "Aries"
  287.                     fire = fire + 12
  288.                     aries_Value = aries_Value + 12
  289.                     cardinals = cardinals + 12
  290.                     IF mars_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  291.                     IF mars_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  292.                     IF mars_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  293.                     IF mars_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  294.                     IF mars_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  295.                     IF mars_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  296.                     IF mars_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  297.                     IF mars_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  298.                     IF mars_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  299.                     IF mars_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  300.                     IF mars_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  301.                     IF mars_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  302.                 CASE "Taurus"
  303.                     earth = earth + 12
  304.                     taurus_Value = taurus_Value + 12
  305.                     fixed = fixed + 12
  306.                     IF chiron_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  307.                     IF chiron_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  308.                     IF chiron_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  309.                     IF chiron_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  310.                     IF chiron_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  311.                     IF chiron_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  312.                     IF chiron_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  313.                     IF chiron_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  314.                     IF chiron_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  315.                     IF chiron_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  316.                     IF chiron_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  317.                     IF chiron_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  318.                 CASE "Gemini"
  319.                     air = air + 12
  320.                     gemini_Value = gemini_Value + 12
  321.                     mutable = mutable + 12
  322.                     IF mercury_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  323.                     IF mercury_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  324.                     IF mercury_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  325.                     IF mercury_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  326.                     IF mercury_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  327.                     IF mercury_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  328.                     IF mercury_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  329.                     IF mercury_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  330.                     IF mercury_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  331.                     IF mercury_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  332.                     IF mercury_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  333.                     IF mercury_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  334.                 CASE "Cancer"
  335.                     water = water + 12
  336.                     cancer_Value = cancer_Value + 12
  337.                     cardinals = cardinals + 12
  338.                     IF moon_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  339.                     IF moon_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  340.                     IF moon_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  341.                     IF moon_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  342.                     IF moon_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  343.                     IF moon_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  344.                     IF moon_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  345.                     IF moon_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  346.                     IF moon_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  347.                     IF moon_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  348.                     IF moon_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  349.                     IF moon_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  350.                 CASE "Leo"
  351.                     fire = fire + 12
  352.                     leo_Value = leo_Value + 12
  353.                     fixed = fixed + 12
  354.                     IF sun_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  355.                     IF sun_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  356.                     IF sun_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  357.                     IF sun_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  358.                     IF sun_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  359.                     IF sun_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  360.                     IF sun_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  361.                     IF sun_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  362.                     IF sun_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  363.                     IF sun_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  364.                     IF sun_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  365.                     IF sun_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  366.                 CASE "Virgo"
  367.                     earth = earth + 12
  368.                     virgo_Value = virgo_Value + 12
  369.                     mutable = mutable + 12
  370.                     IF mercury_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  371.                     IF mercury_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  372.                     IF mercury_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  373.                     IF mercury_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  374.                     IF mercury_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  375.                     IF mercury_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  376.                     IF mercury_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  377.                     IF mercury_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  378.                     IF mercury_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  379.                     IF mercury_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  380.                     IF mercury_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  381.                     IF mercury_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  382.                 CASE "Libra"
  383.                     air = air + 12
  384.                     libra_Value = libra_Value + 12
  385.                     cardinals = cardinals + 12
  386.                     IF venus_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  387.                     IF venus_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  388.                     IF venus_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  389.                     IF venus_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  390.                     IF venus_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  391.                     IF venus_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  392.                     IF venus_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  393.                     IF venus_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  394.                     IF venus_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  395.                     IF venus_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  396.                     IF venus_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  397.                     IF venus_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  398.                 CASE "Scorpio"
  399.                     water = water + 12
  400.                     scorpio_Value = scorpio_Value + 12
  401.                     fixed = fixed + 12
  402.                     IF pluto_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  403.                     IF pluto_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  404.                     IF pluto_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  405.                     IF pluto_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  406.                     IF pluto_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  407.                     IF pluto_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  408.                     IF pluto_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  409.                     IF pluto_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  410.                     IF pluto_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  411.                     IF pluto_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  412.                     IF pluto_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  413.                     IF pluto_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  414.                 CASE "Sagittarius"
  415.                     fire = fire + 12
  416.                     sagittarius_Value = sagittarius_Value + 12
  417.                     mutable = mutable + 12
  418.                     IF jupiter_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  419.                     IF jupiter_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  420.                     IF jupiter_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  421.                     IF jupiter_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  422.                     IF jupiter_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  423.                     IF jupiter_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  424.                     IF jupiter_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  425.                     IF jupiter_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  426.                     IF jupiter_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  427.                     IF jupiter_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  428.                     IF jupiter_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  429.                     IF jupiter_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  430.                 CASE "Capricorn"
  431.                     earth = earth + 12
  432.                     capricorn_Value = capricorn_Value + 12
  433.                     cardinals = cardinals + 12
  434.                     IF saturn_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  435.                     IF saturn_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  436.                     IF saturn_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  437.                     IF saturn_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  438.                     IF saturn_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  439.                     IF saturn_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  440.                     IF saturn_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  441.                     IF saturn_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  442.                     IF saturn_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  443.                     IF saturn_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  444.                     IF saturn_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  445.                     IF saturn_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  446.                 CASE "Aquarius"
  447.                     air = air + 12
  448.                     Aquarius_Value = Aquarius_Value + 12
  449.                     fixed = fixed + 12
  450.                     IF uranus_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  451.                     IF uranus_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  452.                     IF uranus_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  453.                     IF uranus_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  454.                     IF uranus_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  455.                     IF uranus_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  456.                     IF uranus_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  457.                     IF uranus_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  458.                     IF uranus_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  459.                     IF uranus_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  460.                     IF uranus_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  461.                     IF uranus_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  462.                 CASE "Pisces"
  463.                     water = water + 12
  464.                     pisces_Value = pisces_Value + 12
  465.                     mutable = mutable + 12
  466.                     IF neptune_House = 1 THEN fire = fire + 6: aries_Value = aries_Value + 6
  467.                     IF neptune_House = 2 THEN earth = earth + 6: taurus_Value = taurus_Value + 6
  468.                     IF neptune_House = 3 THEN air = air + 6: gemini_Value = gemini_Value + 6
  469.                     IF neptune_House = 4 THEN water = water + 6: cancer_Value = cancer_Value + 6
  470.                     IF neptune_House = 5 THEN fire = fire + 6: leo_Value = leo_Value + 6
  471.                     IF neptune_House = 6 THEN earth = earth + 6: virgo_Value = virgo_Value + 6
  472.                     IF neptune_House = 7 THEN air = air + 6: libra_Value = libra_Value + 6
  473.                     IF neptune_House = 8 THEN water = water + 6: scorpio_Value = scorpio_Value + 6
  474.                     IF neptune_House = 9 THEN fire = fire + 6: sagittarius_Value = sagittarius_Value + 6
  475.                     IF neptune_House = 10 THEN earth = earth + 6: capricorn_Value = capricorn_Value + 6
  476.                     IF neptune_House = 11 THEN air = air + 6: Aquarius_Value = Aquarius_Value + 6
  477.                     IF neptune_House = 12 THEN water = water + 6: pisces_Value = pisces_Value + 6
  478.             END SELECT
  479.  
  480.             SELECT CASE mercury$
  481.                 CASE "Aries"
  482.                     fire = fire + 6
  483.                     aries_Value = aries_Value + 6
  484.                     cardinals = cardinals + 6
  485.                 CASE "Taurus"
  486.                     earth = earth + 6
  487.                     taurus_Value = taurus_Value + 6
  488.                     fixed = fixed + 6
  489.                 CASE "Gemini"
  490.                     air = air + 6
  491.                     gemini_Value = gemini_Value + 6
  492.                     mutable = mutable + 6
  493.                 CASE "Cancer"
  494.                     water = water + 6
  495.                     cancer_Value = cancer_Value + 6
  496.                     cardinals = cardinals + 6
  497.                 CASE "Leo"
  498.                     fire = fire + 6
  499.                     leo_Value = leo_Value + 6
  500.                     fixed = fixed + 6
  501.                 CASE "Virgo"
  502.                     earth = earth + 6
  503.                     virgo_Value = virgo_Value + 6
  504.                     mutable = mutable + 6
  505.                 CASE "Libra"
  506.                     air = air + 6
  507.                     libra_Value = libra_Value + 6
  508.                     cardinals = cardinals + 6
  509.                 CASE "Scorpio"
  510.                     water = water + 6
  511.                     scorpio_Value = scorpio_Value + 6
  512.                     fixed = fixed + 6
  513.                 CASE "Sagittarius"
  514.                     fire = fire + 6
  515.                     sagittarius_Value = sagittarius_Value + 6
  516.                     mutable = mutable + 6
  517.                 CASE "Capricorn"
  518.                     earth = earth + 6
  519.                     capricorn_Value = capricorn_Value + 6
  520.                     cardinals = cardinals + 6
  521.                 CASE "Aquarius"
  522.                     air = air + 6
  523.                     Aquarius_Value = Aquarius_Value + 6
  524.                     fixed = fixed + 6
  525.                 CASE "Pisces"
  526.                     water = water + 6
  527.                     pisces_Value = pisces_Value + 6
  528.                     mutable = mutable + 6
  529.             END SELECT
  530.  
  531.             SELECT CASE Venus$
  532.                 CASE "Aries"
  533.                     fire = fire + 6
  534.                     aries_Value = aries_Value + 6
  535.                     cardinals = cardinals + 6
  536.                 CASE "Taurus"
  537.                     earth = earth + 6
  538.                     taurus_Value = taurus_Value + 6
  539.                     fixed = fixed + 6
  540.                 CASE "Gemini"
  541.                     air = air + 6
  542.                     gemini_Value = gemini_Value + 6
  543.                     mutable = mutable + 6
  544.                 CASE "Cancer"
  545.                     water = water + 6
  546.                     cancer_Value = cancer_Value + 6
  547.                     cardinals = cardinals + 6
  548.                 CASE "Leo"
  549.                     fire = fire + 6
  550.                     leo_Value = leo_Value + 6
  551.                     fixed = fixed + 6
  552.                 CASE "Virgo"
  553.                     earth = earth + 6
  554.                     virgo_Value = virgo_Value + 6
  555.                     mutable = mutable + 6
  556.                 CASE "Libra"
  557.                     air = air + 6
  558.                     libra_Value = libra_Value + 6
  559.                     cardinals = cardinals + 6
  560.                 CASE "Scorpio"
  561.                     water = water + 6
  562.                     scorpio_Value = scorpio_Value + 6
  563.                     fixed = fixed + 5
  564.                 CASE "Sagittarius"
  565.                     fire = fire + 6
  566.                     sagittarius_Value = sagittarius_Value + 6
  567.                     mutable = mutable + 6
  568.                 CASE "Capricorn"
  569.                     earth = earth + 6
  570.                     capricorn_Value = capricorn_Value + 6
  571.                     cardinals = cardinals + 6
  572.                 CASE "Aquarius"
  573.                     air = air + 6
  574.                     Aquarius_Value = Aquarius_Value + 6
  575.                     fixed = fixed + 6
  576.                 CASE "Pisces"
  577.                     water = water + 6
  578.                     pisces_Value = pisces_Value + 6
  579.                     mutable = mutable + 6
  580.             END SELECT
  581.  
  582.             SELECT CASE mars$
  583.                 CASE "Aries"
  584.                     fire = fire + 6
  585.                     aries_Value = aries_Value + 6
  586.                     cardinals = cardinals + 6
  587.                 CASE "Taurus"
  588.                     earth = earth + 6
  589.                     taurus_Value = taurus_Value + 6
  590.                     fixed = fixed + 6
  591.                 CASE "Gemini"
  592.                     air = air + 6
  593.                     gemini_Value = gemini_Value + 6
  594.                     mutable = mutable + 6
  595.                 CASE "Cancer"
  596.                     water = water + 6
  597.                     cancer_Value = cancer_Value + 6
  598.                     cardinals = cardinals + 6
  599.                 CASE "Leo"
  600.                     fire = fire + 6
  601.                     leo_Value = leo_Value + 6
  602.                     fixed = fixed + 6
  603.                 CASE "Virgo"
  604.                     earth = earth + 6
  605.                     virgo_Value = virgo_Value + 6
  606.                     mutable = mutable + 6
  607.                 CASE "Libra"
  608.                     air = air + 6
  609.                     libra_Value = libra_Value + 6
  610.                     cardinals = cardinals + 6
  611.                 CASE "Scorpio"
  612.                     water = water + 6
  613.                     scorpio_Value = scorpio_Value + 6
  614.                     fixed = fixed + 6
  615.                 CASE "Sagittarius"
  616.                     fire = fire + 6
  617.                     sagittarius_Value = sagittarius_Value + 6
  618.                     mutable = mutable + 6
  619.                 CASE "Capricorn"
  620.                     earth = earth + 6
  621.                     capricorn_Value = capricorn_Value + 6
  622.                     cardinals = cardinals + 6
  623.                 CASE "Aquarius"
  624.                     air = air + 6
  625.                     Aquarius_Value = Aquarius_Value + 6
  626.                     fixed = fixed + 6
  627.                 CASE "Pisces"
  628.                     water = water + 6
  629.                     pisces_Value = pisces_Value + 6
  630.                     mutable = mutable + 6
  631.             END SELECT
  632.  
  633.             SELECT CASE Jupiter$
  634.                 CASE "Aries"
  635.                     fire = fire + 5
  636.                     aries_Value = aries_Value + 5
  637.                     cardinals = cardinals + 5
  638.                 CASE "Taurus"
  639.                     earth = earth + 5
  640.                     taurus_Value = taurus_Value + 5
  641.                     fixed = fixed + 5
  642.                 CASE "Gemini"
  643.                     air = air + 5
  644.                     gemini_Value = gemini_Value + 5
  645.                     mutable = mutable + 5
  646.                 CASE "Cancer"
  647.                     water = water + 5
  648.                     cancer_Value = cancer_Value + 5
  649.                     cardinals = cardinals + 5
  650.                 CASE "Leo"
  651.                     fire = fire + 5
  652.                     leo_Value = leo_Value + 5
  653.                     fixed = fixed + 5
  654.                 CASE "Virgo"
  655.                     earth = earth + 5
  656.                     virgo_Value = virgo_Value + 5
  657.                     mutable = mutable + 5
  658.                 CASE "Libra"
  659.                     air = air + 5
  660.                     libra_Value = libra_Value + 5
  661.                     cardinals = cardinals + 5
  662.                 CASE "Scorpio"
  663.                     water = water + 5
  664.                     scorpio_Value = scorpio_Value + 5
  665.                     fixed = fixed + 5
  666.                 CASE "Sagittarius"
  667.                     fire = fire + 5
  668.                     sagittarius_Value = sagittarius_Value + 5
  669.                     mutable = mutable + 5
  670.                 CASE "Capricorn"
  671.                     earth = earth + 5
  672.                     capricorn_Value = capricorn_Value + 5
  673.                     cardinals = cardinals + 5
  674.                 CASE "Aquarius"
  675.                     air = air + 5
  676.                     Aquarius_Value = Aquarius_Value + 5
  677.                     fixed = fixed + 5
  678.                 CASE "Pisces"
  679.                     water = water + 5
  680.                     pisces_Value = pisces_Value + 5
  681.                     mutable = mutable + 5
  682.             END SELECT
  683.  
  684.             SELECT CASE Saturn$
  685.                 CASE "Aries"
  686.                     fire = fire + 5
  687.                     aries_Value = aries_Value + 5
  688.                     cardinals = cardinals + 5
  689.                 CASE "Taurus"
  690.                     earth = earth + 5
  691.                     taurus_Value = taurus_Value + 5
  692.                     fixed = fixed + 5
  693.                 CASE "Gemini"
  694.                     air = air + 5
  695.                     gemini_Value = gemini_Value + 5
  696.                     mutable = mutable + 5
  697.                 CASE "Cancer"
  698.                     water = water + 5
  699.                     cancer_Value = cancer_Value + 5
  700.                     cardinals = cardinals + 5
  701.                 CASE "Leo"
  702.                     fire = fire + 5
  703.                     leo_Value = leo_Value + 5
  704.                     fixed = fixed + 5
  705.                 CASE "Virgo"
  706.                     earth = earth + 5
  707.                     virgo_Value = virgo_Value + 5
  708.                     mutable = mutable + 5
  709.                 CASE "Libra"
  710.                     air = air + 5
  711.                     libra_Value = libra_Value + 5
  712.                     cardinals = cardinals + 5
  713.                 CASE "Scorpio"
  714.                     water = water + 5
  715.                     scorpio_Value = scorpio_Value + 5
  716.                     fixed = fixed + 5
  717.                 CASE "Sagittarius"
  718.                     fire = fire + 5
  719.                     sagittarius_Value = sagittarius_Value + 5
  720.                     mutable = mutable + 5
  721.                 CASE "Capricorn"
  722.                     earth = earth + 5
  723.                     capricorn_Value = capricorn_Value + 5
  724.                     cardinals = cardinals + 5
  725.                 CASE "Aquarius"
  726.                     air = air + 5
  727.                     Aquarius_Value = Aquarius_Value + 5
  728.                     fixed = fixed + 5
  729.                 CASE "Pisces"
  730.                     water = water + 5
  731.                     pisces_Value = pisces_Value + 5
  732.                     mutable = mutable + 5
  733.             END SELECT
  734.  
  735.             SELECT CASE MC$
  736.                 CASE "Aries"
  737.                     fire = fire + 5
  738.                     aries_Value = aries_Value + 5
  739.                     cardinals = cardinals + 5
  740.                 CASE "Taurus"
  741.                     earth = earth + 5
  742.                     taurus_Value = taurus_Value + 5
  743.                     fixed = fixed + 5
  744.                 CASE "Gemini"
  745.                     air = air + 5
  746.                     gemini_Value = gemini_Value + 5
  747.                     mutable = mutable + 5
  748.                 CASE "Cancer"
  749.                     water = water + 5
  750.                     cancer_Value = cancer_Value + 5
  751.                     cardinals = cardinals + 5
  752.                 CASE "Leo"
  753.                     fire = fire + 5
  754.                     leo_Value = leo_Value + 5
  755.                     fixed = fixed + 5
  756.                 CASE "Virgo"
  757.                     earth = earth + 5
  758.                     virgo_Value = virgo_Value + 5
  759.                     mutable = mutable + 5
  760.                 CASE "Libra"
  761.                     air = air + 5
  762.                     libra_Value = libra_Value + 5
  763.                     cardinals = cardinals + 5
  764.                 CASE "Scorpio"
  765.                     water = water + 5
  766.                     scorpio_Value = scorpio_Value + 5
  767.                     fixed = fixed + 5
  768.                 CASE "Sagittarius"
  769.                     fire = fire + 5
  770.                     sagittarius_Value = sagittarius_Value + 5
  771.                     mutable = mutable + 5
  772.                 CASE "Capricorn"
  773.                     earth = earth + 5
  774.                     capricorn_Value = capricorn_Value + 5
  775.                     cardinals = cardinals + 5
  776.                 CASE "Aquarius"
  777.                     air = air + 5
  778.                     Aquarius_Value = Aquarius_Value + 5
  779.                     fixed = fixed + 5
  780.                 CASE "Pisces"
  781.                     water = water + 5
  782.                     pisces_Value = pisces_Value + 5
  783.                     mutable = mutable + 5
  784.             END SELECT
  785.  
  786.             SELECT CASE Chiron$
  787.                 CASE "Aries"
  788.                     fire = fire + 2
  789.                     aries_Value = aries_Value + 2
  790.                     cardinals = cardinals + 2
  791.                 CASE "Taurus"
  792.                     earth = earth + 2
  793.                     taurus_Value = taurus_Value + 2
  794.                     fixed = fixed + 2
  795.                 CASE "Gemini"
  796.                     air = air + 2
  797.                     gemini_Value = gemini_Value + 2
  798.                     mutable = mutable + 2
  799.                 CASE "Cancer"
  800.                     water = water + 2
  801.                     cancer_Value = cancer_Value + 2
  802.                     cardinals = cardinals + 2
  803.                 CASE "Leo"
  804.                     fire = fire + 2
  805.                     leo_Value = leo_Value + 2
  806.                     fixed = fixed + 2
  807.                 CASE "Virgo"
  808.                     earth = earth + 2
  809.                     virgo_Value = virgo_Value + 2
  810.                     mutable = mutable + 2
  811.                 CASE "Libra"
  812.                     air = air + 2
  813.                     libra_Value = libra_Value + 2
  814.                     cardinals = cardinals + 2
  815.                 CASE "Scorpio"
  816.                     water = water + 2
  817.                     scorpio_Value = scorpio_Value + 2
  818.                     fixed = fixed + 2
  819.                 CASE "Sagittarius"
  820.                     fire = fire + 2
  821.                     sagittarius_Value = sagittarius_Value + 2
  822.                     mutable = mutable + 2
  823.                 CASE "Capricorn"
  824.                     earth = earth + 2
  825.                     capricorn_Value = capricorn_Value + 2
  826.                     cardinals = cardinals + 2
  827.                 CASE "Aquarius"
  828.                     air = air + 2
  829.                     Aquarius_Value = Aquarius_Value + 2
  830.                     fixed = fixed + 2
  831.                 CASE "Pisces"
  832.                     water = water + 2
  833.                     pisces_Value = pisces_Value + 2
  834.                     mutable = mutable + 2
  835.             END SELECT
  836.  
  837.             SELECT CASE Uranus$
  838.                 CASE "Aries"
  839.                     fire = fire + 2
  840.                     aries_Value = aries_Value + 2
  841.                     cardinals = cardinals + 2
  842.                 CASE "Taurus"
  843.                     earth = earth + 2
  844.                     taurus_Value = taurus_Value + 2
  845.                     fixed = fixed + 2
  846.                 CASE "Gemini"
  847.                     air = air + 2
  848.                     gemini_Value = gemini_Value + 2
  849.                     mutable = mutable + 2
  850.                 CASE "Cancer"
  851.                     water = water + 2
  852.                     cancer_Value = cancer_Value + 2
  853.                     cardinals = cardinals + 2
  854.                 CASE "Leo"
  855.                     fire = fire + 2
  856.                     leo_Value = leo_Value + 2
  857.                     fixed = fixed + 2
  858.                 CASE "Virgo"
  859.                     earth = earth + 2
  860.                     virgo_Value = virgo_Value + 2
  861.                     mutable = mutable + 2
  862.                 CASE "Libra"
  863.                     air = air + 2
  864.                     libra_Value = libra_Value + 2
  865.                     cardinals = cardinals + 2
  866.                 CASE "Scorpio"
  867.                     water = water + 2
  868.                     scorpio_Value = scorpio_Value + 2
  869.                     fixed = fixed + 2
  870.                 CASE "Sagittarius"
  871.                     fire = fire + 2
  872.                     sagittarius_Value = sagittarius_Value + 2
  873.                     mutable = mutable + 2
  874.                 CASE "Capricorn"
  875.                     earth = earth + 2
  876.                     capricorn_Value = capricorn_Value + 2
  877.                     cardinals = cardinals + 2
  878.                 CASE "Aquarius"
  879.                     air = air + 2
  880.                     Aquarius_Value = Aquarius_Value + 2
  881.                     fixed = fixed + 2
  882.                 CASE "Pisces"
  883.                     water = water + 2
  884.                     pisces_Value = pisces_Value + 2
  885.                     mutable = mutable + 2
  886.             END SELECT
  887.  
  888.             SELECT CASE neptune$
  889.                 CASE "Aries"
  890.                     fire = fire + 2
  891.                     aries_Value = aries_Value + 2
  892.                     cardinals = cardinals + 2
  893.                 CASE "Taurus"
  894.                     earth = earth + 2
  895.                     taurus_Value = taurus_Value + 2
  896.                     fixed = fixed + 2
  897.                 CASE "Gemini"
  898.                     air = air + 2
  899.                     gemini_Value = gemini_Value + 2
  900.                     mutable = mutable + 2
  901.                 CASE "Cancer"
  902.                     water = water + 2
  903.                     cancer_Value = cancer_Value + 2
  904.                     cardinals = cardinals + 2
  905.                 CASE "Leo"
  906.                     fire = fire + 2
  907.                     leo_Value = leo_Value + 2
  908.                     fixed = fixed + 2
  909.                 CASE "Virgo"
  910.                     earth = earth + 2
  911.                     virgo_Value = virgo_Value + 2
  912.                     mutable = mutable + 2
  913.                 CASE "Libra"
  914.                     air = air + 2
  915.                     libra_Value = libra_Value + 2
  916.                     cardinals = cardinals + 2
  917.                 CASE "Scorpio"
  918.                     water = water + 2
  919.                     scorpio_Value = scorpio_Value + 2
  920.                     fixed = fixed + 2
  921.                 CASE "Sagittarius"
  922.                     fire = fire + 2
  923.                     sagittarius_Value = sagittarius_Value + 2
  924.                     mutable = mutable + 2
  925.                 CASE "Capricorn"
  926.                     earth = earth + 2
  927.                     capricorn_Value = capricorn_Value + 2
  928.                     cardinals = cardinals + 2
  929.                 CASE "Aquarius"
  930.                     air = air + 2
  931.                     Aquarius_Value = Aquarius_Value + 2
  932.                     fixed = fixed + 2
  933.                 CASE "Pisces"
  934.                     water = water + 2
  935.                     pisces_Value = pisces_Value + 2
  936.                     mutable = mutable + 2
  937.             END SELECT
  938.  
  939.             SELECT CASE Pluto$
  940.                 CASE "Aries"
  941.                     fire = fire + 2
  942.                     aries_Value = aries_Value + 2
  943.                     cardinals = cardinals + 2
  944.                 CASE "Taurus"
  945.                     earth = earth + 2
  946.                     taurus_Value = taurus_Value + 2
  947.                     fixed = fixed + 2
  948.                 CASE "Gemini"
  949.                     air = air + 2
  950.                     gemini_Value = gemini_Value + 2
  951.                     mutable = mutable + 2
  952.                 CASE "Cancer"
  953.                     water = water + 2
  954.                     cancer_Value = cancer_Value + 2
  955.                     cardinals = cardinals + 2
  956.                 CASE "Leo"
  957.                     fire = fire + 2
  958.                     leo_Value = leo_Value + 2
  959.                     fixed = fixed + 2
  960.                 CASE "Virgo"
  961.                     earth = earth + 2
  962.                     virgo_Value = virgo_Value + 2
  963.                     mutable = mutable + 2
  964.                 CASE "Libra"
  965.                     air = air + 2
  966.                     libra_Value = libra_Value + 2
  967.                     cardinals = cardinals + 2
  968.                 CASE "Scorpio"
  969.                     water = water + 2
  970.                     scorpio_Value = scorpio_Value + 2
  971.                     fixed = fixed + 2
  972.                 CASE "Sagittarius"
  973.                     fire = fire + 2
  974.                     sagittarius_Value = sagittarius_Value + 2
  975.                     mutable = mutable + 2
  976.                 CASE "Capricorn"
  977.                     earth = earth + 2
  978.                     capricorn_Value = capricorn_Value + 2
  979.                     cardinals = cardinals + 2
  980.                 CASE "Aquarius"
  981.                     air = air + 2
  982.                     Aquarius_Value = Aquarius_Value + 2
  983.                     fixed = fixed + 2
  984.                 CASE "Pisces"
  985.                     water = water + 2
  986.                     pisces_Value = pisces_Value + 2
  987.                     mutable = mutable + 2
  988.             END SELECT
  989.  
  990.             SELECT CASE moon_Node$
  991.                 CASE "Aries"
  992.                     fire = fire + 2
  993.                     aries_Value = aries_Value + 2
  994.                     cardinals = cardinals + 2
  995.                 CASE "Taurus"
  996.                     earth = earth + 2
  997.                     taurus_Value = taurus_Value + 2
  998.                     fixed = fixed + 2
  999.                 CASE "Gemini"
  1000.                     air = air + 2
  1001.                     gemini_Value = gemini_Value + 2
  1002.                     mutable = mutable + 2
  1003.                 CASE "Cancer"
  1004.                     water = water + 2
  1005.                     cancer_Value = cancer_Value + 2
  1006.                     cardinals = cardinals + 2
  1007.                 CASE "Leo"
  1008.                     fire = fire + 2
  1009.                     leo_Value = leo_Value + 2
  1010.                     fixed = fixed + 2
  1011.                 CASE "Virgo"
  1012.                     earth = earth + 2
  1013.                     virgo_Value = virgo_Value + 2
  1014.                     mutable = mutable + 2
  1015.                 CASE "Libra"
  1016.                     air = air + 2
  1017.                     libra_Value = libra_Value + 2
  1018.                     cardinals = cardinals + 2
  1019.                 CASE "Scorpio"
  1020.                     water = water + 2
  1021.                     scorpio_Value = scorpio_Value + 2
  1022.                     fixed = fixed + 2
  1023.                 CASE "Sagittarius"
  1024.                     fire = fire + 2
  1025.                     sagittarius_Value = sagittarius_Value + 2
  1026.                     mutable = mutable + 2
  1027.                 CASE "Capricorn"
  1028.                     earth = earth + 2
  1029.                     capricorn_Value = capricorn_Value + 2
  1030.                     cardinals = cardinals + 2
  1031.                 CASE "Aquarius"
  1032.                     air = air + 2
  1033.                     Aquarius_Value = Aquarius_Value + 2
  1034.                     fixed = fixed + 2
  1035.                 CASE "Pisces"
  1036.                     water = water + 2
  1037.                     pisces_Value = pisces_Value + 2
  1038.                     mutable = mutable + 2
  1039.             END SELECT
  1040.  
  1041.             SELECT CASE Lilith$
  1042.                 CASE "Aries"
  1043.                     fire = fire + 1
  1044.                     aries_Value = aries_Value + 1
  1045.                     cardinals = cardinals + 1
  1046.                 CASE "Taurus"
  1047.                     earth = earth + 1
  1048.                     taurus_Value = taurus_Value + 1
  1049.                     fixed = fixed + 1
  1050.                 CASE "Gemini"
  1051.                     air = air + 1
  1052.                     gemini_Value = gemini_Value + 1
  1053.                     mutable = mutable + 1
  1054.                 CASE "Cancer"
  1055.                     water = water + 1
  1056.                     cancer_Value = cancer_Value + 1
  1057.                     cardinals = cardinals + 1
  1058.                 CASE "Leo"
  1059.                     fire = fire + 1
  1060.                     leo_Value = leo_Value + 1
  1061.                     fixed = fixed + 1
  1062.                 CASE "Virgo"
  1063.                     earth = earth + 1
  1064.                     virgo_Value = virgo_Value + 1
  1065.                     mutable = mutable + 1
  1066.                 CASE "Libra"
  1067.                     air = air + 1
  1068.                     libra_Value = libra_Value + 1
  1069.                     cardinals = cardinals + 1
  1070.                 CASE "Scorpio"
  1071.                     water = water + 1
  1072.                     scorpio_Value = scorpio_Value + 1
  1073.                     fixed = fixed + 1
  1074.                 CASE "Sagittarius"
  1075.                     fire = fire + 1
  1076.                     sagittarius_Value = sagittarius_Value + 1
  1077.                     mutable = mutable + 1
  1078.                 CASE "Capricorn"
  1079.                     earth = earth + 1
  1080.                     capricorn_Value = capricorn_Value + 1
  1081.                     cardinals = cardinals + 1
  1082.                 CASE "Aquarius"
  1083.                     air = air + 1
  1084.                     Aquarius_Value = Aquarius_Value + 1
  1085.                     fixed = fixed + 1
  1086.                 CASE "Pisces"
  1087.                     water = water + 1
  1088.                     pisces_Value = pisces_Value + 1
  1089.                     mutable = mutable + 1
  1090.             END SELECT
  1091.  
  1092.             elements = earth + fire + water + air
  1093.             Earth_Percentage = 100 / elements * earth
  1094.             Fire_Percentage# = 100 / elements * fire
  1095.             Water_Percentage# = 100 / elements * water
  1096.             Air_Percentage# = 100 / elements * air
  1097.  
  1098.             Earth_percentage_Rounded# = INT(Earth_Percentage * 10 ^ 2 + .5): Earth_percentage_Rounded# = Earth_percentage_Rounded# / 100
  1099.             Fire_percentage_Rounded# = INT(Fire_Percentage# * 10 ^ 2 + .5): Fire_percentage_Rounded# = Fire_percentage_Rounded# / 100
  1100.             Water_percentage_Rounded# = INT(Water_Percentage# * 10 ^ 2 + .5): Water_percentage_Rounded# = Water_percentage_Rounded# / 100
  1101.             Air_percentage_Rounded# = INT(Air_Percentage# * 10 ^ 2 + .5): Air_percentage_Rounded# = Air_percentage_Rounded# / 100
  1102.  
  1103.             qualities = cardinals + fixed + mutable
  1104.             cardinal_Percentage# = 100 / qualities * cardinals
  1105.             fixed_Percentage# = 100 / qualities * fixed
  1106.             mutable_Percentage# = 100 / qualities * mutable
  1107.  
  1108.             cardinal_percentage_Rounded# = INT(cardinal_Percentage# * 10 ^ 2 + .5): cardinal_percentage_Rounded# = cardinal_percentage_Rounded# / 100
  1109.             fixed_percentage_Rounded# = INT(fixed_Percentage# * 10 ^ 2 + .5): fixed_percentage_Rounded# = fixed_percentage_Rounded# / 100
  1110.             mutable_percentage_Rounded# = INT(mutable_Percentage# * 10 ^ 2 + .5): mutable_percentage_Rounded# = mutable_percentage_Rounded# / 100
  1111.  
  1112.             all_Signs = aries_Value + taurus_Value + gemini_Value + cancer_Value + leo_Value + virgo_Value + libra_Value + scorpio_Value + sagittarius_Value + capricorn_Value + Aquarius_Value + pisces_Value
  1113.             Aries_Percentage = 100 / all_Signs * aries_Value
  1114.             Taurus_Percentage = 100 / all_Signs * taurus_Value
  1115.             Gemini_Percentage = 100 / all_Signs * gemini_Value
  1116.             Cancer_Percentage = 100 / all_Signs * cancer_Value
  1117.             Leo_Percentage = 100 / all_Signs * leo_Value
  1118.             Virgo_Percentage = 100 / all_Signs * virgo_Value
  1119.             Libra_Percentage = 100 / all_Signs * libra_Value
  1120.             Scorpio_Percentage = 100 / all_Signs * scorpio_Value
  1121.             Sagittarius_Percentage = 100 / all_Signs * sagittarius_Value
  1122.             Capricorn_Percentage = 100 / all_Signs * capricorn_Value
  1123.             Aquarius_Percentage = 100 / all_Signs * Aquarius_Value
  1124.             Pisces_Percentage = 100 / all_Signs * pisces_Value
  1125.  
  1126.             Aries_percentage_Rounded# = INT(Aries_Percentage * 10 ^ 2 + .5): Aries_percentage_Rounded# = Aries_percentage_Rounded# / 100
  1127.             Taurus_percentage_Rounded# = INT(Taurus_Percentage * 10 ^ 2 + .5): Taurus_percentage_Rounded# = Taurus_percentage_Rounded# / 100
  1128.             Gemini_percentage_Rounded# = INT(Gemini_Percentage * 10 ^ 2 + .5): Gemini_percentage_Rounded# = Gemini_percentage_Rounded# / 100
  1129.             Cancer_percentage_Rounded# = INT(Cancer_Percentage * 10 ^ 2 + .5): Cancer_percentage_Rounded# = Cancer_percentage_Rounded# / 100
  1130.             Leo_percentage_Rounded# = INT(Leo_Percentage * 10 ^ 2 + .5): Leo_percentage_Rounded# = Leo_percentage_Rounded# / 100
  1131.             Virgo_percentage_Rounded# = INT(Virgo_Percentage * 10 ^ 2 + .5): Virgo_percentage_Rounded# = Virgo_percentage_Rounded# / 100
  1132.             Libra_percentage_Rounded# = INT(Libra_Percentage * 10 ^ 2 + .5): Libra_percentage_Rounded# = Libra_percentage_Rounded# / 100
  1133.             Scorpio_percentage_Rounded# = INT(Scorpio_Percentage * 10 ^ 2 + .5): Scorpio_percentage_Rounded# = Scorpio_percentage_Rounded# / 100
  1134.             Sagittarius_percentage_Rounded# = INT(Sagittarius_Percentage * 10 ^ 2 + .5): Sagittarius_percentage_Rounded# = Sagittarius_percentage_Rounded# / 100
  1135.             Capricorn_percentage_Rounded# = INT(Capricorn_Percentage * 10 ^ 2 + .5): Capricorn_percentage_Rounded# = Capricorn_percentage_Rounded# / 100
  1136.             Aquarius_percentage_Rounded# = INT(Aquarius_Percentage * 10 ^ 2 + .5): Aquarius_percentage_Rounded# = Aquarius_percentage_Rounded# / 100
  1137.             Pisces_percentage_Rounded# = INT(Pisces_Percentage * 10 ^ 2 + .5): Pisces_percentage_Rounded# = Pisces_percentage_Rounded# / 100
  1138.  
  1139.             all_Houses = house(1) + house(2) + house(3) + house(4) + house(5) + house(6) + house(7) + house(8) + house(9) + house(10) + house(11) + house(12)
  1140.             house1_Percentage = 100 / all_Houses * house(1)
  1141.             house2_Percentage = 100 / all_Houses * house(2)
  1142.             house3_Percentage = 100 / all_Houses * house(3)
  1143.             house4_Percentage = 100 / all_Houses * house(4)
  1144.             house5_Percentage = 100 / all_Houses * house(5)
  1145.             house6_Percentage = 100 / all_Houses * house(6)
  1146.             house7_Percentage = 100 / all_Houses * house(7)
  1147.             house8_Percentage = 100 / all_Houses * house(8)
  1148.             house9_Percentage = 100 / all_Houses * house(9)
  1149.             house10_Percentage = 100 / all_Houses * house(10)
  1150.             house11_Percentage = 100 / all_Houses * house(11)
  1151.             house12_Percentage = 100 / all_Houses * house(12)
  1152.  
  1153.             house1_percentage_Rounded# = INT(house1_Percentage * 10 ^ 2 + .5): house1_percentage_Rounded# = house1_percentage_Rounded# / 100
  1154.             house2_percentage_Rounded# = INT(house2_Percentage * 10 ^ 2 + .5): house2_percentage_Rounded# = house2_percentage_Rounded# / 100
  1155.             house3_percentage_Rounded# = INT(house3_Percentage * 10 ^ 2 + .5): house3_percentage_Rounded# = house3_percentage_Rounded# / 100
  1156.             house4_percentage_Rounded# = INT(house4_Percentage * 10 ^ 2 + .5): house4_percentage_Rounded# = house4_percentage_Rounded# / 100
  1157.             house5_percentage_Rounded# = INT(house5_Percentage * 10 ^ 2 + .5): house5_percentage_Rounded# = house5_percentage_Rounded# / 100
  1158.             house6_percentage_Rounded# = INT(house6_Percentage * 10 ^ 2 + .5): house6_percentage_Rounded# = house6_percentage_Rounded# / 100
  1159.             house7_percentage_Rounded# = INT(house7_Percentage * 10 ^ 2 + .5): house7_percentage_Rounded# = house7_percentage_Rounded# / 100
  1160.             house8_percentage_Rounded# = INT(house8_Percentage * 10 ^ 2 + .5): house8_percentage_Rounded# = house8_percentage_Rounded# / 100
  1161.             house9_percentage_Rounded# = INT(house9_Percentage * 10 ^ 2 + .5): house9_percentage_Rounded# = house9_percentage_Rounded# / 100
  1162.             house10_percentage_Rounded# = INT(house10_Percentage * 10 ^ 2 + .5): house10_percentage_Rounded# = house10_percentage_Rounded# / 100
  1163.             house11_percentage_Rounded# = INT(house11_Percentage * 10 ^ 2 + .5): house11_percentage_Rounded# = house11_percentage_Rounded# / 100
  1164.             house12_percentage_Rounded# = INT(house12_Percentage * 10 ^ 2 + .5): house12_percentage_Rounded# = house12_percentage_Rounded# / 100
  1165.  
  1166.             largest = 0
  1167.             IF aries_Value > largest THEN largest = aries_Value: dom_Sign$ = "Aries"
  1168.             IF taurus_Value > largest THEN largest = taurus_Value: dom_Sign$ = "Taurus"
  1169.             IF gemini_Value > largest THEN largest = gemini_Value: dom_Sign$ = "Gemini"
  1170.             IF cancer_Value > largest THEN largest = cancer_Value: dom_Sign$ = "Cancer"
  1171.             IF leo_Value > largest THEN largest = leo_Value: dom_Sign$ = "Leo"
  1172.             IF virgo_Value > largest THEN largest = virgo_Value: dom_Sign$ = "Virgo"
  1173.             IF libra_Value > largest THEN largest = libra_Value: dom_Sign$ = "Libra"
  1174.             IF scorpio_Value > largest THEN largest = scorpio_Value: dom_Sign$ = "Scorpio"
  1175.             IF sagittarius_Value > largest THEN largest = sagittarius_Value: dom_Sign$ = "Sagittarius"
  1176.             IF capricorn_Value > largest THEN largest = capricorn_Value: dom_Sign$ = "Capricorn"
  1177.             IF Aquarius_Value > largest THEN largest = Aquarius_Value: dom_Sign$ = "Aquarius"
  1178.             IF pisces_Value > largest THEN largest = pisces_Value: dom_Sign$ = "Pisces"
  1179.             signs_percentage = 100 / all_Signs * largest
  1180.             signs_percentage_Rounded# = INT(signs_percentage * 10 ^ 2 + .5): signs_percentage_Rounded# = signs_percentage_Rounded# / 100
  1181.  
  1182.             largesthouse = 0
  1183.             IF house(1) > largesthouse THEN largesthouse = house(1): dom_House = 1
  1184.             IF house(2) > largesthouse THEN largesthouse = house(2): dom_House = 2
  1185.             IF house(3) > largesthouse THEN largesthouse = house(3): dom_House = 3
  1186.             IF house(4) > largesthouse THEN largesthouse = house(4): dom_House = 4
  1187.             IF house(5) > largesthouse THEN largesthouse = house(5): dom_House = 5
  1188.             IF house(6) > largesthouse THEN largesthouse = house(6): dom_House = 6
  1189.             IF house(7) > largesthouse THEN largesthouse = house(7): dom_House = 7
  1190.             IF house(8) > largesthouse THEN largesthouse = house(8): dom_House = 8
  1191.             IF house(9) > largesthouse THEN largesthouse = house(9): dom_House = 9
  1192.             IF house(10) > largesthouse THEN largesthouse = house(10): dom_House = 10
  1193.             IF house(11) > largesthouse THEN largesthouse = house(11): dom_House = 11
  1194.             IF house(12) > largesthouse THEN largesthouse = house(12): dom_House = 12
  1195.             largesthouse_percentage = 100 / all_Houses * largesthouse
  1196.             largesthouse_percentage_Rounded# = INT(largesthouse_percentage * 10 ^ 2 + .5): largesthouse_percentage_Rounded# = largesthouse_percentage_Rounded# / 100
  1197.  
  1198.             Quad1 = house(1) + house(2) + house(3)
  1199.             Quad2 = house(4) + house(5) + house(6)
  1200.             Quad3 = house(7) + house(8) + house(9)
  1201.             Quad4 = house(10) + house(11) + house(12)
  1202.             all_Quads = Quad1 + Quad2 + Quad3 + Quad4
  1203.  
  1204.             largedom_Quad = 0
  1205.             IF Quad1 > largedom_Quad THEN largedom_Quad = Quad1: dom_Quad$ = "1st aka Fire or energy quadrant"
  1206.             IF Quad2 > largedom_Quad THEN largedom_Quad = Quad2: dom_Quad$ = "2nd aka Water or emotional quadrant"
  1207.             IF Quad3 > largedom_Quad THEN largedom_Quad = Quad3: dom_Quad$ = "3rd aka Air or intellectual quadrant"
  1208.             IF Quad4 > largedom_Quad THEN largedom_Quad = Quad4: dom_Quad$ = "4th aka Earth or reality quadrant"
  1209.             large_dom_Quad_percentage = 100 / all_Quads * largedom_Quad
  1210.             large_dom_Quad_percentage_Rounded# = INT(large_dom_Quad_percentage * 10 ^ 2 + .5): large_dom_Quad_percentage_Rounded# = large_dom_Quad_percentage_Rounded# / 100
  1211.  
  1212.             quad1_Percentage = 100 / all_Quads * Quad1
  1213.             quad2_Percentage = 100 / all_Quads * Quad2
  1214.             quad3_Percentage = 100 / all_Quads * Quad3
  1215.             quad4_Percentage = 100 / all_Quads * Quad4
  1216.  
  1217.             quad1_percentage_Rounded# = INT(quad1_Percentage * 10 ^ 2 + .5): quad1_percentage_Rounded# = quad1_percentage_Rounded# / 100
  1218.             quad2_percentage_Rounded# = INT(quad2_Percentage * 10 ^ 2 + .5): quad2_percentage_Rounded# = quad2_percentage_Rounded# / 100
  1219.             quad3_percentage_Rounded# = INT(quad3_Percentage * 10 ^ 2 + .5): quad3_percentage_Rounded# = quad3_percentage_Rounded# / 100
  1220.             quad4_percentage_Rounded# = INT(quad4_Percentage * 10 ^ 2 + .5): quad4_percentage_Rounded# = quad4_percentage_Rounded# / 100
  1221.  
  1222.             earth_String$ = "The sum of the earth signs in this birth chart is" + STR$(earth) + ". Thus, its owner is determined by the element of earth by" + STR$(Earth_percentage_Rounded#) + "%."
  1223.             fire_String$ = "The sum of the fire signs in this birth chart is" + STR$(fire) + ". Thus, its owner is determined by the element of fire by" + STR$(Fire_percentage_Rounded#) + "%."
  1224.             water_String$ = "The sum of the water signs in this birth chart is" + STR$(water) + ". Thus, its owner is determined by the element of water by" + STR$(Water_percentage_Rounded#) + "%."
  1225.             air_String$ = "The sum of the air signs in this birth chart is" + STR$(air) + ". Thus, its owner is determined by the element of air by" + STR$(Air_percentage_Rounded#) + "%."
  1226.  
  1227.             active_Signs = fire + earth
  1228.             passive_Signs = water + air
  1229.             polarity_Percentage = active_Signs + passive_Signs
  1230.  
  1231.             active_Percentage = 100 / polarity_Percentage * active_Signs
  1232.             passive_Percentage = 100 / polarity_Percentage * passive_Signs
  1233.  
  1234.             active_percentage_Rounded# = INT(active_Percentage * 10 ^ 2 + .5): active_percentage_Rounded# = active_percentage_Rounded# / 100
  1235.             passive_percentage_Rounded# = INT(passive_Percentage * 10 ^ 2 + .5): passive_percentage_Rounded# = passive_percentage_Rounded# / 100
  1236.  
  1237.             active_String$ = "The sum of the active signs in this birth chart is" + STR$(active_Signs) + ". Thus, its owner is characterized by active polarities at" + STR$(active_percentage_Rounded#) + "%."
  1238.             passive_String$ = "The sum of the passive signs in this birth chart is" + STR$(passive_Signs) + ". Thus, its owner is characterized by passive polarities at" + STR$(passive_percentage_Rounded#) + "%."
  1239.  
  1240.             aries_String$ = "Strength of Aries:" + STR$(aries_Value) + " (" + STR$(Aries_percentage_Rounded#) + "%)"
  1241.             taurus_String$ = "Strength of Taurus:" + STR$(taurus_Value) + " (" + STR$(Taurus_percentage_Rounded#) + "%)"
  1242.             gemini_String$ = "Strength of Gemini:" + STR$(gemini_Value) + " (" + STR$(Gemini_percentage_Rounded#) + "%)"
  1243.             cancer_String$ = "Strength of Cancer:" + STR$(cancer_Value) + " (" + STR$(Cancer_percentage_Rounded#) + "%)"
  1244.             leo_String$ = "Strength of Leo:" + STR$(leo_Value) + " (" + STR$(Leo_percentage_Rounded#) + "%)"
  1245.             virgo_String$ = "Strength of Virgo:" + STR$(virgo_Value) + " (" + STR$(Virgo_percentage_Rounded#) + "%)"
  1246.             libra_String$ = "Strength of Libra:" + STR$(libra_Value) + " (" + STR$(Libra_percentage_Rounded#) + "%)"
  1247.             scorpio_String$ = "Strength of Scorpio:" + STR$(scorpio_Value) + " (" + STR$(Scorpio_percentage_Rounded#) + "%)"
  1248.             sagittarius_String$ = "Strength of Sagittarius:" + STR$(sagittarius_Value) + " (" + STR$(Sagittarius_percentage_Rounded#) + "%)"
  1249.             capricorn_String$ = "Strength of Capricorn:" + STR$(capricorn_Value) + " (" + STR$(Capricorn_percentage_Rounded#) + "%)"
  1250.             Aquarius_String$ = "Strength of Aquarius:" + STR$(Aquarius_Value) + " (" + STR$(Aquarius_percentage_Rounded#) + "%)"
  1251.             pisces_String$ = "Strength of Pisces:" + STR$(pisces_Value) + " (" + STR$(Pisces_percentage_Rounded#) + "%)"
  1252.  
  1253.             cardinal_String$ = "The sum of the cardinal signs in this birth chart is" + STR$(cardinals) + ". Thus, its owner is characterized by cardinal qualities at" + STR$(cardinal_percentage_Rounded#) + "%."
  1254.             fixed_String$ = "The sum of the fixed signs in this birth chart is" + STR$(fixed) + ". Thus, its owner is characterized by fixed qualities at" + STR$(fixed_percentage_Rounded#) + "%."
  1255.             mutable_String$ = "The sum of the mutable signs in this birth chart is" + STR$(mutable) + ". Thus, its owner is characterized by mutable qualities at" + STR$(mutable_percentage_Rounded#) + "%."
  1256.  
  1257.             house1_String$ = "Strength of the 1st house: " + STR$(house(1)) + " (" + STR$(house1_percentage_Rounded#) + "%)"
  1258.             house2_String$ = "Strength of the 2nd house: " + STR$(house(2)) + " (" + STR$(house2_percentage_Rounded#) + "%)"
  1259.             house3_String$ = "Strength of the 3rd house: " + STR$(house(3)) + " (" + STR$(house3_percentage_Rounded#) + "%)"
  1260.             house4_String$ = "Strength of the 4th house: " + STR$(house(4)) + " (" + STR$(house4_percentage_Rounded#) + "%)"
  1261.             house5_String$ = "Strength of the 5th house: " + STR$(house(5)) + " (" + STR$(house5_percentage_Rounded#) + "%)"
  1262.             house6_String$ = "Strength of the 6th house: " + STR$(house(6)) + " (" + STR$(house6_percentage_Rounded#) + "%)"
  1263.             house7_String$ = "Strength of the 7th house: " + STR$(house(7)) + " (" + STR$(house7_percentage_Rounded#) + "%)"
  1264.             house8_String$ = "Strength of the 8th house: " + STR$(house(8)) + " (" + STR$(house8_percentage_Rounded#) + "%)"
  1265.             house9_String$ = "Strength of the 9th house: " + STR$(house(9)) + " (" + STR$(house9_percentage_Rounded#) + "%)"
  1266.             house10_String$ = "Strength of the 10th house: " + STR$(house(10)) + " (" + STR$(house10_percentage_Rounded#) + "%)"
  1267.             house11_String$ = "Strength of the 11th house: " + STR$(house(11)) + " (" + STR$(house11_percentage_Rounded#) + "%)"
  1268.             house12_String$ = "Strength of the 12th house: " + STR$(house(12)) + " (" + STR$(house12_percentage_Rounded#) + "%)"
  1269.  
  1270.             Quad1string$ = "Strength of the 1st quadrant: " + STR$(Quad1) + " (" + STR$(quad1_percentage_Rounded#) + "%)"
  1271.             Quad2string$ = "Strength of the 2nd quadrant: " + STR$(Quad2) + " (" + STR$(quad2_percentage_Rounded#) + "%)"
  1272.             Quad3string$ = "Strength of the 3rd quadrant: " + STR$(Quad3) + " (" + STR$(quad3_percentage_Rounded#) + "%)"
  1273.             Quad4string$ = "Strength of the 4th quadrant: " + STR$(Quad4) + " (" + STR$(quad4_percentage_Rounded#) + "%)"
  1274.  
  1275.             DECLARE SUB quicksort (min%, max%)
  1276.             DECLARE SUB display ()
  1277.  
  1278.             elements_Table$(0) = earth_String$
  1279.             elements_table_Values(0) = earth
  1280.             elements_Table$(1) = fire_String$
  1281.             elements_table_Values(1) = fire
  1282.             elements_Table$(2) = water_String$
  1283.             elements_table_Values(2) = water
  1284.             elements_Table$(3) = air_String$
  1285.             elements_table_Values(3) = air
  1286.  
  1287.             signs_Table$(0) = aries_String$
  1288.             signs_table_Values(0) = aries_Value
  1289.             signs_Table$(1) = taurus_String$
  1290.             signs_table_Values(1) = taurus_Value
  1291.             signs_Table$(2) = gemini_String$
  1292.             signs_table_Values(2) = gemini_Value
  1293.             signs_Table$(3) = cancer_String$
  1294.             signs_table_Values(3) = cancer_Value
  1295.             signs_Table$(4) = leo_String$
  1296.             signs_table_Values(4) = leo_Value
  1297.             signs_Table$(5) = virgo_String$
  1298.             signs_table_Values(5) = virgo_Value
  1299.             signs_Table$(6) = libra_String$
  1300.             signs_table_Values(6) = libra_Value
  1301.             signs_Table$(7) = scorpio_String$
  1302.             signs_table_Values(7) = scorpio_Value
  1303.             signs_Table$(8) = sagittarius_String$
  1304.             signs_table_Values(8) = sagittarius_Value
  1305.             signs_Table$(9) = capricorn_String$
  1306.             signs_table_Values(9) = capricorn_Value
  1307.             signs_Table$(10) = Aquarius_String$
  1308.             signs_table_Values(10) = Aquarius_Value
  1309.             signs_Table$(11) = pisces_String$
  1310.             signs_table_Values(11) = pisces_Value
  1311.  
  1312.             qualities_Table$(0) = cardinal_String$
  1313.             qualities_table_Values(0) = cardinals
  1314.             qualities_Table$(1) = fixed_String$
  1315.             qualities_table_Values(1) = fixed
  1316.             qualities_Table$(2) = mutable_String$
  1317.             qualities_table_Values(2) = mutable
  1318.  
  1319.             polarities_Table$(0) = active_String$
  1320.             polarities_table_Value(0) = active_Signs
  1321.             polarities_Table$(1) = passive_String$
  1322.             polarities_table_Value(1) = passive_Signs
  1323.  
  1324.             houses_Table$(0) = house1_String$
  1325.             houses_table_Values(0) = house(1)
  1326.             houses_Table$(1) = house2_String$
  1327.             houses_table_Values(1) = house(2)
  1328.             houses_Table$(2) = house3_String$
  1329.             houses_table_Values(2) = house(3)
  1330.             houses_Table$(3) = house4_String$
  1331.             houses_table_Values(3) = house(4)
  1332.             houses_Table$(4) = house5_String$
  1333.             houses_table_Values(4) = house(5)
  1334.             houses_Table$(5) = house6_String$
  1335.             houses_table_Values(5) = house(6)
  1336.             houses_Table$(6) = house7_String$
  1337.             houses_table_Values(6) = house(7)
  1338.             houses_Table$(7) = house8_String$
  1339.             houses_table_Values(7) = house(8)
  1340.             houses_Table$(8) = house9_String$
  1341.             houses_table_Values(8) = house(9)
  1342.             houses_Table$(9) = house10_String$
  1343.             houses_table_Values(9) = house(10)
  1344.             houses_Table$(10) = house11_String$
  1345.             houses_table_Values(10) = house(11)
  1346.             houses_Table$(11) = house12_String$
  1347.             houses_table_Values(11) = house(12)
  1348.  
  1349.             quadrants_Table$(0) = Quad1string$
  1350.             quadrants_table_Values(0) = Quad1
  1351.             quadrants_Table$(1) = Quad2string$
  1352.             quadrants_table_Values(1) = Quad2
  1353.             quadrants_Table$(2) = Quad3string$
  1354.             quadrants_table_Values(2) = Quad3
  1355.             quadrants_Table$(3) = Quad4string$
  1356.             quadrants_table_Values(3) = Quad4
  1357.  
  1358.             PRINT
  1359.             COLOR 8
  1360.             PRINT "Elements:"
  1361.             PRINT
  1362.             COLOR 0
  1363.             quicksort 0, 3, elements_Table$(), elements_table_Values()
  1364.             display elements_Table$()
  1365.             PRINT
  1366.             COLOR 8
  1367.             PRINT "Dominance of the signs:"
  1368.             PRINT
  1369.             COLOR 0
  1370.             quicksort 0, 11, signs_Table$(), signs_table_Values()
  1371.             display signs_Table$()
  1372.             PRINT
  1373.             PRINT "At a strength of"; largest; "("; signs_percentage_Rounded#; "% ), "; dom_Sign$; " is the dominant sign."
  1374.             PRINT
  1375.             COLOR 8
  1376.             PRINT "Qualities:"
  1377.             PRINT
  1378.             COLOR 0
  1379.             quicksort 0, 2, qualities_Table$(), qualities_table_Values()
  1380.             display qualities_Table$()
  1381.             PRINT
  1382.             COLOR 8
  1383.             PRINT "Polarities:"
  1384.             PRINT
  1385.             COLOR 0
  1386.             quicksort 0, 1, polarities_Table$(), polarities_table_Values()
  1387.             display polarities_Table$()
  1388.             PRINT
  1389.             COLOR 8
  1390.             PRINT "Dominance of the houses:"
  1391.             PRINT
  1392.             COLOR 0
  1393.             quicksort 0, 11, houses_Table$(), houses_table_Values()
  1394.             display houses_Table$()
  1395.             PRINT
  1396.             PRINT "The dominant house in this birth chart is house no."; dom_House; "("; largesthouse_percentage_Rounded#; "% )."
  1397.             PRINT
  1398.             COLOR 8
  1399.             PRINT "Dominance of the quadrants:"
  1400.             COLOR 0
  1401.             PRINT
  1402.             quicksort 0, 3, quadrants_Table$(), quadrants_table_Values()
  1403.             display quadrants_Table$()
  1404.             PRINT
  1405.             PRINT "The dominant quadrant is the "; dom_Quad$; " at "; large_dom_Quad_percentage_Rounded#; "%."
  1406.             PRINT
  1407.             PRINT "For the dominant celestial body in this birth chart, enter its birth place and birth time at www.astro.com and then select the 'Color Oracle'."
  1408.     END SELECT
  1409.  
  1410. SUB display (a$())
  1411.     FOR i% = 0 TO UBOUND(a$)
  1412.         AddItem ListBox1 a$(i%)
  1413.     NEXT
  1414.  
  1415. SUB quicksort (min%, max%, a$(), b())
  1416.     IF min% < max% THEN
  1417.         p1% = min%
  1418.         p2% = max%
  1419.         mid = b((min% + max%) \ 2) '**
  1420.         DO UNTIL p1% > p2%
  1421.             DO WHILE b(p1%) > mid '**<<invert this unequality to sort ascending
  1422.                 p1% = p1% + 1
  1423.             LOOP
  1424.             DO WHILE mid > b(p2%) '**<<this one too
  1425.                 p2% = p2% - 1
  1426.             LOOP
  1427.             IF p1% <= p2% THEN
  1428.                 SWAP a$(p1%), a$(p2%) '**
  1429.                 SWAP b(p1%), b(p2%) '**
  1430.                 p1% = p1% + 1
  1431.                 p2% = p2% - 1
  1432.             END IF
  1433.         LOOP
  1434.         IF min% < p2% THEN quicksort min%, p2%, a$(), b()
  1435.         IF p1% < max% THEN quicksort p1%, max%, a$(), b()
  1436.     END IF
  1437.  
  1438.  
  1439. SUB __UI_MouseEnter (id AS LONG)
  1440.     SELECT CASE id
  1441.         CASE Form1
  1442.  
  1443.         CASE Chartowner
  1444.  
  1445.         CASE TextBox1
  1446.  
  1447.         CASE __name
  1448.  
  1449.         CASE TextBox2
  1450.  
  1451.         CASE birthdate
  1452.  
  1453.         CASE TextBox3
  1454.  
  1455.         CASE birthtime
  1456.  
  1457.         CASE TextBox4
  1458.  
  1459.         CASE birthplace
  1460.  
  1461.     END SELECT
  1462.  
  1463. SUB __UI_MouseLeave (id AS LONG)
  1464.     SELECT CASE id
  1465.         CASE Form1
  1466.  
  1467.         CASE Chartowner
  1468.  
  1469.         CASE TextBox1
  1470.  
  1471.         CASE __name
  1472.  
  1473.         CASE TextBox2
  1474.  
  1475.         CASE birthdate
  1476.  
  1477.         CASE TextBox3
  1478.  
  1479.         CASE birthtime
  1480.  
  1481.         CASE TextBox4
  1482.  
  1483.         CASE birthplace
  1484.  
  1485.     END SELECT
  1486.  
  1487. SUB __UI_FocusIn (id AS LONG)
  1488.     SELECT CASE id
  1489.         CASE TextBox1
  1490.  
  1491.         CASE TextBox2
  1492.  
  1493.         CASE TextBox3
  1494.  
  1495.         CASE TextBox4
  1496.  
  1497.     END SELECT
  1498.  
  1499. SUB __UI_FocusOut (id AS LONG)
  1500.     'This event occurs right before a control loses focus.
  1501.     'To prevent a control from losing focus, set __UI_KeepFocus = True below.
  1502.     SELECT CASE id
  1503.         CASE TextBox1
  1504.  
  1505.         CASE TextBox2
  1506.  
  1507.         CASE TextBox3
  1508.  
  1509.         CASE TextBox4
  1510.  
  1511.     END SELECT
  1512.  
  1513. SUB __UI_MouseDown (id AS LONG)
  1514.     SELECT CASE id
  1515.         CASE Form1
  1516.  
  1517.         CASE Chartowner
  1518.  
  1519.         CASE TextBox1
  1520.  
  1521.         CASE __name
  1522.  
  1523.         CASE TextBox2
  1524.  
  1525.         CASE birthdate
  1526.  
  1527.         CASE TextBox3
  1528.  
  1529.         CASE birthtime
  1530.  
  1531.         CASE TextBox4
  1532.  
  1533.         CASE birthplace
  1534.  
  1535.     END SELECT
  1536.  
  1537. SUB __UI_MouseUp (id AS LONG)
  1538.     SELECT CASE id
  1539.         CASE Form1
  1540.  
  1541.         CASE Chartowner
  1542.  
  1543.         CASE TextBox1
  1544.  
  1545.         CASE __name
  1546.  
  1547.         CASE TextBox2
  1548.  
  1549.         CASE birthdate
  1550.  
  1551.         CASE TextBox3
  1552.  
  1553.         CASE birthtime
  1554.  
  1555.         CASE TextBox4
  1556.  
  1557.         CASE birthplace
  1558.  
  1559.     END SELECT
  1560.  
  1561. SUB __UI_KeyPress (id AS LONG)
  1562.     'When this event is fired, __UI_KeyHit will contain the code of the key hit.
  1563.     'You can change it and even cancel it by making it = 0
  1564.     SELECT CASE id
  1565.         CASE TextBox1
  1566.  
  1567.         CASE TextBox2
  1568.  
  1569.         CASE TextBox3
  1570.  
  1571.         CASE TextBox4
  1572.  
  1573.     END SELECT
  1574.  
  1575. SUB __UI_TextChanged (id AS LONG)
  1576.     SELECT CASE id
  1577.         CASE TextBox1
  1578.  
  1579.         CASE TextBox2
  1580.  
  1581.         CASE TextBox3
  1582.  
  1583.         CASE TextBox4
  1584.  
  1585.     END SELECT
  1586.  
  1587. SUB __UI_ValueChanged (id AS LONG)
  1588.     SELECT CASE id
  1589.     END SELECT
  1590.  
  1591. SUB __UI_FormResized
  1592.  

It's giving me syntax errors on line 117 (trying to call an existing sub-routine) and 1424 (trying to use AddItem ListBox1 a$(i%).
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: FellippeHeitor on June 09, 2020, 11:22:41 PM
Remove line 117.

You must separate parameters with a comma: AddItem ListBox1, a$(i%)
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 09, 2020, 11:28:15 PM
Quote
All the sorted tables appearing immediately at the bottom of the window, fully selectable and ready to copy.

Is there room even if you could do this below the input parts?

A list box has scrollable access so can fit 500 lines in 5 and scroll through, that is not only reason though I am advocating Listbox.

As we have said, selecting like in a text editor is not possible yet, there is no text editor box.
I did manage to select a block of array items in a list box by selecting the first line of the text and the last line of the text to be selected: In my Text Fetch app
https://www.qb64.org/forum/index.php?topic=1874.msg111060#msg111060
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 09, 2020, 11:49:03 PM
As we have said, selecting like in a text editor is not possible yet, there is no text editor box.

No, that's what you've said:

Quote
I would be extremely surprised if an item could not be selected from a List box after all isn't that what a List box is supposed to do

From that, I gathered that a ListBox *EXISTS* so that you can select and copy-paste from it.

Remove line 117.

You must separate parameters with a comma: AddItem ListBox1, a$(i%)

I've done that, and now it's giving me lots of syntax errors not in the code, but in the .frm. Because there are no syntax errors in the code anymore, I can actually run the code, but nothing happens. No GUI opening, no error message, no nothing.

I've been working on this for 27 hours now without a single break. I think I'll give up for today and go to bed. -.-
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: TempodiBasic on June 10, 2020, 04:47:52 AM
Hi DDBE
sorry for my raw question...
Do you have any experience of event driven programming?
As you said the VB course has give to you very few informations.
Inform need to think in this kind of programming.
my suggestion is
1.
Please make a separate SUB into paste your code to calculate the dominance as you have done for Quicksort and Display. You can call it just typing under SELECT CASE iditem of __UI_Click (id item) the call to the SUBroutine
here an example
Code: QB64: [Select]
  1. SUB __UI_Click (id AS LONG)
  2.  
  3.   CASE button1
  4.        Calculation
  5.  
  6. ....
  7.  
  8. SUB Calculation
  9.  
  10.  
  11.  sun$ = GetItem$(DropdownList_sunSign, Control(DropdownList_sunSign).Value)
  12.             sun_House = VAL(GetItem$(DropdownList_sunHouse, Control(DropdownList_sunHouse).Value))
  13.             moon$ = GetItem$(DropdownList_moonSign, Control(DropdownList_moonSign).Value)
  14.             moon_House = VAL(GetItem$(DropdownList_moonHouse, Control(DropdownList_moonHouse).Value))
  15.             ascendent$ = GetItem$(DropdownList_ascendantSign, Control(DropdownList_ascendantSign).Value)
  16.             'MC$ = VAL(GetItem$(DropdownList_MCSign, Control(DropdownList_MCSign).Value))
  17.             mercury$ = GetItem$(DropdownList_mercuryHouse, Control(DropdownList_mercuryHouse).Value)
  18.  
  19. ....
  20.  

2.
please cancel every PRINT statement if you want a more window style output

3.
to give instructions to user you can use the old way to make a splashscreen ( a separate window that gives informations to use the program) or the more suitable Tooltip property of each component of window of your program.
https://github.com/FellippeHeitor/InForm/wiki/Tool-tip (https://github.com/FellippeHeitor/InForm/wiki/Tool-tip)

but
going to your state of developing your project....
1. is your project a simple calculator ?
2. Do you like  the manual entry data  or also a direct input from clipboard or file or string ?
(Here I call Entry data the position of the planets in the astrological chart that you specify Sun in Taurus and 1 house Moon in Gemini and 10 house .....)
3. do you want to bring to clipboard all the informations calculated or just any of them?
 3.1 Do you need of clipboard or you can use a file temporary to pass information in text format?

Is this a step to draw and print on paper or on file image the native astrological chart?
I hope that you have traced a path before starting this adventure and you aren't going on only by attempts  because it is an ambitiouse goal so please
First projecting Second verifying Third typing code... so if a language or your skill in that language is not enough you can port your idea anywhere!  ;)
But moreover you can use the help of this community in constructive manner.

PS statement at line 117 is an absurdum because that is the click event and must be activate when there is a click in the window of program, there is no reason to hack its calling in this manner, to activate that sub _Event simply click on the button!  If it doesn't work it is clear that you have messed the nameId of components so the GOpart1 is not button1. If you know the ID name of your component you must open the box of .FRM file and search into it for the buttons items and write somewhere these names that you must use in SUB event to manage the actions activated by these components.

Good Luck
 in Event Driven Programming

Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 10, 2020, 12:28:08 PM
Guys, I'm sorry for how grumpy I've been before I went to bed due to how tired and frustrated I was.

Hi DDBE
sorry for my raw question...
Do you have any experience of event driven programming?
As you said the VB course has give to you very few informations.
Inform need to think in this kind of programming.

As said, I still have a hard time wrapping my mind around event-based programming. I've already told Fellippe in a PM over on Discord that that's why I don't seem to be able to call up sub-routines in this new InForm-generated code. Whenever I tried, I only got syntax errors.

Code: QB64: [Select]
  1. SUB __UI_Click (id AS LONG)
  2.  
  3.   CASE button1
  4.        Calculation
  5.  
  6. ....
  7.  
  8. SUB Calculation
  9.  
  10.  
  11.  sun$ = GetItem$(DropdownList_sunSign, Control(DropdownList_sunSign).Value)
  12.             sun_House = VAL(GetItem$(DropdownList_sunHouse, Control(DropdownList_sunHouse).Value))
  13.             moon$ = GetItem$(DropdownList_moonSign, Control(DropdownList_moonSign).Value)
  14.             moon_House = VAL(GetItem$(DropdownList_moonHouse, Control(DropdownList_moonHouse).Value))
  15.             ascendent$ = GetItem$(DropdownList_ascendantSign, Control(DropdownList_ascendantSign).Value)
  16.             'MC$ = VAL(GetItem$(DropdownList_MCSign, Control(DropdownList_MCSign).Value))
  17.             mercury$ = GetItem$(DropdownList_mercuryHouse, Control(DropdownList_mercuryHouse).Value)
  18.  
  19. ....
  20.  

Oh, one thing I forgot to mention before I went to bed. As you can see I've kinda REM'd out the line for the MC for the time being, as that was also giving me an error for some reason.

please cancel every PRINT statement if you want a more window style output

Oh, duh! I was so stupid!

going to your state of developing your project....
1. is your project a simple calculator ?

Um...I guess it is.

Is this a step to draw and print on paper or on file image the native astrological chart?

Oh, no, no! The basic idea is that you already have received a chart from elsewhere, a website such as www.astro.com or www.astroschmid.ch. Thing is, as I've written in my very first pastebins before I joined the forums, those websites don't tell you *EVERYTHING* that can be interpreted or calculated from that chart. Thus, the user would take a chart they've received from a place such as www.astro.com and www.astroschmid.ch to calculate some additional stuff by inputting the positions of the planets from the pre-existing chart into my program that will calculate six different dominances for them. Those dominances mean additional things in astrology that the user can then look up.

For example, if the 4th house is somebody's dominant house, you can look up external websites to see that it means they are a homely person who like their family, have few, but very close friends, and they like to retreat into their own house or apartment. If their dominant element is water, you can look up other websites and see that it means they are passive, emotional, and sensitive.

That's the idea behind this calculator: Take a chart that you have received from elsewhere and use my program to calculate dominances of various categories or factors to look up elsewhere what these dominances mean. Most of all, I want to be able to copy the program's output to write up other people's birth horoscope in Open Office.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 10, 2020, 04:41:56 PM
Quote
Guys, I'm sorry for how grumpy I've been before I went to bed due to how tired and frustrated I was.

Man I've been there many times, but nice how you forget all that when it finally works the way you imagined.

When you said 27 hours straight, yikes! Kind of shamed me into making 2nd effort on my Gin Rummy variations and maybe had break through today, we'll see. ;-))

Hang in there, you've got a rather ambitious project for a first InForm attempt. Maybe not 27 hours again, but I know when you stop and start and stop ... you waste time getting up to speed to where you left off. I am big fan of one day projects :)
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: TempodiBasic on June 10, 2020, 06:33:58 PM
oh friend don't mind up, step by step you'll reach the goal! What I's saying you  is be aware to make a path to arrive at your goal so you'll know that each step made is in the right direction.

If you post the .frm file we can get out the ID of each component.

Please say me, because I haven't understood this: Why do you put 2 buttons GO? In your SCREEN0 program there is one massive calculation.

Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 10, 2020, 07:46:34 PM
Please say me, because I haven't understood this: Why do you put 2 buttons GO? In your SCREEN0 program there is one massive calculation.

Oh, those two buttons are no longer part of the form anymore. They originally came about when Felippe told me to use a multi-line, but non-scrollable label for the output. The space available for that label would not have been enough for *ALL* of the program's output, so I decided to use two buttons to first output the first half, then output the second half.

But then bplus said I could be using a ListBox instead of a label for the output, as a ListBox is scrollable (and I thought he'd also meant that the output could be copy-pasted, but now it seems that's not possible, albeit I haven't been able to click on that one button yet to see what's true about a ListBox and what is not).

If you post the .frm file we can get out the ID of each component.

Okay, I'm attaching the current .bas and .frm at the bottom of this post. As you can see, I've been a little sneaky and tried to fix the fact that I forgot to remove the caption *INSIDE* of the textboxes at the top of the window, by means of then using SETCAPTION inside the .bas to remove the caption.

As said in my last post, assigning the MC$ value doesn't seem to be working yet.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: TempodiBasic on June 10, 2020, 08:20:53 PM
@DDBE
I'll take a look into your files tomorrow.

for now about this your question

Quote
As said in my last post, assigning the MC$ value doesn't seem to be working yet.
I think that you are wrongly using VAL because you are using VAL to get the number of the house in which the planet is, but as you have explain to me
Quote
One only needs to remember that ascendant and MC themselves don't add to a specific house, because unlike with celestial bodies, their position within the house sytem is fixed by being the boundary between the 12th and the 1st house (the ascendant, always located at roughly 9 o'clock on the circular chart) and between the 9th and the 10th house (the MC, always located at roughly 12 o'clock).
So like for ascendant$ in the same manner for MC$ you must get the data .
No this
Code: QB64: [Select]
  1.             ascendent$ = GetItem$(DropdownList_ascendantSign, Control(DropdownList_ascendantSign).Value)
  2.             'MC$ = VAL(GetItem$(DropdownList_MCSign, Control(DropdownList_MCSign).Value))

but this one
Code: QB64: [Select]
  1.             ascendent$ = GetItem$(DropdownList_ascendantSign, Control(DropdownList_ascendantSign).Value)
  2.             MC$ = GetItem$(DropdownList_MCSign, Control(DropdownList_MCSign).Value)
let me know.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 10, 2020, 08:43:59 PM
D'oh! It's what you get for simply copying the first two lines of that block and then pasting them over and over, only changing the addressed dropdown.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 11, 2020, 11:19:41 AM
@DDBE

Tried your InForm files but missing the InForm sub-folder.

I have older InForm but there appears to be a version error, my Inform sub-folder is wrong version , so I need the whole inForm package or something to translate the .frm file correctly.

@FellippeHeitor  left some notes somewhere about distributing InForm app packages into one handy zip. That might be a post to pin up. I can see this problem popping up often.

Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: FellippeHeitor on June 11, 2020, 11:23:12 AM
Here https://www.qb64.org/forum/index.php?topic=1878.0

It's pinned at the top of the 'InForm-based programs' board, should you guys need to refer back to it.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 11, 2020, 11:25:14 AM
Oh it's pinned up under InForm Programs Child-Board good! Thanks Fellippe
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 11, 2020, 01:44:55 PM
Okay, second try at uploading.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 11, 2020, 02:32:53 PM
Hi @DDBE,

Ah good! Everything loads properly no errors from IDE after load.

Had to remove END on line 117 to see Form otherwise nothing happens when run it.

Wow! That's one big Input Form!!!

Good the GO button does load the array into the List box, fortunately it's at the bottom of screen that is higher than my laptop screen but I can scroll through items in list box.

Is there any other controls under the list box? Or am I seeing all I need at the bottom of my laptop screen? (Again I can't see the bottom of the form.)

So it looks like not all the information is getting passed to the array from the looks of the List box, allot of 0's.
I've got to review how to get contents out of textbox. Maybe I have to add info to textboxes, is there a default set of info already in there?

Ehh, can't access bottom scroller so can't see bottom of list.

OK I did Tempodi's suggested fix for MC$ and just plugged in a bunch of random data and the 0's go away, so it functions... yeah?
Code: QB64: [Select]
  1.  MC$ = GetItem$(DropdownList_MCSign, Control(DropdownList_MCSign).Value) '                                  fix as per TempodiBasic

Looking good so far, right?

OK reminder, you can't multi-select from Listbox as I recall, but you can select a top item and then select a bottom item save those indexes and then create a block of text from top to bottom that you can paste into Clipboard as I have demo'd in link to Text Fetch, my app with tiny Navigator to clip text out of text files from anywhere on hard drive.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: FellippeHeitor on June 11, 2020, 03:29:47 PM
ListBox controls store items in the Text() array, separated by CHR$(10). Want to copy all the contents of a list called ListBox1 to the clipboard, just do:

Code: QB64: [Select]
  1. _CLIPBOARD$ = Text(ListBox1)
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 11, 2020, 04:07:21 PM
ListBox controls store items in the Text() array, separated by CHR$(10). Want to copy all the contents of a list called ListBox1 to the clipboard, just do:

Code: QB64: [Select]
  1. _CLIPBOARD$ = Text(ListBox1)

Yeah that's easy, but I get impression DDBE wanted to do parts of the whole text block like we can do with mouse selecting from code here at forum for example.

I am saying you can get selections of a whole, a text block at a time by selecting top line from list box and then bottom line then tie those lines together and get another block if wanted...

Or hey, just select a line at a time and string all those selections together for clipboard, just keep adding them on... until you have want you want in clipboard.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 11, 2020, 05:28:15 PM
Is there any other controls under the list box? Or am I seeing all I need at the bottom of my laptop screen? (Again I can't see the bottom of the form.)

So far, there are no other controls besides the one GO! button.

ListBox controls store items in the Text() array, separated by CHR$(10). Want to copy all the contents of a list called ListBox1 to the clipboard, just do:

Code: QB64: [Select]
  1. _CLIPBOARD$ = Text(ListBox1)

Well, if that's the easiest way, we can simply shrink the GO! button again and put a simple Copy button below it. I priorly preferred to do it by means of selecting by mouse as I can directly see what I'm copying via the selection color, but as said, if it's easier coding-wise, we can also use a Copy button to copy the entire list to the clipboard.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: jack on June 11, 2020, 06:41:50 PM
couldn't you do a double-click on the list-item?
no need for a button, simply double-click on the items you want to copy, perhaps you could have text-box where the double-clicked items would be placed for further processing.
[edit]
or a single-click
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: TempodiBasic on June 11, 2020, 06:51:25 PM
Hi
@DDBE
I have tried you form (.frm + .bas) and I can confirm the issues exposed by Bplus over.
1. why the END instruction at line 117 where it was the hacker call to __UI_Click? Cancelling it the program runs.

2. Why do you use a so expanded window?  It goes out of my aspireone netbook! I cannot see all the window of the program. It is difficult to say if it works well or bad.

3. why are yet there the PRINT statements ? Inform generates a 32bit window so the instructions COLOR 8 and COLOR 0  are of no value.

4. if you do a double-click or a sigle click on the listbox void you get an Error divide for 0 and it crashes.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 11, 2020, 07:17:55 PM
Oh hey! Fellippe has a MessageBox Function for InForm. You might use that to check the contents of the Clipboard since we are out or room with the Form.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: DDBE on June 12, 2020, 01:08:05 AM
Okay, so I've removed the END and fixed the asisgnment of MC$, tried running the program and even though I hadn't made a single change since I'd gotten lots of error msgs on the original .frm (outside of removing the END), it magically fired up. But I found there was a blank in front of every Pisces in the dropdowns, effectively making the program ignore every single point meant to go to Pisces, although printing everything just fine (except for the headline for each table, which still were PRINT commands which InForm simply ignored).

So then I went and...


then I ran the program again, and...

...ever since then, the program crashes whenever I hit the GO! button! ;.; New .zip with the files at the bottom.
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 12, 2020, 01:40:18 AM
What was different about Pisces that caused the space?

How did you addItem the blank PRINT lines?

This could have been simply appended to code for GO
_CLIPBOARD$ = Text(ListBox1)
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 12, 2020, 02:16:43 AM
I left Pisces alone, used this:
Code: QB64: [Select]
  1. AddItem ListBox1, " "
for blank lines because "" might cause problems, it does printing to files.
Just added this:
Code: QB64: [Select]
  1. _CLIPBOARD$ = Text(ListBox1)
to the end of the GO button code

Totally Random filling out Form
From the Clipboard pasted into text file:
Code: QB64: [Select]
  1. Additional astrological calculations based upon the natal chart of
  2.  
  3. born ,,
  4.  
  5.  
  6. Elements:
  7.  
  8. The sum of the fire signs in this birth chart is 24. Thus, its owner is determined by the element of fire by 32.43%.
  9. The sum of the air signs in this birth chart is 22. Thus, its owner is determined by the element of air by 29.73%.
  10. The sum of the water signs in this birth chart is 14. Thus, its owner is determined by the element of water by 18.92%.
  11. The sum of the earth signs in this birth chart is 14. Thus, its owner is determined by the element of earth by 18.92%.
  12.  
  13. Dominance of the signs:
  14.  
  15. Strength of Leo: 18 ( 24.32%)
  16. Strength of Virgo: 14 ( 18.92%)
  17. Strength of Cancer: 12 ( 16.22%)
  18. Strength of Gemini: 12 ( 16.22%)
  19. Strength of Libra: 6 ( 8.11%)
  20. Strength of Aries: 5 ( 6.76%)
  21. Strength of Aquarius: 4 ( 5.41%)
  22. Strength of Scorpio: 2 ( 2.7%)
  23. Strength of Sagittarius: 1 ( 1.35%)
  24. Strength of Pisces: 0 ( 0%)
  25. Strength of Taurus: 0 ( 0%)
  26. Strength of Capricorn: 0 ( 0%)
  27.  
  28. At a strength of 18( 24.32% ), Leo is the dominant sign.
  29.  
  30. Qualities:
  31.  
  32. The sum of the mutable signs in this birth chart is 27. Thus, its owner is characterized by mutable qualities at 36.49%.
  33. The sum of the fixed signs in this birth chart is 24. Thus, its owner is characterized by fixed qualities at 32.43%.
  34. The sum of the cardinal signs in this birth chart is 23. Thus, its owner is characterized by cardinal qualities at 31.08%.
  35.  
  36. Polarities:
  37.  
  38. The sum of the passive signs in this birth chart is 36. Thus, its owner is characterized by passive polarities at 48.65%.
  39. The sum of the active signs in this birth chart is 38. Thus, its owner is characterized by active polarities at 51.35%.
  40.  
  41. Dominance of the houses:
  42.  
  43. Strength of the 6th house:  19 ( 33.33%)
  44. Strength of the 7th house:  14 ( 24.56%)
  45. Strength of the 8th house:  12 ( 21.05%)
  46. Strength of the 10th house:  6 ( 10.53%)
  47. Strength of the 5th house:  4 ( 7.02%)
  48. Strength of the 9th house:  2 ( 3.51%)
  49. Strength of the 12th house:  0 ( 0%)
  50. Strength of the 11th house:  0 ( 0%)
  51. Strength of the 4th house:  0 ( 0%)
  52. Strength of the 3rd house:  0 ( 0%)
  53. Strength of the 2nd house:  0 ( 0%)
  54. Strength of the 1st house:  0 ( 0%)
  55.  
  56. The dominant house in this birth chart is house no. 6( 33.33% ).
  57.  
  58. Dominance of the quadrants:
  59.  
  60. Strength of the 3rd quadrant:  28 ( 49.12%)
  61. Strength of the 2nd quadrant:  23 ( 40.35%)
  62. Strength of the 4th quadrant:  6 ( 10.53%)
  63. Strength of the 1st quadrant:  0 ( 0%)
  64.  
  65. The dominant quadrant is the 3rd aka Air or intellectual quadrant at  49.12%.
  66.  
  67. For the dominant celestial body in this birth chart, enter its birth place and birth time at www.astro.com and then select the 'Color Oracle'.
  68.  
  69.  


Update: I have removed the .zip here and reduced the new smaller zip by eliminating 2 exe files.
I have redone the mod fixing the .frm file for "Pisces" by removing all that had spaces.
B+ current best .zip attachment here: https://www.qb64.org/forum/index.php?topic=2696.msg119138#msg119138
Title: Re: How to work with dynamic, Excel-style $tring tables in InForm?
Post by: bplus on June 12, 2020, 02:32:26 AM
Testing download of zip, I tried a pattern for filling out form.

From clipboard to text editor:
Code: QB64: [Select]
  1. Additional astrological calculations based upon the natal chart of
  2.  
  3. born ,,
  4.  
  5.  
  6. Elements:
  7.  
  8. The sum of the earth signs in this birth chart is 32. Thus, its owner is determined by the element of earth by 43.24%.
  9. The sum of the fire signs in this birth chart is 23. Thus, its owner is determined by the element of fire by 31.08%.
  10. The sum of the air signs in this birth chart is 19. Thus, its owner is determined by the element of air by 25.68%.
  11. The sum of the water signs in this birth chart is 0