Author Topic: Started working on my IDE again, more info...  (Read 13721 times)

0 Members and 1 Guest are viewing this topic.

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Started working on my IDE again, more info...
« on: September 21, 2018, 08:10:26 pm »
I finally found the source code to DavsIDE on an old laptop, and since there still seems to be some interest in it I've decided to start working on it again.  The next update will just be a maintenance one, fixing known issues and adding new QB64 commands that have been added since the last IDE update.  Can't say when an update will be ready, I really don't have very much free coding time, currently playing about 60 gigs/month, but I will put the IDE back on my list of active projects to work on.

- Dav

FellippeHeitor

  • Guest
Re: Started working on my IDE again, more info...
« Reply #1 on: September 21, 2018, 08:21:13 pm »
That's really cool, Dav.

About those gigs, any videos online? Off-topic, I know, but just curious!

Offline STxAxTIC

  • Library Staff
  • Forum Resident
  • Posts: 1091
  • he lives
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #2 on: September 21, 2018, 09:58:49 pm »
Look at those avatars... Sure you guys aren't the same person?
You're not done when it works, you're done when it's right.

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #3 on: September 21, 2018, 11:13:45 pm »
STxAxTIC:  Lol.. Nope.  Fellippe has a much better smile.

Fillippe: Nothing worth bragging about.  But I can try and find something to share.
« Last Edit: September 21, 2018, 11:31:24 pm by Dav »

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #4 on: September 22, 2018, 10:10:33 am »
Thanks, anon1.  I started working on it again this morning. 

Wow, 63 new keywords have been added to QB64 since the last IDE update (in 2013).  Lots of cool new commands I didn't know about like, __WINDOWHANDLE, _WINDOWHASFOCUS.  Adding these to the IDE now.

I'm temporarily removing the brick wall I hit with the real-time indenting and sytax-checking routines I was working on 5 years ago.  Instead I may add a 'Beautify code' selection in the 'Edit' menu to auto-indent the code to get by for now.
 
- Dav
« Last Edit: November 24, 2018, 09:19:02 pm by odin »

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #5 on: September 22, 2018, 12:38:22 pm »
Ok.  Here's a screenshot of working on it just now.  Updating the CheckForNewVersion procedure in the source (notice it's around line number 18.2k - the IDE has over 20k lines of code right now).

- Dav

  [ You are not allowed to view this attachment ]  

Offline RNBW

  • Newbie
  • Posts: 20
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #6 on: September 22, 2018, 01:16:59 pm »
Dav
Great to see you working on your IDE again.

Apart from the indent of loops etc, a couple of things I'd like to see are:
1.  Be able to choose your own coding font and size.  Currently, if you choose custom font it is for the whol IDE.
2.  Be able to restrict the number of characters in a line, with word wrap.


Offline TerryRitchie

  • Seasoned Forum Regular
  • Posts: 495
  • Semper Fidelis
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #7 on: September 22, 2018, 02:42:54 pm »
I went to the PureBASIC website to check it out. They make another product called SpiderBASIC.

Go to this website and click on showcase: https://www.spiderbasic.com/index.php

Get ready to have your mind blown.
In order to understand recursion, one must first understand recursion.

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #8 on: September 22, 2018, 04:12:54 pm »
I guess I missed the mind blowing part. I mean I wouldn't mind... never mind. :P

In Ap Purchase example doesn't include word wrap. That just blows.

It seems move event driven to me and a lot of creations like this don't interest me because you can't get under the hood and customize them.

But I have an open (non-blown) mind, and a great deal of respect for you and your creations, so maybe I'm missing something. What exactly blew you away? Oh, is it because it runs on the web? I mean sure, I wish we could have that with QB64, certainly.

Pete

Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline TerryRitchie

  • Seasoned Forum Regular
  • Posts: 495
  • Semper Fidelis
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #9 on: September 22, 2018, 04:18:47 pm »
The BASIC language used to develop web content, that was mind-blowing to me. It amazes me how so many people in other language circles bash BASIC but it always seems to pop up in unusual, and useful, places.
In order to understand recursion, one must first understand recursion.

Offline Pete

  • Forum Resident
  • Posts: 2361
  • Cuz I sez so, varmint!
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #10 on: September 22, 2018, 04:37:40 pm »
Ah, that's what I thought. Well, like QB64, it's a translator project, BASIC to JavaScript.

What I thought would be amazing, some years ago, was a way to use HTML/CSS web graphics with QB statements. I would have also liked or settled for a BASIC language that would somehow run in a webpage window, even if it was just locally.

