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: 777
» Latest member: Charlesprito
» Forum threads: 205
» Forum posts: 2,181

Full Statistics

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

Latest Threads
TCP/IP Socket Programming
Forum: Extensions
Last Post: litdev
Yesterday, 12:33 PM
» Replies: 18
» Views: 590
Modbus extension
Forum: Extensions
Last Post: litdev
08-22-2025, 07:58 PM
» Replies: 14
» Views: 178
Challenge 13 - Search uti...
Forum: Challenges
Last Post: AbsoluteBeginner
08-18-2025, 08:14 AM
» Replies: 7
» Views: 160
Small Basic Coder-A New G...
Forum: Discussion
Last Post: z-s
08-18-2025, 06:58 AM
» Replies: 0
» Views: 26
Question about a program
Forum: Standard Small Basic
Last Post: litdev
07-20-2025, 04:18 AM
» Replies: 4
» Views: 474
LDCommPort
Forum: Extensions
Last Post: Eddie
07-14-2025, 01:22 PM
» Replies: 8
» Views: 305
Creation of SB-Neuron. Ou...
Forum: Discussion
Last Post: AbsoluteBeginner
07-09-2025, 07:21 AM
» Replies: 105
» Views: 14,311
I finished making my web-...
Forum: Standard Small Basic
Last Post: sm4llprogrammer2008
07-04-2025, 05:04 PM
» Replies: 0
» Views: 78
Diving into Z-S's SB.js w...
Forum: Standard Small Basic
Last Post: sm4llprogrammer2008
06-26-2025, 05:23 PM
» Replies: 2
» Views: 171
SBJS coming soon
Forum: Standard Small Basic
Last Post: sm4llprogrammer2008
06-25-2025, 01:54 PM
» Replies: 2
» Views: 151

 
  Small Basic Coder-A New Gem
Posted by: z-s - 08-18-2025, 06:58 AM - Forum: Discussion - No Replies

As Soon as Googles Gemini introduced Custom gems in which we cant give 10 knowledge files and some instruction i made a Gem for small basic i gave him Small basic introduction pdf and LD Physics Pdf and a Pdf Containing all Extension Api (made using one of litdev tool) and i gave All Extension Xml in the form of txt.

It is Doing Well And Working  Smile

You can see here about what it made : https://g.co/gemini/share/7f0fb52cd0da

Currently Gemini's Gem cant be shared so that others can use but you can create your own Small Basic Coder.
If you want to make your own first open your Gemini it is available with a google account in the left panel go to Explore Gems and there click on  New Gem In it name it the put this in instructions:

Code:
You are a coder who solve any problems or give code in Microsoft Small basic Programing Language by using you knowledge.
If Code is too long to send in one message you give it to the user in segments.

I Have added a small basic tutorial pdf to your knowledge learn from it how to do coding in small basic.
and i have added smallbasiclibray which is standard library of small basic api and xml file to learn from it.
and i have added all small basic extension Api pdf and also their XML in txt format learn from them how to use extension.
in the XML files P: means property M: means method and T: means object and E: means event which can be added to sub.

Note Always Use: Extension Where Possible if something is not in standard Small Basic Library.

All Variables are Global.
In small basic there are no like sub functions cant have arguments and return but you can use variables or LDCall or ZSCall.

You Cant use like this in small basic code:
Sub Write(arg)
TextWindow.Write(arg)
EndSub
Sub Write("Hii")

But you can do this in code :
arg_write = ""
Sub Write()
TextWindow.Write(arg_write)
EndSub
arg_write = "Hii"
Write()

All Extensions Object are also global you don't have to use ZS.ZSText or Litdev.LDCall use directly ZSText and LDCall.
Don't make method or Object with your own mind before using first see if the object have that method or property or event using the API and Xml give to you in knowledge.

Extract and upload This Files In Knowledge: https://www.transfernow.net/dl/20250818C2O7KDmD

Print this item

  Modbus extension
Posted by: letsrock - 08-17-2025, 02:52 PM - Forum: Extensions - Replies (14)

Hey there,

I am looking for a way to communicate with the photovoltaic system on my roof via modbus with SmallBasic. Any ideas?

Print this item

  Challenge 13 - Search utility
Posted by: litdev - 08-11-2025, 08:33 AM - Forum: Challenges - Replies (7)

No activity for a while, so here is a challenge...

Write a Small Basic utility program to search through a folder of SB files (*.sb) and show any files that contain a searched text.

The program should allow the user to specify a folder and a search text (case insensitive), then display a list of all files containing that text.

The program could be extended to:

1] Allow the user to select and show the full text of any of the found searches
2] Allow recursive search through sub folders
3] Use extensions if you like to make the program prettier or add features like compile and run a file or open it in Small Basic IDE
4] Think of other useful features, like reporting the file date, number of lines etc and maybe make these search filters

Share any work in progress...

Print this item

  Question about a program
Posted by: Eddie - 07-17-2025, 04:32 PM - Forum: Standard Small Basic - Replies (4)

