Wiki source for PuppyBasic
[[HomePage]] > [[SoftwareIndex Software Index]] > [[SoftwareDevelopment Development]]
{{include TagInfoUpdate}}
{{image url="http://tinypic.com/dzjes5.gif" title="WikkiImage" alt="WikkiImage"}}
See also: [[http://puppylinux.org/wikka/WxBasic WxBasic]], [[http://puppylinux.org/wikka/WxBasicscript WxBasicscript]], http://noforum.de/wxBasicscript-documentation/wxbasic/frameset.htm
== ""Overview of PuppyBasic"" ==
[[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] is the new name for [[http://puppylinux.org/wikka/WxBasicscript WxBasicscript]], which is a simplified version of [[WxBasic]]. Mark Ulrich added new functions for the Linux platform.---[[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] offers some "pre-defined" dialogs to make it simple to make simple GUI applications. It is currently version 2.5
Amish is currently working on writing a manual for [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]]
== Tutorials ==
http://noforum.de/wxBasicscript-documentation/wxbasicscript/index.htm;
=="" New in [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] V2.5""==
changes to wxBasic:
New file xwin.c It is included in main.c
The functions from this file were added to builtin.h
Other changes:
main.c
Changes are marked with:
MU
//changed code//
MU
The change in main.c allows to execute wxBasic-commands without passing a filename, like:
puppybasic2 -e 'a=1:b=2:c=a+b:print c'
To compile [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]], run:
./_compilePuppyBasic2.sh
This creates a [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]]-2.5.tar.gz that can be installed as alien Package in Puppylinux, or extracted to all Linuxsystems that meet these dependencies:
sh-3.00# ldd wxbasicscript
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/libm.so.6 (0x40014000)--- libSM.so.6 => /usr/X11R7/lib/libSM.so.6 (0x4003a000)
libICE.so.6 => /usr/X11R7/lib/libICE.so.6 (0x40042000)--- libX11.so.6 => /usr/X11R7/lib/libX11.so.6 (0x4005a000)
libXmu.so.6 => /usr/X11R7/lib/libXmu.so.6 (0x40148000)--- libc.so.6 => /lib/libc.so.6 (0x4015d000)
/lib/ld-linux.so.2 (0x40000000)--- libXau.so.6 => /usr/X11R7/lib/libXau.so.6 (0x40269000)
libXdmcp.so.6 => /usr/X11R7/lib/libXdmcp.so.6 (0x4026d000)--- libdl.so.2 => /lib/libdl.so.2 (0x40272000)
libXt.so.6 => /usr/X11R7/lib/libXt.so.6 (0x40276000)--- libXext.so.6 => /usr/X11R7/lib/libXext.so.6 (0x402c6000)
sh-3.00#
==== [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] use: ====
* wxbasicscript included standard in Puppy 1.0.5 and greater
* Write your program using a text editor (even Leafpad / Beaver) into a file with the .wxbs extension;
* Change to executable with ROX
==== Running Programs ====
**How does one execute a wxbasic program?** **Do you just type 'wxbasic [filename]'?**
When in Puppy any file with the extension **.wxbs** would be interpreted as a runnable program
You can also run any text file manually as a BASIC progam, with either of these command formats:
# puppybasic helloworld
# wxbasicscript helloworld
For now use rxvt
Create a program in a text editor and save for example
helloworld.wxbs
%%(language-ref)
#!/usr/bin/wxbasicscript
Tutorial for Puppy 1.0.5 wxBasic - Lobster Sep 2005, uses PuppyBasic script created by Mark Ulrich
include "/usr/lib/wxbasicscript/basefunctions.inc"
result = xmessage ( "-buttons About_Basic,Lesson1,Lesson2,Lesson3,Reference Welcome to the Puppy wxBasic Tutorial Please choose" )
xmessage ( result )
MSG = ""
if result = "About_Basic" then MSG = "you chose about"
if result = "Lesson1" then MSG = "you chose Lesson 1"
if result = "Lesson2" then MSG = "you chose Lesson 2"
if result = "Lesson3" then MSG = "you chose Lesson 3"
if result = "Reference" then MSG = "you chose Reference"
if result = nothing then MSG = "you closed the window"
xmessage ( MSG )
%%
Running the code:
#wxbasicsh helloworld.wxbs (you must have wxbasicscript - details to follow shortly - this page being developed)
or
wxbasicsh myprogram.wxbsh
You also might add the line
#!/usr/bin/wxbasicscript
to your program file as the first line to main.wxb, and make it executable:
chmod 755 main.wxb
Then you can start it like a "main.exe":
./main.wxb
(or click on it in rox)
Nb:
Lines beginning with are comments and will be ignored during execution.
Take existing applications, and modify to your needs.
http://www.murga-linux.com/puppy/%7Epuppy/viewtopic.php?t=3486
To start, this might be easier:
http://www.murga-linux.com/puppy/%7Epuppy/viewtopic.php?p=20582#20582
The main concept:
You have a shellscript, that runs "main.pb" in the /resource -folder.
main.pb basically just displays xxx.tpl, which is the grafical user-interface (GUI).
In the Gui you can see Button-definitions. When a button is clicked, a shell-command or a script is executed, that creates a textfile in /tmp. Then the textarea is refreshed, that's to say it reloads the textfile.
This is right the concept you would need. To determine, if the webserver is running, you might need a shell-command like:
ps|grep httpd >/tmp/httpdcheck.txt
In puppybasic, you execute it like this:
shell( "ps|grep httpd >/tmp/httpdcheck.txt" )
Then you have to open that file, and check if it is empty ot not. If it is not empty, the webserver is running. This method is not 100% exact, but should do it usually. [[http://www.murga.org/%7Epuppy/viewtopic.php?p=13222#13222 PuppyBasic aka Wxbasicscript]]
It will be installed together with the example:
http://www.murga-linux.com/puppy/%7Epuppy/viewtopic.php?t=2182
----
==Categories==
CategoryDevelopment
{{include TagInfoUpdate}}
{{image url="http://tinypic.com/dzjes5.gif" title="WikkiImage" alt="WikkiImage"}}
See also: [[http://puppylinux.org/wikka/WxBasic WxBasic]], [[http://puppylinux.org/wikka/WxBasicscript WxBasicscript]], http://noforum.de/wxBasicscript-documentation/wxbasic/frameset.htm
== ""Overview of PuppyBasic"" ==
[[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] is the new name for [[http://puppylinux.org/wikka/WxBasicscript WxBasicscript]], which is a simplified version of [[WxBasic]]. Mark Ulrich added new functions for the Linux platform.---[[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] offers some "pre-defined" dialogs to make it simple to make simple GUI applications. It is currently version 2.5
Amish is currently working on writing a manual for [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]]
== Tutorials ==
http://noforum.de/wxBasicscript-documentation/wxbasicscript/index.htm;
=="" New in [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] V2.5""==
changes to wxBasic:
New file xwin.c It is included in main.c
The functions from this file were added to builtin.h
Other changes:
main.c
Changes are marked with:
MU
//changed code//
MU
The change in main.c allows to execute wxBasic-commands without passing a filename, like:
puppybasic2 -e 'a=1:b=2:c=a+b:print c'
To compile [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]], run:
./_compilePuppyBasic2.sh
This creates a [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]]-2.5.tar.gz that can be installed as alien Package in Puppylinux, or extracted to all Linuxsystems that meet these dependencies:
sh-3.00# ldd wxbasicscript
linux-gate.so.1 => (0xffffe000)
libm.so.6 => /lib/libm.so.6 (0x40014000)--- libSM.so.6 => /usr/X11R7/lib/libSM.so.6 (0x4003a000)
libICE.so.6 => /usr/X11R7/lib/libICE.so.6 (0x40042000)--- libX11.so.6 => /usr/X11R7/lib/libX11.so.6 (0x4005a000)
libXmu.so.6 => /usr/X11R7/lib/libXmu.so.6 (0x40148000)--- libc.so.6 => /lib/libc.so.6 (0x4015d000)
/lib/ld-linux.so.2 (0x40000000)--- libXau.so.6 => /usr/X11R7/lib/libXau.so.6 (0x40269000)
libXdmcp.so.6 => /usr/X11R7/lib/libXdmcp.so.6 (0x4026d000)--- libdl.so.2 => /lib/libdl.so.2 (0x40272000)
libXt.so.6 => /usr/X11R7/lib/libXt.so.6 (0x40276000)--- libXext.so.6 => /usr/X11R7/lib/libXext.so.6 (0x402c6000)
sh-3.00#
==== [[http://puppylinux.org/wikka/PuppyBasic PuppyBasic]] use: ====
* wxbasicscript included standard in Puppy 1.0.5 and greater
* Write your program using a text editor (even Leafpad / Beaver) into a file with the .wxbs extension;
* Change to executable with ROX
==== Running Programs ====
**How does one execute a wxbasic program?** **Do you just type 'wxbasic [filename]'?**
When in Puppy any file with the extension **.wxbs** would be interpreted as a runnable program
You can also run any text file manually as a BASIC progam, with either of these command formats:
# puppybasic helloworld
# wxbasicscript helloworld
For now use rxvt
Create a program in a text editor and save for example
helloworld.wxbs
%%(language-ref)
#!/usr/bin/wxbasicscript
Tutorial for Puppy 1.0.5 wxBasic - Lobster Sep 2005, uses PuppyBasic script created by Mark Ulrich
include "/usr/lib/wxbasicscript/basefunctions.inc"
result = xmessage ( "-buttons About_Basic,Lesson1,Lesson2,Lesson3,Reference Welcome to the Puppy wxBasic Tutorial Please choose" )
xmessage ( result )
MSG = ""
if result = "About_Basic" then MSG = "you chose about"
if result = "Lesson1" then MSG = "you chose Lesson 1"
if result = "Lesson2" then MSG = "you chose Lesson 2"
if result = "Lesson3" then MSG = "you chose Lesson 3"
if result = "Reference" then MSG = "you chose Reference"
if result = nothing then MSG = "you closed the window"
xmessage ( MSG )
%%
Running the code:
#wxbasicsh helloworld.wxbs (you must have wxbasicscript - details to follow shortly - this page being developed)
or
wxbasicsh myprogram.wxbsh
You also might add the line
#!/usr/bin/wxbasicscript
to your program file as the first line to main.wxb, and make it executable:
chmod 755 main.wxb
Then you can start it like a "main.exe":
./main.wxb
(or click on it in rox)
Nb:
Lines beginning with are comments and will be ignored during execution.
Take existing applications, and modify to your needs.
http://www.murga-linux.com/puppy/%7Epuppy/viewtopic.php?t=3486
To start, this might be easier:
http://www.murga-linux.com/puppy/%7Epuppy/viewtopic.php?p=20582#20582
The main concept:
You have a shellscript, that runs "main.pb" in the /resource -folder.
main.pb basically just displays xxx.tpl, which is the grafical user-interface (GUI).
In the Gui you can see Button-definitions. When a button is clicked, a shell-command or a script is executed, that creates a textfile in /tmp. Then the textarea is refreshed, that's to say it reloads the textfile.
This is right the concept you would need. To determine, if the webserver is running, you might need a shell-command like:
ps|grep httpd >/tmp/httpdcheck.txt
In puppybasic, you execute it like this:
shell( "ps|grep httpd >/tmp/httpdcheck.txt" )
Then you have to open that file, and check if it is empty ot not. If it is not empty, the webserver is running. This method is not 100% exact, but should do it usually. [[http://www.murga.org/%7Epuppy/viewtopic.php?p=13222#13222 PuppyBasic aka Wxbasicscript]]
It will be installed together with the example:
http://www.murga-linux.com/puppy/%7Epuppy/viewtopic.php?t=2182
----
==Categories==
CategoryDevelopment