We would like to build a community for Small Basic programmers of any age who like to code. Everyone from total beginner to guru is welcome. Click here to register and share your programming journey!


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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 786
» Latest member: WilliamVar
» Forum threads: 212
» Forum posts: 2,220

Full Statistics

Online Users
There are currently 54 online users.
» 0 Member(s) | 52 Guest(s)
Bing, Applebot

Latest Threads
New project
Forum: Discussion
Last Post: litdev
10-13-2025, 09:09 AM
» Replies: 2
» Views: 46
LDGeography.GetAllCountri...
Forum: Extensions
Last Post: litdev
10-05-2025, 12:33 PM
» Replies: 5
» Views: 190
TCP/IP Socket Programming
Forum: Extensions
Last Post: litdev
09-27-2025, 03:36 PM
» Replies: 23
» Views: 2,136
Hi everyone
Forum: Discussion
Last Post: z-s
09-25-2025, 08:14 AM
» Replies: 0
» Views: 95
Prototype for 3D Small Ba...
Forum: Discussion
Last Post: sm4llprogrammer2008
09-24-2025, 09:50 PM
» Replies: 0
» Views: 123
Really great announcement...
Forum: Discussion
Last Post: sm4llprogrammer2008
09-24-2025, 09:41 PM
» Replies: 4
» Views: 373
Challenge 14 - Rainbow
Forum: Challenges
Last Post: martmen
09-20-2025, 01:42 PM
» Replies: 5
» Views: 361
Small Basic super slow ??
Forum: Standard Small Basic
Last Post: sm4llprogrammer2008
09-14-2025, 11:07 PM
» Replies: 27
» Views: 2,982
Sudoku Solver Publishe...
Forum: Standard Small Basic
Last Post: The Old Guy
09-01-2025, 06:20 AM
» Replies: 7
» Views: 518
Challenge 13 - Search uti...
Forum: Challenges
Last Post: martmen
08-29-2025, 10:13 AM
» Replies: 8
» Views: 796

 
Star Announcing RebornDOS.sb
Posted by: sm4llprogrammer2008 - 05-06-2025, 01:58 AM - Forum: Standard Small Basic - Replies (1)

I've been making a project called RebornDOS.sb.
It's a DOS rebirth on Small Basic.
Code's too big (exceeds 5k chars, which the MyBB engine doesn't handle), so can I share the sb file on a compressed/zip folder w/ OneDrive link?

QUICK EDIT

It's a prototype, but you can make your own distros of it. (w/ perms or credit)

Print this item

  Twin Basic
Posted by: Lester - 05-04-2025, 07:18 PM - Forum: Discussion - No Replies

I came across a new Basic language called Twin BASIC. Its in late BETA, and is scheduled for release in early summer. I played with it for an hour or two yesterday and it looks good. According to the website: "twinBASIC is a modern BASIC compiler that aims to be fully compatible with all existing VB6 and VBA code"  

Check it out,  Lester

Print this item

  wieso ist es in der deutschen Version so?
Posted by: martmen - 05-03-2025, 05:49 AM - Forum: Standard Small Basic - Replies (2)

Das hatte ich nicht erwartet. [Anhang=164][Anhang=164][Anhang=164]



Attached Files Thumbnail(s)
   
Print this item

  Fun fact
Posted by: sm4llprogrammer2008 - 05-02-2025, 07:58 PM - Forum: Discussion - No Replies

Windows' built-in VGA typeface/font is Fixedsys, you might find worth it using on your Small Basic GW projects.

Print this item

  Zahl ins deutsche Format umwandeln
Posted by: martmen - 05-02-2025, 03:26 PM - Forum: Extensions - Replies (3)

Hallo zusammen,

Das Programm (mit der Erweiterung LitDev) WNWQ963.000 formatiert eine Zahl in das deutsche Format mit Tausendertrennzeichen und Rundung.
Hat jemand einen Vorschlag für eine Verbesserung der Optimierung?
Vielen Dank
Martin

Print this item

  A question. (sorry if too off-topic)
Posted by: sm4llprogrammer2008 - 05-01-2025, 11:46 PM - Forum: Discussion - Replies (4)

Are we able to post GitHub links to repos that are either related to Small Basic or have Small Basic programs?

Print this item

  Hey
Posted by: sm4llprogrammer2008 - 04-20-2025, 06:27 PM - Forum: Discussion - No Replies