Hallo, ich habe ein Programm unter der QCBN-Nummer 365.000 veröffentlicht. Das Programm soll zur Steuerung meiner Modellbahn dienen. Beim Start öffnet sich ein grafisches Fenster mit Schaltflächen und einem Gleisplan mit Linien. Alles funktioniert. Klickt man auf die grünen Kreise, bewegt sich eine Linie, die eine Weiche darstellen soll. Nun zum Problem: Stellt man die Weiche per Mausklick, ist alles in Ordnung. Der Befehl wird an die DCC-EX-Zentrale gesendet und die Weiche auf der Anlage schaltet ebenfalls. Drückt man die Schaltfläche Fahrstraße A, werden die Befehle auch korrekt gesendet. Was jedoch nicht schaltet, sind die Weichen in meinem Gleisplan. Meine Idee war, das Textfeld tb1 auszulesen. Dort wird die Rückmeldung der Zentrale angezeigt. Leider ist mir das bisher nicht gelungen. Hat jemand eine Idee?

Print this item

  TCP/IP Socket Programming
Posted by: Juergen - 07-14-2025, 08:35 AM - Forum: Extensions - Replies (18)

Hello, i want to program a TCP/IP Socket to establish an ethernet communication, just to transmit some values over ethernet.
I look for some example codes or API or libraries in litdev. 
Who can give me a hint ?

Print this item

  LDCommPort
Posted by: Eddie - 07-13-2025, 05:56 AM - Forum: Extensions - Replies (8)

Hallo zusammen, ich versuche gerade, mit SB eine Steuerung für meine Modelleisenbahn zu schreiben. Dabei bin ich auf ein Problem gestoßen, das ich nicht lösen kann. Ich habe folgenden Code zur Steuerung der Lokomotiven erstellt.

lokAdresseTB = Controls.AddTextBox(20,930)
Controls.SetTextBoxText(lokAdresseTB, "3")

lokSlider = LDControls.AddSlider(150.930.200)
LDControls.SetSliderRange(lokSlider,0,126)
LDControls.SetSliderValue(lokSlider,0)

LokVorBTN = Controls.AddButton("▶️ Vorwärts",380,930)
LokZurBTN = Controls.AddButton("◀️ Rückwärts",450,930)
LokStopBTN = Controls.AddButton("⏹️ Halt",520,930)

Sub-LokSteuerung
  adresse = Controls.GetTextBoxText(lokAdresseTB)
  geschw = LDControls.GetSliderValue(lokSlider)

  Wenn Controls.LastClickedButton = LokVorBTN, dann
    LDCommPort.TXString("<t " + adresse + geschw +"1 ">")
  EndIf

  Wenn Controls.LastClickedButton = LokZurBTN, dann
    LDCommPort.TXString("<t " + adresse + geschw + "0 ">")
  EndIf

  Wenn Controls.LastClickedButton = LokStopBTN, dann
    LDCommPort.TXString("<t " + adresse + " 1 0>")
  EndIf
EndSub

Das Problem liegt in dieser Zeile: LDCommPort.TXString("<t " + address + speed +"1 ">"). Hier behauptet SB, ich hätte drei Argumente angegeben, obwohl nur eines benötigt wird. Hat jemand eine Idee, wie man das anders schreiben könnte?
Der Befehl, der an die DCC-EX-Zentrale gesendet werden muss, sieht folgendermaßen aus: <t 3 50 1> Das t steht für die anzusprechende Lokomotive; die 3 ist die DCC-Adresse, die 50 die Geschwindigkeit und die 1 die Richtung.
Viele Grüße, Eddie

Print this item

  I finished making my web-based recreation of Small Basic for the web
Posted by: sm4llprogrammer2008 - 07-04-2025, 05:04 PM - Forum: Standard Small Basic - No Replies

And honestly, it feels like Small Basic Online but you can use it anywhere!
It'll release soon.

Print this item

  Diving into Z-S's SB.js web program
Posted by: sm4llprogrammer2008 - 06-25-2025, 01:48 PM - Forum: Standard Small Basic - Replies (2)

Z-S shared me a project while I started to create SBJS, and I think it's fast enough, very well engineered.
First I tried this:

Code:
textwindow.writeline("hello, world!");
It probably made sense to include a semicolon, because it maybe was just custom JS objects + classes running with eval() on the background.
Then went on to test some classic SB syntax:
Code:
for i=1 to 5
textwindow.write("Hello, world! ");
endfor
Surprisingly, it worked.
Then tested this:
Code:
uinput = textwindow.read();
textwindow.writeline(uinput);

Also it used the browser's native input box dialog instead of a text cursor within the console.
Then tested JS multiline notes:
Code:
/* Multiline notes
on SB.js */
It was ignored. Didn't throw any errors.
It probably supported my belief of custom JS objects + classes on the background running with eval(). Z-S is truly a web mastermind, and I appreciate that.
Anyway you can try Z-S's SB.js at https://www.zs.rf.gd/SBJS/

Print this item

  SBJS coming soon
Posted by: sm4llprogrammer2008 - 06-24-2025, 07:02 PM - Forum: Standard Small Basic - Replies (2)

I've decided to port Small Basic to JS... Literally.
I've decided to make the SB implementation of JS also more web-friendly, and also C#-like (i.e TextWindow => Console)
Imagine making websites on SB, like the old Silverlight Small Basic Player days and SBO but web-wide.

Print this item

  Google Search Terminal SB Edition v2.0_01
Posted by: sm4llprogrammer2008 - 06-24-2025, 01:27 PM - Forum: Standard Small Basic - No Replies

Hotfix for one of my longest programs ever.
Still requires SB 1.2 + LD and ZS extensions.
The fix is located on the info of the 'mnu' / ShowMenu() / Menu() invocations, where semicolons were added for added clarity (inside some help info strings not to separate SB statements).
ID: MSNS590.000
Listing: https://smallbasic.com/program/?MSNS590.000
Code is too long.

Print this item