Welcome, Guest
You have to register before you can post on our site.

Username/Email:
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 308
» Latest member: Donaldvem
» Forum threads: 1,741
» Forum posts: 17,901

Full Statistics

Latest Threads
The QB64 IDE shell
Forum: Utilities
Last Post: JasonPag
09-16-2024, 05:37 PM
» Replies: 9
» Views: 762
Importance regarding Ches...
Forum: Utilities
Last Post: JasonPag
09-01-2024, 06:34 PM
» Replies: 0
» Views: 31
Chess and Analysis and En...
Forum: Utilities
Last Post: JasonPag
08-28-2024, 02:37 PM
» Replies: 0
» Views: 32
DAY 009:_PutImage
Forum: Keyword of the Day!
Last Post: grymmjack
09-02-2023, 02:57 PM
» Replies: 54
» Views: 2,034
Fall Banner Contest?
Forum: Site Suggestions
Last Post: grymmjack
08-31-2023, 11:50 PM
» Replies: 36
» Views: 1,261
ColorPicker - Function th...
Forum: Dav
Last Post: Dav
08-31-2023, 11:04 PM
» Replies: 3
» Views: 315
Goals(1) = New Tile()
Forum: Works in Progress
Last Post: RhoSigma
08-31-2023, 09:45 PM
» Replies: 3
» Views: 127
micro(A)v11
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 09:14 PM
» Replies: 90
» Views: 3,589
Updating The Single Most ...
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 09:13 PM
» Replies: 7
» Views: 254
QBJS Image Question
Forum: QBJS, BAM, and Other BASICs
Last Post: bplus
08-31-2023, 05:49 PM
» Replies: 5
» Views: 155

 
  QB64-PE Patreon and Donations
Posted by: SMcNeill - 01-09-2023, 11:53 PM - Forum: General Discussion - Replies (18)

As you guys probably know by now, we just released a new version of QB64-PE -- version 3.5!  One thing that's happened after this release, is that several people have sent me messages asking how they can donate or help support the project.  I try and tell folks that isn't necessary -- our costs are minimal, with none of us accepting even a penny for our work and efforts on improving and upkeeping the language.  The only thing we pay for is the server space here which keeps these forums and our wiki up and going, and I've been completely transparent with screenshots of what those cost us.  (About $100 for the first year, and perhaps $300 a year moving forward.)  Those costs are definitely not so large that we can't just pay them ourselves, for, like you, we love this project and the language itself. 

But, I got fussed at today by someone who **really** wanted to show their support.  "The rest of us love the language just as much as you guys!  It's not fair that you get to support it, and the rest of us can't..."

So, I finally broke down and created a Patreon for us:  https://patreon.com/user?u=86544769

If someone really feels that passionate about supporting us, and doesn't think they have the coding skills to help with the project, now they can drop a few dollars into the Patreon bucket and keep the lights on for us.  Nobody should ever feel pressured to donate -- as I mentioned above, our overall costs is rather low and quite manageable, so only do so if you have disposable income burning a hole in your pocket and you absolutely feel like you want to give it to us. 

Patreons get no added bonus.  No extra weight in any decisions we make.  No exclusive content.  All we do and work on, we already offer FREE to anyone who wants it.  The most our Patreons can expect is for us to continue on as we've always continued on.  Maybe... if you ask *really*  *really* hard, and you donate *lots* and *lots* of money, I *might* send you a picture of me sitting back in my lounge chair, eating Cheetos in my undies, and pretending to program while being completely distracted by Discord, the forums, my doggy, and the tv in the background...

Anywho, it's there now for those who absolutely want it.   Rest assured, any money donated will only ever go to keeping the lights on around here.  We don't do what we do for any sort of monetary gain.  We just do it 'cause we love it!  Big Grin

Print this item

  QB64 Phoenix Edition v3.5.0 Released!
Posted by: DSMan195276 - 01-09-2023, 03:56 PM - Forum: Announcements - Replies (77)

QB64 Phoenix Edition v3.5.0!

https://github.com/QB64-Phoenix-Edition/...tag/v3.5.0

Enhancements

  • #46, #98, #250, #265, #272 - Added support for opening HTTP and HTTPS requests using _OPENCLIENT(). - @mkilgore
    • Feature is current unstable and requires $Unstable:Http to use.
    • On Linux and Mac OS this functionality requires libcurl to be installed.
    • HTTP(s) connections are opened using _OPENCLIENT() and generally work the same as the existing TCP/IP streams.
    • See the Wiki page on Downloading Files to see a complete overview of this functionality.
  • #28, #279 - Added _SNDNEW(frames&, channels&, bits&) function which can be used to make new sound buffers of a predetermined number of frames. - @a740g
    • The created sound buffer can be accessed using _MEMSOUND() to write sound data to it, and then played like any other sound.
  • #232, #279 - Sounds can now be opened from memory using _SNDOPEN(sound$, "memory"). - @a740g
    • The string provided to _SNDOPEN() in this case is not a filename, but instead contains the actual sound data that should be loaded into the new sound buffer.
  • #280, #279 - Added support for playing Amiga AHX and HVL audio files. - @a740g
    • They are played using _SNDOPEN() like any other audio file.
  • #261 - The IDE's new open file dialog will now remember the previous directory it was open to. - @SteveMcNeill
  • #264 - The error line color in the IDE is now configurable. - @SteveMcNeill