Anyway, thanks for elaborating.

... and now back to Dav :D

Pete

 
Want to learn how to write code on cave walls? https://www.tapatalk.com/groups/qbasic/qbasic-f1/

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #11 on: September 22, 2018, 05:10:36 pm »
@RNBW: Thanks for the suggestions.  An earlier IDE version let users choose font & size, but I removed it when realizing using other fonts messed up High ASCII code in some code.  So I made a code page 437 font, 3 sizes of it eventually.  The word wrap I could probably add, will see if it can be done easily with just scintilla calls - but if it messes up the way I'm doing lines/linecount I'll have to reprogram some things.

@anon1:  Thanks for the link. That's sure is a good looking editor. Yes, the IDE is being made in PureBasic.

- Dav
« Last Edit: November 24, 2018, 08:42:26 pm by odin »

Offline TerryRitchie

  • Seasoned Forum Regular
  • Posts: 495
  • Semper Fidelis
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #12 on: September 22, 2018, 06:13:56 pm »
Wow, 63 new keywords have been added to QB64 since the last IDE update (in 2013).

Dav, you wouldn't happen to have that list in a text file you could copy/paste here would you?  I have not had time to go through the Wiki to look for everything new. A list of new commands would be very helpful.
In order to understand recursion, one must first understand recursion.

Offline Dav

  • Forum Resident
  • Posts: 792
    • View Profile
Re: Started working on my IDE again, more info...
« Reply #13 on: September 22, 2018, 06:17:11 pm »
Sure do, Terry.  Here you go....

- Dav

EDIT: Oops, I left in _NEWIMAGE, that isn't that new...