I'm making a website for submitting and sharing SB programs quickly.

It'll be easier to share SB programs there.

Just telling. (if any of you want to use the website)

Print this item

  Small Basic hash retriever
Posted by: sm4llprogrammer2008 - 04-20-2025, 04:09 PM - Forum: Standard Small Basic - No Replies

This is for the safety guaranteed for the file integrity kingdom of Windows.

ID: QQNW492.000
Link: https://smallbasic.com/program/?QQNW492.000
Requires: LitDev 1.2.30.0 Beta or higher, Small Basic 1.2 (web download version, 1.3 is UWP and doesn't support libs)

Code:
main()

Sub main
  TextWindow.Hide()
  path = LDDialogs.InputBox("Get a MD5 hash of a file. Use 'dialog' to open a file selection dialog instead.", "Hash Retriever")
  If path = "dialog" Then
    getFile = LDDialogs.OpenFile("All files (*.*)|*.*", "")
    retrievedHash = LDEncryption.MD5HashFile(getFile)
    showHash()
  Else
    retrievedHash = LDEncryption.MD5HashFile(path)
    showHash()
  EndIf
EndSub

Sub showHash
  TextWindow.Hide()
  TextWindow.Title = ""
  TextWindow.Show()
  TextWindow.WriteLine("MD5 Hash: "+retrievedHash)
  TextWindow.Write("Retrieve another hash? (Y/N) ")
  getYorN = TextWindow.Read()
  If getYorN = "y" Then
    main()
  ElseIf getYorN = "n" Then
    Program.End()
  EndIf
EndSub

Feel free to expand or to bundle in your own SB apps!

Print this item

  Oh my gosh!!
Posted by: sm4llprogrammer2008 - 04-19-2025, 05:48 PM - Forum: Standard Small Basic - Replies (1)

I've made a media player w/ Small Basic!!

Requirements: LitDev 1.2.30.0 Beta and higher
ID: FMBV557.000
Link: https://smallbasic.com/program/?FMBV557.000

Code:
Init()

Sub Init
 
  GraphicsWindow.BackgroundColor = "#FF408080"
 
  GraphicsWindow.Title = "Untitled Small Media Player Window"
  GraphicsWindow.BrushColor = "Black"
  GraphicsWindow.FontName = "MS Gothic"
  SlFlBtn = Controls.AddButton("Select File",20,140)
  Controls.SetSize(SlFlBtn,101,25)
 
  PlayBtn = Controls.AddButton("Play",20,170)
  Controls.SetSize(PlayBtn,101,25)
 
  GraphicsWindow.BrushColor = "#FF000040"
  GraphicsWindow.PenColor = "#FF000040"
  Overlay = Shapes.AddRectangle(530,290)
  Shapes.Move(Overlay,220,100)
 
  GraphicsWindow.BrushColor = "Black"
  GraphicsWindow.FontName = "Times New Roman"
  GraphicsWindow.FontBold = "False"
  NmWnTb = Controls.AddTextBox(20,100)
  Controls.SetTextBoxText(NmWnTb,"")
  Controls.SetSize(NmWnTb,100,25)
 
  GraphicsWindow.FontName = "MS Gothic"
  GraphicsWindow.FontBold = "True"
  SubmitBtn = Controls.AddButton("Submit",140,100)
  Controls.SetSize(SubmitBtn,51,25)
 
  GraphicsWindow.FontName = "Ubuntu Mono"
  GraphicsWindow.FontBold = "False"
  LabelNmWn = Shapes.AddText("Name Window:")
  Controls.SetSize(LabelNmWn,87,15)
  Shapes.Move(LabelNmWn,20,80)
 
  GraphicsWindow.BrushColor = "#FFFFFF80"
  GraphicsWindow.FontName = "Segoe UI"
  GraphicsWindow.FontBold = "True"
  GraphicsWindow.FontSize = 24
  Logo = Shapes.AddText("Basic Media Player")
  Controls.SetSize(Logo,220,30)
  Shapes.Move(Logo,0,0)
  GraphicsWindow.FontBold = "False"
 
  GraphicsWindow.BrushColor = "Black"
  GraphicsWindow.FontName = "MS Gothic"
  GraphicsWindow.FontSize = 12
  GraphicsWindow.FontBold = "True"
  AboutBtn = Controls.AddButton("About",230,10)
  Controls.SetSize(AboutBtn,51,25)
 
  LicenseBtn = Controls.AddButton("Licensing",290,10)
  Controls.SetSize(LicenseBtn,71,25)
 
  MediaPlayer = LDControls.AddMediaPlayer(530,290)
  Shapes.Move(MediaPlayer,220,100)
 
  PauseBtn = Controls.AddButton("Pause",20,200)
  Controls.SetSize(PauseBtn,101,24.5)
 
  LDControls.MediaPlayerEnded = Pause
  Controls.ButtonClicked = Onclick
 
EndSub
  Sub Pause
    LDControls.MediaPlayerPause(MediaPlayer)
  EndSub
  Sub Onclick
    last = Controls.LastClickedButton
    If last = SubmitBtn Then
      windowname = Controls.GetTextBoxText(NmWnTb)
      GraphicsWindow.Title = windowname
    ElseIf last = LicenseBtn Then
      GraphicsWindow.ShowMessage("GPLv3", "")
    ElseIf last = AboutBtn Then
      GraphicsWindow.ShowMessage("You have the right to modify and republish the altered software. Created by sm4llprogrammer2008", "")
    ElseIf last = SlFlBtn Then
      getfile = LDDialogs.OpenFile("1=png;2=jpg;3=mp3;4=wav;5=mp4","")
    ElseIf last = PlayBtn Then
      LDControls.MediaPlayerLoad(MediaPlayer, getfile)
      LDControls.MediaPlayerPlay(MediaPlayer)
    ElseIf last = PauseBtn Then
      LDControls.MediaPlayerPause(MediaPlayer)
    EndIf
  EndSub

Feel free to expand, again!

Print this item

  Small Basic CMD simulator
Posted by: sm4llprogrammer2008 - 04-19-2025, 05:21 PM - Forum: Standard Small Basic - No Replies

Finally,

After publishing my Bash simulator, I've tried to expand it's very basic code.

ID: ZVVD6.000
Link: https://smallbasic.com/program/?ZVVD6.000

Code:
TextWindow.Hide()
TextWindow.Title = "Windows Command Prompt"
year = Clock.Year
path = "C:\Windows\System32"
helpInfoTxt[1] = "== HELP =="
helpInfoTxt[2] = "dir <path> - Lists files from a path."
helpInfoTxt[3] = "echo <text> - Writes line to the prompt."
helpInfoTxt[4] = "cd <path> - Enters a path."
helpInfoTxt[5] = "help - Shows this text."
TextWindow.Show()
TextWindow.ForegroundColor = "White"
TextWindow.WriteLine("Copyright "+year+" sm4llprogrammer2008")
While ("True")
  TextWindow.ForegroundColor = "White"
  TextWindow.Write(path+">> ")
  TextWindow.ForegroundColor = "Gray"
  prompt = TextWindow.Read()
  EventHandler()
EndWhile

Sub EventHandler 'We'll return events based on input (variable: prompt)
  getting = LDText.Split(prompt, " ") 'Split text
    If getting[1] = "dir" Then 'Event handler for dir
      getpath = getting[2]
      If Text.GetIndexOf(getpath, "C:\") = 1 Then
        files = File.GetFiles(getpath) 'Get files
        For i = 1 To Array.GetItemCount(files) 'List all files from the directory input by the user
          TextWindow.WriteLine(files[i])
        EndFor
      Else 'If no path is typed or none
          TextWindow.WriteLine("Invalid path. Use a valid directory starting with C:\")
     EndIf
    ElseIf getting[1] = "cd" Then 'Event handler for cd
      getpath = getting[2]
      If Text.GetIndexOf(getpath, "C:\") = 1 Then
        path = getpath
      Else
        TextWindow.WriteLine("Invalid path. Use a valid directory starting with C:\")
      EndIf
    ElseIf getting[1] = "echo" Then
      returning = Text.GetSubText(prompt, Text.GetIndexOf(prompt, "echo") + 5, Text.GetLength(prompt) - Text.GetIndexOf(prompt, "echo") - 4)
      TextWindow.WriteLine(returning)
    ElseIf getting[1] = "help" Then
      For i = 1 To Array.GetItemCount(helpInfoTxt)
        TextWindow.WriteLine(helpInfoTxt[i])
      EndFor
    Else
      TextWindow.WriteLine("Unknown command. Type 'help' for info.")
    EndIf
EndSub

Feel free to expand!

Edit: requires LitDev Beta library!

Print this item