Bug Fixes
  • #252, #276 - Wiki will now be downloaded using the new HTTP support, curl is no longer needed. - @RhoSigma-QB64
  • #254 - _FONT settings that are invalid now produce an error rather than segfaulting. - @SteveMcNeill
  • #256, #258, #266, #267 - Fixed the command line compilation output when using some commands like $NoPrefix. - @mkilgore
  • #256, #257 - When compiling from the command line, the exe is now always located relative to the provided source file path. - @mkilgore
  • #234, #260 - Programs now wait for GLUT to be properly initialized before starting. - @mkilgore
  • #66, #270 - GLUT commands are now always executed on the correct thread. This fixes issues where some programs would randomly crash. - @mkilgore
  • #262, #233 - $IF checks involving VERSION now correctly compare all segments of the version individually. - @SteveMcNeill
    • Previously VERSION was compared as a string, which would have caused incorrect comparisons when the version numbers get larger.
  • #275 - Reduced the number of times nm is invoked to resolve Declare Library functions. - @flukiluke
  • #166, #279 - _SNDRAW is now fully implemented for the miniaudio audio backend - @a740g
    • The OpenAL audio backend is likely to be removed in the next version of QB64-PE.
  • #166, #279 - PLAY(n) now returns the number of sound samples left to play from PLAY, SOUND, or BEEP. - @a740g
  • #167, #279 - The timing of SOUND and PLAY calls were improved so that they wait for the sound to finish playing. - @a740g
  • #186, #279 - SOUND and PLAY now generate mono sound, reducing memory usage. - @a740g
  • #217, #279 - The N command for PLAY now plays the note in the correct octave. - @a740g, @mkilgore
  • #282, #284 - The long start-up time for QB64-PE programs has been fixed, there should no longer be a delay before the QB64-PE code starts running - @mkilgore
  • #281, #284 - A use-after-free bug was fixed in some of the buffer logic for the HTTP code - @mkilgore

Full Changelog: v3.4.1...v3.5.0

Print this item

Shocked Can not upload pictures anymore?
Posted by: Kernelpanic - 01-09-2023, 03:27 PM - Forum: General Discussion - Replies (2)

What has happened there? With all browsers, Chrome, Edge, Firefox.  Huh

[Image: mjo2mw8u.jpg]

Print this item

  IDE' mouse problem with 3.4.1 on macOS
Posted by: Fifi - 01-09-2023, 08:00 AM - Forum: General Discussion - Replies (8)

Hello,

The third mouse button (scrolling the content back and forth) doesn't work at all on the IDE under macOS.
Is there a fix planned soon since this problem was already reported long time ago and that without this capability, the IDE is almost unusable on a Mac.
TIA for news about that.

Cheers.
Fifi

Print this item

  <Solved> QB64PE 4.3.1 can't compile itself anymore.
Posted by: Fifi - 01-09-2023, 04:32 AM - Forum: General Discussion - Replies (2)

Hello,

when loading qb64pe.bas into QB64PE 3.4.1, there is an error message in the IDE saying :

Name already in use (DECLARE) on line 3911 (click here or Ctrl+Shift+G to jump there)
caused by (or after): A$ = "Expected SUB/FUNCTION definition or END", 39 DECLARE " : GoTo errmess",13

Can anyone help me to fix that?

TIA for your help.

Cheers.
Fifi

Print this item

  <solved> QB64PE' IDE problems on macOS.
Posted by: Fifi - 01-09-2023, 04:11 AM - Forum: General Discussion - Replies (4)

Hello,

The option "Open" (or the Ctrl O command) of the File menu of the IDE simply doesn't do anything on my iMac27 (High Sierra). Confused

Any way to fix that since I can't use QB64PE 4.3.1 at all. Sad

TIA for your help. Wink

Cheers.
Fifi

Print this item

  What's with "RUN" and "CLS"?
Posted by: PhilOfPerth - 01-09-2023, 03:13 AM - Forum: Help Me! - Replies (3)

Probably two of the simplest instructions,  Run and Cls are confusing the hell out of me!
When I run this code:
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Run
I would expect either the Cls, or the Run, to wipe the screen clean. According to Help, Run clears the current programme (and I assume this means its screen as well) but it doesn't!

So, I added the Cls, expecting that this, at least, would clear the screen, but it only cleans down to the first  _Delay (or Sleep) line. Why does the text after _Delay not get wiped?  Huh

Print this item

  Suggestion: Preallocated file open
Posted by: doppler - 01-09-2023, 01:01 AM - Forum: General Discussion - Replies (13)

Windows can do it and I think Linux can too.

On a file open "preallocate" space to be used.  AKA: no fragmentation is possible.

A command to open would look like: open "foo.txt" for output as #1 size=4096  <-- This would preallocate a file 4096k in size.

Of course this would not work for appending.  I only suggest this because a lot of huge files I write out become fragmented.

