Author Topic: IDE improvements (v1.5)  (Read 11337 times)

0 Members and 1 Guest are viewing this topic.

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: IDE improvements (v1.5)
« Reply #30 on: January 14, 2021, 02:46:18 pm »
@FellippeHeitor
Just see at GitHub, you've also a branch trying to reduce disk activity by using internal buffers. The changes there look to be in a very early stage for now with just the Open-/CloseBuffer routines, so it's not too late to mention this.

If you've not already done so, you should have a look into my Libraries Collection into the SB-Storage folder. It's a comprehensive buffer system with loading/saving/append/insert data or whole files or other buffers, you can freely seek around, set bookmarks, search for regular data/text or delimiters, copy&paste, read/write line based or as raw data (even memblocks and so everything which you can put into _MEM), can convert between LNX/MAC and WIN line endings. Of course, a complete documentation is included.

This buffer system might be just the tool you need for your efforts. If so, then feel free to incorporate it into the QB64 distribution.
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #31 on: January 14, 2021, 02:48:06 pm »
Thanks, Rho. Will check it.

I'm aiming at something pretty simple, since all QB64 does is PRINT # to files - my goal with that research is to reduce actual disk writes and perform them all at once at the end. May not even make it into 1.5.

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: IDE improvements (v1.5)
« Reply #32 on: January 14, 2021, 03:42:51 pm »
Then I'm sure it's exactly what you want. Just look on the SimplyText.bas example.

EDIT:
On a closer look I see you depend on handle numbers rather than different names for each buffer, which makes sense if I think about it as replacement for dozens of open files.

I'll setup a special edition of the library, which allows for handles. Already got an idea how, shouldn't take too long,
will let you know here....
« Last Edit: January 14, 2021, 05:35:00 pm by RhoSigma »
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #33 on: January 14, 2021, 08:00:38 pm »
Here's what to look for/test/try to break in the latest dev build generated on 2021-01-15, from git e4d987a:

  • Revamped ASCII Chart dialog.
    - The dialog now follows the rest of the IDE's look and feel.
    - Mouse + keyboard operation retained + improved.
    - Ability to insert CHR$(code) instead of raw character.


    * interface
  • Improved warning report, allowing you to know (and jump to) exact lines with warnings also in $INCLUDEd files
      [ You are not allowed to view this attachment ]  
  • New -w switch to show warnings in command line-compilation (use --help to see all available switches)
  • Colorized command-line compilation output.
      [ You are not allowed to view this attachment ]  
  • (Windows) File dialogs now show only the available drive letters.
      [ You are not allowed to view this attachment ]  

Full changelog at https://github.com/QB64Team/qb64/commits/development, as usual.
« Last Edit: January 14, 2021, 08:05:48 pm by FellippeHeitor »

Offline RhoSigma

  • QB64 Developer
  • Forum Resident
  • Posts: 565
    • View Profile
Re: IDE improvements (v1.5)
« Reply #34 on: January 15, 2021, 05:11:19 am »
Nice new ASCII chart, but broke it :)

- open ASCII chart
- hover mouse over any char (don't click it)
- press ENTER, would expect to trigger highlighted default button <Cancel>, but select the char instead

- open ASCII chart
- select any char via mouse or keyboard
- press TAB once to make <Insert CHR$> the default button
- press ENTER to trigger the default button <Insert CHR$>
- will insert the select char only, but not the CHR$ code
- here <Insert CHR$> works only when clicked with the mouse
My Projects:   https://qb64forum.alephc.xyz/index.php?topic=809
GuiTools - A graphic UI framework (can do multiple UI forms/windows in one program)
Libraries - ImageProcess, StringBuffers (virt. files), MD5/SHA2-Hash, LZW etc.
Bonus - Blankers, QB64/Notepad++ setup pack

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #35 on: January 15, 2021, 06:39:38 am »
Thanks, Rho. I will be looking into it today.

Offline OldMoses

  • Seasoned Forum Regular
  • Posts: 469
    • View Profile
Re: IDE improvements (v1.5)
« Reply #36 on: January 15, 2021, 11:32:32 am »
This new ASCII chart function seems to eliminate the need to fool around with CHR$ at all, except if you want to access characters numerically.

I replaced my CHR$(248) with just inserting the degree character in quotes, and it worked fine in my program. It is easier than looking up the code and typing Alt 0248.

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #37 on: January 15, 2021, 11:35:16 am »
For sharing your code, I recommend you keep CHR$(248), as extended ascii characters may eventually get corrupted, depending on the website.

The old version of the ASCII chart would only add the actual character, the new one will allow you to search for the glyph you're after and insert CHR$(code) easily.

Offline OldMoses

  • Seasoned Forum Regular
  • Posts: 469
    • View Profile
Re: IDE improvements (v1.5)
« Reply #38 on: January 15, 2021, 05:23:23 pm »
For sharing your code, I recommend you keep CHR$(248), as extended ascii characters may eventually get corrupted, depending on the website.

The old version of the ASCII chart would only add the actual character, the new one will allow you to search for the glyph you're after and insert CHR$(code) easily.

Point taken. I noticed that trying to insert a degree character in Notepad or on the forum would result in a null type character, e.g. ø

Offline Mad Axeman

  • Newbie
  • Posts: 74
    • View Profile
    • My web site - Harrythetrout
Re: IDE improvements (v1.5)
« Reply #39 on: January 15, 2021, 05:45:06 pm »
If you go to help and click on Math (being pedantic here, to us in the UK that should have a 's' on the end) and then just click on <OK> without entering anything wouldn't it be better to just close the box without entering
'ERROR -- NULL string; nothing to evaluate'
on the program line?
Oh look - a sig file :-)

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #40 on: January 15, 2021, 05:56:01 pm »
Spoiler: math box completely redone. Will post tonight.

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #41 on: January 15, 2021, 07:12:35 pm »
Please grab tonight's build from https://www.qb64.org/portal/development-build/ (from git 6af5bca) and look for the following:

- New Tools menu, that groups the new ASCII Chart, the Math Evaluator, the Quick Keycode and the RGB Mixer:
    - ASCII Chart dialog tweaked with attention to @RhoSigma's report of keyboard shortcuts.
        - Clearer indication that the chart has focus.
        - Double-click now is used to insert multiple characters in the code edit area without closing the box.


    - Math Evaluator interface rewritten.
        - Same functionality/core as before.
        - Retrieves last expression used in the same session.
        - Retrieves the current selection from the edit area, if any.


    - RGB Color Mixer is now part of the Tools menu, and can be invoked freely.
        - No need to be typing an _RGB statement to use the mixer.


    - New "Update Help" dialog.
        - I don't know how many of you ever go to Help->Update All Pages, to fetch new content from the wiki, but if you ever did, you remember how ugly it used to be. Now there's a dialog just for that.
« Last Edit: January 15, 2021, 09:34:11 pm by FellippeHeitor »

Offline OldMoses

  • Seasoned Forum Regular
  • Posts: 469
    • View Profile
Re: IDE improvements (v1.5)
« Reply #42 on: January 16, 2021, 06:37:44 am »
Here's a screen shot of something that effectively ended the ability to input code.

The computer had gone to sleep with ddf755e running and a program in it. I woke it up this morning loaded another program, scrolled around and jumped from SUB to SUB for a bit and then went to enter a comment and got this warning along with a simultaneous message from Windows Defender about threat detection.

  [ You are not allowed to view this attachment ]  

It seems to work ok after restarting the IDE

FellippeHeitor

  • Guest
Re: IDE improvements (v1.5)
« Reply #43 on: January 16, 2021, 07:16:48 am »
Likely due to the way QB64 continuously writes to disk while editing/compiling is taking place, it has been known to not work well with system suspend/hibernation states.

Also, I hope you have whitelisted QB64 and the whole folder/subfolder structure where it's located in your antivirus/antimalware software, as recommended.

Thanks for reporting.

Marked as best answer by on October 22, 2024, 12:25:47 pm

Offline SMcNeill

  • QB64 Developer
  • Forum Resident
  • Posts: 3972
    • View Profile
    • Steve’s QB64 Archive Forum
Re: IDE improvements (v1.5)
« Reply #44 on: January 16, 2021, 07:38:43 am »
  • Undo Best Answer
  • Here’s an idea for the ASCII chart, while you’re tweaking things:  Add an area to insert multiple characters at one.

    For example, let’s say someone wants to make a double-line ASCII box.  Currently, they’d have to open the ASCII chart once to insert the top left corner character, then once for each “=“ style character, and then once for the top right character..  Instead, it’d be much easier to build that line in the ASCII chart itself, and then click the INSERT CHARACTER button to add them all at once.

    (And Insert CHR$, in the above case, might break down to CHR$ + STRING$ combinations.  CHR$(179) + STRING$(10, 182) + CHR$(180), or whatever those actual values might be.)
    https://github.com/SteveMcNeill/Steve64 — A github collection of all things Steve!