Jump to content

New _ArrayDisplay Beta code - comments and suggestions welcomed


Melba23
 Share

Recommended Posts

"3:7|1:9"

I propose to simplify

"7" - Single number specifies the height of the array, i.e. the last index.

"3|7" - limits the height and width of the array

"3:7" - limit lines

"|1:9" - limit columns

 

-----------

You can remove the height restriction GUI. It is necessary to make it to full screen, if the array does not fit

Edited by AZJIO
Link to comment
Share on other sites

  • Moderators

czardas,

Glad you like it. As I said it was not difficult to do, nor did it overly complicate the code which is a major consideration.

AZJIO,

- "truncated array". I do not understand what you are trying to tell me. Can you post an array which causes this problem so I can see what you are talking about?

- "Heading with statistics". I give you the same answer I gave Iczer - this is essentially a debugging tool where the title is just to give a hint of whereabouts you are in the code. If the user needs dimension sizes et al they can add their own code as a header or use ConsoleWrite/MsgBox lines to pass additional information - I certainly do not intend to add such things by default.

- Range syntax. I will look at your proposal - a lot will depend on how complicated the parsing becomes. As I mentioned above, I am going for simplicity here which is why I went for the present StringSplit check on the delimiters.

- GUI Height. Excellent point - I will look into it today. :thumbsup:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

- "truncated array". I do not understand what you are trying to tell me. Can you post an array which causes this problem so I can see what you are talking about?

The last lines make so that you can see that the array is not fully displayed.

If UBound($aArray) > 65530 Then
    $avArrayText[65529] = '[~]'
    $avArrayText[65530] = '[' & UBound($aArray) - 1 & ']|' & '...'
EndIf

 

- "Heading with statistics". I give you the same answer I gave Iczer - this is essentially a debugging tool where the title is just to give a hint of whereabouts you are in the code. If the user needs dimension sizes et al they can add their own code as a header or use ConsoleWrite/MsgBox lines to pass additional information - I certainly do not intend to add such things by default.

Request size is very little costly action. But for debugging it would be useful to know the size of the array. Newbie not always understand how to do it. I scrolled to the end, to see the size.

 

- Range syntax. I will look at your proposal

This is much harder than to make a "title" with the size of the array

Link to comment
Share on other sites

  • Moderators

AZJIO,

- I understand the "truncated" bit now - thanks. Although I think anyone wanting to debug an array that size will probably need more than this simple UDF! :o

- OK, I give in on showing the dimensions in the title. :D

- I know it is harder - that is why I said I would look at it. ;)

And I have the GUI height adapting nicely now - thanks for the suggestion. :thumbsup:

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

yet

; _________________1
#include <GUIConstantsEx.au3> ; Only for _UserFunc

If $sUserFunc = Default Then GUICtrlSetState(-1, $GUI_DISABLE) ; #include <GUIConstantsEx.au3>

; _________________2
If $sUserFunc = Default Then GUICtrlSetData(-1, "Call ( None )")

; _________________3
Local $cUser_Func = GUICtrlCreateButton("Call ( " & $sUserFunc & " )", 5, $aiGUISize[1] - 23, ($aiGUISize[0] / 2) - 10, 20)
If $sUserFunc = Default Then GUICtrlSetData(-1, "Call ( None )")
Link to comment
Share on other sites

  • Moderators

AZJIO,

Already included - I went for option 1. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

AZJIO,

New Beta code in the first post:

- Array Truncation. I have gone for a MsgBox to warn the user of any truncation rather than inserting "~" lines.

- Dimensions in title. Added.

- Range syntax. Amended and (I hope) simplified as you wished:

"7"        - Show rows 0-7 with all columns
"|7"       - Show all rows with columns 0-7
"7|7"      - Show rows 0-7 with columns 0-7
"5:7"      - Show rows 5-7 with all columns
"|5:7"     - Show all rows with columns 5-7
"7|5:7"    - Show rows 0-7 with columns 5-7
"5:7|7"    - Show rows 5-7 with columns 0-7
"5:7|5:7"  - Show rows 5-7 with columns 5-7
- GUI height. Now adjusts to fit number of rows. Max and min values used if required (for both width and height)

- User Func button. Disabled if no function specified.

Happy? :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

AZJIO,

Glad you like it. :)

Your suggested button texts do not reflect what happens - what I have now does. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Copy Data && Hdr/Row
Row|Col 0|Col 1
[10]|1000.709706390043721|1010.860435749171302
[11]|1100.562866862630472|1110.781936405459419

Copy Data Only
[10]|1000.709706390043721|1010.860435749171302
[11]|1100.562866862630472|1110.781936405459419

Copy Data Only (Yes)
1000.709706390043721|1010.860435749171302
1100.562866862630472|1110.781936405459419

Although I rarely use and do not know what's best.

Edited by AZJIO
Link to comment
Share on other sites

  • Moderators

AZJIO,

Thanks - RegEx fixed. :)

M23

Edit: Just seen your additional suggestions for "truncation". If the user wants "to speed up display" they can use the $sArrayLimit parameter to reduce the range displayed. Besides, anyone using this function to display arrays of that size needs their heads examined! :)

M23

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

AZJIO,

Thanks - done. :)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Hello all

@Melba many thank's for your work:

One just suggestion for set the Range:

if you change in your code to this:

; Check limits
            If $iItem_Start < 0 Then $iItem_Start = 0
            If $iSubItem_Start < 0 Then $iSubItem_Start = 0
            If $iItem_End > $iRowCount - 1 Or Not $iItem_End Then $iItem_End = $iRowCount - 1
            If $iSubItem_End > $iColCount - 1 Or Not $iSubItem_End Then $iSubItem_End = $iColCount - 1

Now you can set new range if you don't know how many columns or rows are in the array

Range:

"5:|3:"    - Show rows starting 5 to end of rows with columns starting 3 to end of columns

Sry for my bad english  i hope you understand what i've in my mind. ;-)

Edited by GaRydelaMer
Link to comment
Share on other sites

  • Moderators

AZJIO,

That is not a lot of help! What exactly do you get displayed? :huh:

I get all rows with columns 5 to 7 - which is what I would expect. M23

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

GaRydelaMer,

Excellent idea! :thumbsup:

I have implemented it in a different manner, but it works like this:

"7"        - Show rows 0-7 with all columns
"|7"       - Show all rows with columns 0-7
"7|7"      - Show rows 0-7 with columns 0-7
"5:|7:"    - Show rows 5-end with columns 7-end <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
"5:7"      - Show rows 5-7 with all columns
"|5:7"     - Show all rows with columns 5-7
"7|5:7"    - Show rows 0-7 with columns 5-7
"5:7|7"    - Show rows 5-7 with columns 0-7
"5:7|5:7"  - Show rows 5-7 with columns 5-7
M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

AZJIO,

Sorry, old version uploaded by mistake. Wait a moment and I will upload the latest. :>

M23

Edit: Versioning error - or rather omission! :(

Edited by Melba23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...