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: 884
» Latest member: TipTopcasino
» Forum threads: 229
» Forum posts: 2,303

Full Statistics

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

Latest Threads
I think that no more Smal...
Forum: Discussion
Last Post: eddylo
04-24-2026, 12:54 AM
» Replies: 2
» Views: 253
D'ont read a file
Forum: Standard Small Basic
Last Post: WhTurner
04-12-2026, 03:39 PM
» Replies: 1
» Views: 47
close a file
Forum: Standard Small Basic
Last Post: francesco
04-12-2026, 08:59 AM
» Replies: 2
» Views: 81
random in a array
Forum: Standard Small Basic
Last Post: francesco
04-05-2026, 06:40 PM
» Replies: 4
» Views: 191
Sqlite Version
Forum: Extensions
Last Post: Lester
03-24-2026, 06:58 PM
» Replies: 3
» Views: 163
Small Basic Explorer with...
Forum: Challenges
Last Post: martmen
03-17-2026, 03:48 PM
» Replies: 0
» Views: 84
Example Program
Forum: Extensions
Last Post: martmen
03-13-2026, 04:15 PM
» Replies: 0
» Views: 97
BASIC Jam 7 is in progres...
Forum: Discussion
Last Post: eddylo
03-11-2026, 12:40 AM
» Replies: 3
» Views: 272
LitDev extension
Forum: Extensions
Last Post: martmen
02-24-2026, 07:20 AM
» Replies: 2
» Views: 259
Button with icons
Forum: Extensions
Last Post: martmen
02-09-2026, 06:33 PM
» Replies: 6
» Views: 448

 
  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

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

I've made a bash simulator.
Doesn't have cmdlets, but you can try expanding it!

Link: https://smallbasic.com/program/?XSLJ618.000
ID (to use on SB 1.2 when importing from web): XSLJ618.000

Code:
TextWindow.Hide()
TextWindow.Title = "Small Bash"
While ("True")
  TextWindow.ForegroundColor = "Green"
  TextWindow.Write("\users\")
  TextWindow.ForegroundColor = "Blue"
  TextWindow.Write("~$ ")
  TextWindow.ForegroundColor = "DarkGray"
  prompt = TextWindow.Read()
EndWhile
TextWindow.Show()

It isn't quite compatible with Small Basic Online though.

Print this item

  Where we can report bugs?
Posted by: sm4llprogrammer2008 - 04-19-2025, 03:11 PM - Forum: Standard Small Basic - Replies (2)

Just asking.

Print this item

  Writing extensions - ?
Posted by: Yumda - 04-19-2025, 08:00 AM - Forum: Extensions - Replies (6)

Hi there:

Is there an updated guide for writing SB extension?  My son knows abit of C#, and when we follow the instruction guide on how to write extension for SB using visual c# 2010 the message keeps on popping up that the .net fram work we are targeting is 3.5 but the smallbasic .DLL reference is for .NET 4.5 .  Is there any new tutorial available or what people is using to write the extension? 

Regards

YUMDA

Print this item