Code: QB64: [Select]
  1. _A
  2. _ACOS (function) arccosine function returns the angle in radians based on an input COSine value range from -1 to 1.
  3. _ACOSH (function) Returns the nonnegative arc hyperbolic cosine of x, expressed in radians.
  4. _ARCCOT (function) is the inverse function of the cotangent. . http://mathworld.wolfram.com/InverseCosecant.html
  5. _ARCCSC (function) is the inverse function of the cosecant. http://mathworld.wolfram.com/InverseCosecant.html
  6. _ARCSEC (function) is the inverse function of the secant. http://mathworld.wolfram.com/InverseSecant.html
  7. _ASIN (function) Returns the principal value of the arc sine of x, expressed in radians.
  8. _ASINH (function) Returns the arc hyperbolic sine of x, expressed in radians.
  9. _ATAN2 (function) Returns the principal value of the arc tangent of y/x, expressed in radians.
  10. _ATANH (function) Returns the arc hyperbolic tangent of x, expressed in radians.
  11.  
  12. _B
  13. _BLINK (statement) statement turns blinking colors on/off in SCREEN 0
  14. _BLINK (function) returns -1 if enabled or 0 if disabled by _BLINK statement.
  15.  
  16.  
  17. _C
  18. _CEIL (function) Rounds x upward, returning the smallest integral value that is not less than x.
  19. _CLIPBOARDIMAGE (function) pastes an image from the clipboard into a new QB64 image in memory.
  20. _CLIPBOARDIMAGE (statement) copies a valid QB64 image to the clipboard.
  21. _COMMANDCOUNT (function) returns the number of arguments passed to the compiled program from the command line.
  22. _CONTINUE (statement) skips the remaining lines in a control block (DO/LOOP, FOR/NEXT or WHILE/WEND)
  23. _COT (function) the mathematical function cotangent defined by 1/TAN. http://mathworld.wolfram.com/Cotangent.html
  24. _COTH (function) Returns the hyperbolic cotangent. http://mathworld.wolfram.com/HyperbolicCotangent.html
  25. _COSH (function) Returns the hyperbolic cosine of x radians. http://mathworld.wolfram.com/HyperbolicCosine.html
  26. _CSC (function) the mathematical function cosecant defined by 1/SIN. http://mathworld.wolfram.com/Cosecant.html
  27. _CSCH (function) Returns the hyperbolic cosecant. http://mathworld.wolfram.com/HyperbolicCosecant.html
  28. _CWD$ (function) returns the current working directory as a STRING value.
  29.  
  30.  
  31. _D
  32. _D2G (function) converts degrees to gradient angle values.
  33. _D2R (function) converts degrees to radian angle values.
  34. _DEPTHBUFFER (statement) enables, disables, locks or clears depth buffering.
  35. _DESKTOPHEIGHT (function) returns the height of the desktop (not program window).
  36. _DESKTOPWIDTH (function) returns the width of the desktop (not program window).
  37. _DIR$ (function) returns common paths in Windows only, like My Documents, My Pictures, My Music, Desktop.
  38. _DISPLAYORDER (statement) designates the order to render software, hardware and custom-opengl-code.
  39.  
  40.  
  41. _E
  42. $ELSE (Pre-Compiler Metacommand) used in conjunction with $IF for the precompiler.
  43. $ELSEIF (Pre-Compiler Metacommand) used in conjunction with $IF for the precompiler.
  44. $END IF (Pre-Compiler Metacommand) used in conjunction with $IF for the precompiler.
  45. $EXEICON (Pre-Compiler Metacommand) used with a .ICO icon file name to embed the image into the QB64 executable.
  46.  
  47.  
  48. _F
  49.  
  50. _G
  51. _G2D (function) converts gradient to degree angle values.
  52. _G2R (function) converts gradient to radian angle values.
  53.  
  54.  
  55. _H
  56. _HYPOT (function) Returns the hypotenuse of a right-angled triangle whose legs are x and y.
  57.  
  58.  
  59. _I
  60. $IF (Pre-Compiler Metacommand) used to set an IF condition for the precompiler.
  61. _INCLERRORFILE$ {function) returns the name of the original source code $INCLUDE module that caused the most recent error.
  62. _INCLERRORLINE (function) returns the line number in an included file that caused the most recent error.
  63.  
  64.  
  65. _K
  66. _KEYCLEAR (function) clears the keyboard buffers for INKEY$, _KEYHIT, and INP.
  67.  
  68.  
  69. _L
  70. $LET (Pre-Compiler Metacommand) used to set a flag variable for the precompiler.
  71.  
  72.  
  73. _M
  74. _MOUSEPIPEOPEN (function) creates a pipe handle value for a mouse when using a virtual keyboard.
  75.  
  76.  
  77. _N
  78. _NEWIMAGE (function) creates a designated size program SCREEN or page image and returns a handle value.
  79. (Return to Table of Contents)
  80.  
  81.  
  82. _O
  83. OPTION _EXPLICIT (Pre-compiler directive) instructs the compiler to require variable declaration with DIM or an equivalent statement.
  84.  
  85. _P
  86. _PI (function) returns the value of p or parameter multiples for angle or circle calculations.
  87.  
  88.  
  89. _R
  90. _R2D (function) converts radians to degree angle values.
  91. _R2G (function) converts radians to gradient angle values.
  92.  
  93.  
  94. _S
  95. _SEC (function) the mathematical function secant defined by 1/COS. http://mathworld.wolfram.com/Secant.html
  96. _SECH (function) Returns the hyperbolic secant. http://mathworld.wolfram.com/HyperbolicSecant.html
  97. _SCREENEXISTS (function) returns a -1 value once a screen has been created.
  98. _SCREENICON (function) returns -1 or 0 to indicate if the window has been minimized to an icon on the taskbar.
  99. _SCREENICON (statement) minimizes the program window to an icon on the taskbar.
  100. _SINH (function) Returns the hyperbolic sine of x radians.
  101. _SNDOPENRAW (function) opens a new channel to shove _SNDRAW content into without mixing.
  102. _STARTDIR$ (function) returns the user's program calling path as a STRING.
  103. _STRCMP (function) compares the relationship between two strings.
  104. _STRICMP (function) compares the relationship between two strings, without regard for case-sensitivity.
  105.  
  106.  
  107. _T
  108. _TANH (function) Returns the hyperbolic tangent of x radians.
  109. _TITLE$ (function) gets the program title string value.
  110.  
  111.  
  112. _V
  113. $VERSIONINFO (Metacommand) adds metadata to Windows only binaries for identification purposes across the OS.
  114. $VIRTUALKEYBOARD (Metacommand) turns the virtual keyboard ON or OFF for use in touch-enabled devices
  115.  
  116.  
  117. _W
  118. _WINDOWHANDLE (function) returns the window handle assigned to the current program by the OS. Windows-only.
  119. _WINDOWHASFOCUS (function) returns true (-1) if the current program's window has focus. Windows-only.
  120.  
« Last Edit: September 22, 2018, 06:23:43 pm by Dav »

FellippeHeitor

  • Guest
Re: Started working on my IDE again, more info...
« Reply #14 on: September 22, 2018, 06:21:00 pm »
« Last Edit: September 22, 2018, 06:22:07 pm by FellippeHeitor »