Just a thought.......
It could get very messy........

Print this item

  Nonograms (Hanjie)
Posted by: RokCoder - 01-08-2023, 10:48 PM - Forum: Programs - Replies (25)

Though I've programmed since being a young kid, I haven't dabbled in BASIC for decades (since Apple II and then BBC Micro) but thought I'd try my hand at a Nonograms game. I was going to target the BBC Micro but ultimately decided to give QB64pe a spin and I'm so glad I did. Such a fun few days deep diving into the nuances and differences that have expanded upon the BASIC that I remember from my youth.

Hopefully some of you might have some fun with this.

   
   

Disclaimer: My BASIC-fu is rusty, my QB64pe knowledge is puny and I take no responsibility for the sanity of anyone digging through the source!

Here's the repository - https://github.com/rokcoder-qb64/nonograms 

I've also attached the source BAS file and assets in a ZIP file (but the GitHub code has been updated so that's the best place to grab it from)

.zip   nonograms.zip (Size: 3.08 MB / Downloads: 30)

Print this item

  Rainbow Text
Posted by: SMcNeill - 01-08-2023, 09:47 PM - Forum: SMcNeill - No Replies

You guys are *really* making me feel odd now, digging up remnants of the past as you are.  What is this, an eulogy for poor Steve?  "He was a great guy, that poor old Steve.  Why just the other day, I found this on my drive that he did/helped me with/whatever...."

I'm not dead yet, dang it!!

Sheesh!!   But, eulogistic or not, there's still no reason not to share some of these old gems.  Thanks go to Terry for finding this one and returning it back into the fold with the rest that I've preserved here in this little Steve(tm) subforum.  Wink

Code: (Select All)
fg& = _NewImage(1280, 720, 32)
white& = _RGB32(255, 255, 255)
Screen fg&
Print "This is a demostration of a simple RainbowText routine."
Print "One Command is being used to generate all the text which follows."
Print "Press any key to see some quick samples."
junk$ = Input$(1)

Cls
text$ = "This is sample text"
RainbowText text$, 0, 0, 380, 220, 0, 0, 0, 0, 0
RainbowText text$, 0, 180, 380, 380, 0, 0, 100, 100, 100
RainbowText text$, 0, 90, 300, 300, 0, 0, 150, 150, 150
RainbowText text$, 0, 270, 460, 300, 0, 0, 50, 100, 150
RainbowText text$, 1, 0, 100, 100, 0, 0, 10, 200, 0
RainbowText text$, -1, 0, 300, 100, 0, 0, 200, 200, 0

Locate 35, 40: Print "Press any key to watch what else you can do!"

junk$ = Input$(1)

Color , _RGB32(0, 0, 255)
direction = .25

Do
    Cls
    i = i + direction
    RainbowText text$, 0, i, 500, 500, 0, 0, r, g, b
    If i > 360 Or i < 0 Then direction = -direction
Loop Until InKey$ <> ""
_AutoDisplay
Locate 10, 10: Print "HA!  Rotating text, and all from 1 simple routine."

Cls


f& = _LoadFont("times.ttf", 100)
Do
    RainbowText text$, 0, 0, 500, 200, f&, 0, 255, 100, b
Loop Until InKey$ <> ""
_AutoDisplay


End


Sub RainbowText (text$, slant%, angle%, x%, y%, font&, b&, r, g, b)
    A = _AutoDisplay: F = _Font: D = _Dest
    dc& = _DefaultColor: bg& = _BackgroundColor
    slant% = slant% + 1 'This keeps slant 0 as neutral
    bgi& = _NewImage(100, 100, 32): _Dest bgi& 'temporary for sizing
    If font& <> 0 Then _Font font&
    length% = _PrintWidth(text$): height% = _FontHeight
    _FreeImage bgi&
    bgi& = _NewImage(length%, height%, 32) 'screen to draw to, the proper size
    _Dest bgi&: If font& <> 0 Then _Font font&
    Color _RGB32(255, 255, 255), b&
    _PrintString (0, 0), text$
    TLC$ = "BL" + Str$(length% \ 2) + "BU" + Str$(height% \ 2)
    RET$ = "BD BL" + Str$(length%)
    _Source bgi&
    _Dest D
    Draw "BM" + Str$(x%) + "," + Str$(y%) + "TA=" + VarPtr$(angle%) + TLC$
    For y = 0 To height% - slant%
        For x = 0 To length% - slant%
            If Point(x, y) <> b& Then
                r = r + 5
                If r > 255 Then r = 0: g = g + 5
                If g > 255 Then g = 0: b = b + 5
                If b > 255 Then b = 0: r = 0
                Draw "C" + Str$(_RGB32(r, g, b)) + "R1" 'color and DRAW each pixel
            Else
                Draw "B R1" 'color and DRAW each pixel
            End If
        Next
        Draw RET$
    Next
    If Not A Then _Display: _AutoDisplay 'Remark this line out if you want to manually use _DISPLAY to show the text
    _FreeImage bgi&
    If font& <> 0 Then _Font F
    Color dc&, bg&
End Sub

Print this item