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: 620
» Latest member: tugrub.com
» Forum threads: 186
» Forum posts: 2,040

Full Statistics

Online Users
There are currently 38 online users.
» 1 Member(s) | 36 Guest(s)
Google, martmen

Latest Threads
Request for command exten...
Forum: Extensions
Last Post: martmen
05-27-2025, 09:42 AM
» Replies: 2
» Views: 73
Multi Language GUI
Forum: Extensions
Last Post: kellanphil
05-27-2025, 02:00 AM
» Replies: 3
» Views: 188
Solution for large window...
Forum: Extensions
Last Post: martmen
05-25-2025, 10:17 AM
» Replies: 0
» Views: 74
ZS DIALOG ERROR
Forum: Extensions
Last Post: litdev
05-21-2025, 08:37 AM
» Replies: 4
» Views: 144
The OpenSB Project - reus...
Forum: Discussion
Last Post: z-s
05-19-2025, 12:56 AM
» Replies: 8
» Views: 185
Guys!
Forum: Discussion
Last Post: z-s
05-17-2025, 01:25 AM
» Replies: 1
» Views: 70
Creation of SB-Neuron. Ou...
Forum: Discussion
Last Post: AbsoluteBeginner
05-15-2025, 03:46 PM
» Replies: 102
» Views: 10,016
Few questions
Forum: Standard Small Basic
Last Post: litdev
05-14-2025, 09:36 AM
» Replies: 1
» Views: 84
Show ZPHB733.000 LDContro...
Forum: Extensions
Last Post: sm4llprogrammer2008
05-13-2025, 10:15 PM
» Replies: 5
» Views: 232
Another question.
Forum: Standard Small Basic
Last Post: litdev
05-13-2025, 07:04 AM
» Replies: 1
» Views: 67

 
  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

  LDProcess und Datenbankprogramm Adressen
Posted by: martmen - 04-18-2025, 11:19 PM - Forum: Extensions - Replies (1)

Hallo Leute,

habt ihr die LitDev Erweiterung in SB implementiert könnt ihr folgendes machen:
Das Programm LHSZ447.000 (als Menu.sb speichern) und CDGT638.000 (als Adressen.sb speichern) in einem Unterordner z.B. .. /Database Programm und Daten.
Ändert in den Programmen die Path-Angaben. Startet die Programme einmal. Dann könnt Ihr das Programm Menu.exe starten.
Wählt im Menü den Eintrag Adresse aus und es wird Adressen gestartet. Zum Menu kommt Ihr wenn Ihr im Programm Adressen den Button End anklickt.
So ist es möglich, eine Kette von Programmen hin und her aufzurufen.
Das Programm Adressen arbeitet mit einer Tabelle der Datenbank. Um eine andere Tabelle in einem neuen Programm zu bearbeiten, sind nur wenige Zeilen anzupassen.

Viel Spass beim ausprobieren
Martini

Print this item

  Is Extension Manager gone?
Posted by: sm4llprogrammer2008 - 04-18-2025, 08:52 PM - Forum: Extensions - Replies (2)

Hello, everyone.
I'm new to the forums, and I've been looking for archived versions of LitDev's Small Basic Extension Manager, tried to find TechNet downloads, but unfortunately found none.
Are there GitHub repos of Extension Manager or is it fully obsolete?

If someone has an answer, I'd be happy to know!

Best regards,

sm4llprogrammer2008

Print this item

  LDFinances Programm
Posted by: martmen - 04-18-2025, 11:54 AM - Forum: Extensions - No Replies

Hallo zusammen,

gibt es jemanden, der ein lauffähiges Programm mit LDFinances verwendet? Ich habe zwar einen Schlüssel, aber das alte Beispiel läuft bei mir nicht. Kann jemand ein lauffähiges Programm veröffentlichen und den Key hier veröffentlichen?

Besten Dank
Martin

Print this item