That's good done
@FellippeHeitor,
I like that move to introduce the new "Tools" menu to clean out and reserve the "Help" menu for real help related entries. The ASCII chart also looks better now and the behavior is as expected. Maybe another tweak can be done to the new double-click feature...
Current behavior:
- a double-click always resets the default button to "Insert char" and then inserts the char into the edited code
Better behavior:
- if I TAB to change the default button to "Insert CHR$" and then double-click a char, should keep the default button "Insert CHR$" and insert CHR$(...)
- maybe better it should insert CHR$(...) + , for concatenation (cause it's easier to delete the final +, rather then afterwards insert it between all the inserted CHR$(...)
- even better better, add a checkbox to allow the user to choose, if he wants the + or not
For your other working place regarding disk usage, I've now finished the special edition of the SB-Storage system and updated my Libraries Collection download on the page linked in my signature.
This edition allows the use of handles to dynamically create new buffers, so it should be more suitable for your needs. The easiest workflow could be like the example below, so it would be more or less just a replacement of the file based commands with the buffer related commands, you said you want it simple :)
'$INCLUDE: 'QB64Library\SB-Storage\stringbuffer.bi'
'--- somewhere during program init
'-----
REDIM SHARED MyFileNames$
(0) 'DIM whatever number you need
'--- buffer equivalent to opening a file
'-----
bufHandle% = 0 'this is like a file number
InitBuf MyBuffers$(), bufHandle%: MyFileNames$(bufHandle%) = "Test.txt"
'--- writing to buffer, synonym for PRINT #..., hence line breaks will
'--- be added automatically, there are also functions to write raw data,
'--- which would be a PUT #... synonym
'-----
WriteBufLine MyBuffers$(), bufHandle%, "Some text."
WriteBufLine MyBuffers$
(), bufHandle%
, "Some concatenated text. This is buffer #" + LTRIM$(STR$(bufHandle%
))'...
'--- finally save all buffers
'-----
FOR i%
= firstBuf%
TO lastBuf%
BufToFile MyBuffers$(), i%, MyFileNames$(i%)
'--- there's no synonym to close a buffer, simply re-init any buffer to
'--- discard the old data and clear all markers (if any), after InitBuf()
'--- the buffer is always like a fresh file opened for OUTPUT
'$INCLUDE: 'QB64Library\SB-Storage\stringbufferWH.bm'