Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 24 Apr 2014, 00:55
All times are UTC - 4
 Forum index » Off-Topic Area » Programming
BaCon - Bash-based Basic-to-C converter/compiler
Post new topic   Reply to topic View previous topic :: View next topic
Page 25 of 36 [526 Posts]   Goto page: Previous 1, 2, 3, ..., 23, 24, 25, 26, 27, ..., 34, 35, 36 Next
Author Message
sunburnt


Joined: 08 Jun 2005
Posts: 4985
Location: Arizona, U.S.A.

PostPosted: Thu 29 Sep 2011, 08:20    Post subject:  

Problem with an associative array: SEGMENTATION FAULT array out of bounds?

Array gives out correct data, clicking a button and calling a sub gets error.
But the button`s ID array is a std. array, not the associative array.
Sub called has widget_ passed to it: SUB btnCLK(int widget_)

Put the files in: "/tmp/apps.sq"
Compile: "sqApps.mnu.bac" and run in rxvt.
Click Menu button and menu Item and it errors calling sub.

It never even makes it to the SYSTEM command, line #65.

Print command shows the associative array is properly filled.

If it finally runs properly, it`ll error because there`s no Squash App. file.
AssociativeArrayError.zip
Description  Make dir.: /tmp/apps.sq , copy file to it and unzip it.
zip

 Download 
Filename  AssociativeArrayError.zip 
Filesize  1.34 KB 
Downloaded  235 Time(s) 
Back to top
View user's profile Send private message 
GatorDog


Joined: 12 Sep 2006
Posts: 136

PostPosted: Thu 29 Sep 2011, 13:06    Post subject:  

Terry,
Code:
CALLBACK(btnIDs_[i], "btnCLK")
Nix the quotes Razz
Code:
CALLBACK(btnIDs_[i], btnCLK)


(interesting code, by the way Idea )

rod

(IMHO)There doesn't seem to be an exact correlation between button geometry and window geometry in HUG.
Most of the time it doesn't mater, but you're trying to keep this widget compact.
Did this to fit all the buttons vertically in the widget, with a slight visual
spacing between buttons. It may need more fudging when more buttons
are present; but it's a good start.
Code:
'added to variable presets
btnSpc = 2
btnY = btnH + btnSpc
...
'mod'ed these two lines
btnY = btnY + btnH + btnSpc
winH = winH_0 + ( (btnH + (btnSpc * 2)) * btnCNT ) + btnSpc

...
Back to top
View user's profile Send private message 
sunburnt


Joined: 08 Jun 2005
Posts: 4985
Location: Arizona, U.S.A.

PostPosted: Thu 29 Sep 2011, 13:37    Post subject:  

L.O.L. _ _ _ Late night coding, a real quality producer...
The compiler could be better sometimes, but it can`t out-guess dumb!

I`ll look at your spacing to see it`s visual appeal, any other ideas?

Maybe Puppy has a new pop-menu, with sub menus when I get it added.

Thanks Rod ( the GatorDog )
Back to top
View user's profile Send private message 
sunburnt


Joined: 08 Jun 2005
Posts: 4985
Location: Arizona, U.S.A.

PostPosted: Thu 29 Sep 2011, 19:21    Post subject:  

EXEC keeps giving me grief no matter how I try to use it.
What`s wrong with this? ......... Get options from args.
Code:
FOR i = 2 TO 5
   Opt$ = CHOP$(EXEC$("echo", ARGUMENT$, "|cut -d'-' -f", i))
'   IF Opt$ = "" THEN BREAK

PRINT Opt$

NEXT

"echo ....." works from the shell, but not here. Empty output lines.
Tried CONCAT$ also, looks like EXEC$ only sees "echo".

I spent hours trying to get INSTRREV to work, it will not with MID$ !
I got INSTR to work, but decided to take my own advice and do it in the shell.
Back to top
View user's profile Send private message 
GatorDog


Joined: 12 Sep 2006
Posts: 136

PostPosted: Thu 29 Sep 2011, 23:25    Post subject:  

Code:
Opt$ = CHOP$(EXEC$("echo", ARGUMENT$, "|cut -d'-' -f", i))

You just insist on hittin' your thumb with a hammer Razz
EXEC$ is seeing 3 strings and a number. 3 strikes you're out.

Code:
Cmd$ = CONCAT$("echo ", ARGUMENT$, "|cut -d'-' -f", STR$(i))
Opt$ = CHOP$(EXEC$(Cmd$))


-----------------------------------------
However, this may serve you better
Code:
SPLIT ARGUMENT$ BY " -" TO Arg$ SIZE Arg_count

That'll give you all the command line arguments.
Arg$[0] is the command/program name
Arg_count gives the number of arguments
Then you can pick them off one-by-one Arg$[1] Arg$[2] ....Arg$[Arg_count]

Note that I used a "space dash" ( " -" ) in the SPLIT as the seperator.
That should preclude a trailing space on the Arg$[] variables.

The Arg$[] number is affected by the use of OPTION BASE 1; adjust accordingly. Wink

rod

By the way, I didn't actually test any of that. Ye pays yer money and ye takes yer chances! RRR...
Back to top
View user's profile Send private message 
sunburnt


Joined: 08 Jun 2005
Posts: 4985
Location: Arizona, U.S.A.

PostPosted: Fri 30 Sep 2011, 02:46    Post subject:  

Your code works of course... But the Bacon docs are wrong... >Sad

Also the command "FILETYPE" doesn`t correctly report a sym. link as "6".
It says it`s a "1", a Regular file. I thought it was reporting the file the link points to.
But I made a link pointing to a link and it still reports it as "1", a Regular file.
Seems "FILETYPE" can`t be relied on for sym. links at least.
Back to top
View user's profile Send private message 
GatorDog


Joined: 12 Sep 2006
Posts: 136

PostPosted: Fri 30 Sep 2011, 11:29    Post subject:  

Quote:
Also the command "FILETYPE" doesn`t correctly report a sym. link as "6".
It says it`s a "1", a Regular file. I thought it was reporting the file the link points to.

This is probably something to address in the Bacon Forum. Either to be explained or
if it's a bug, then to be dealt with.

GatorDog
Back to top
View user's profile Send private message 
sunburnt


Joined: 08 Jun 2005
Posts: 4985
Location: Arizona, U.S.A.

PostPosted: Sat 01 Oct 2011, 17:47    Post subject:  

Hey big_bass; The Geany syntax highlighting is great!

Problem with Geany... The filetypes.freebasic selection in Document doesn`t stay that way.

Not a problem with your mod. I know, but I`m sure there`s a simple fix.
Thanks for the help... Terry
Back to top
View user's profile Send private message 
big_bass

Joined: 13 Aug 2007
Posts: 1747

PostPosted: Sun 09 Oct 2011, 22:28    Post subject:  

this is BaCon related news

Bacon and Hug color for forum posts in phpBB code

(it is a scriptable keyword generator ) I chose Bacon to be its first format
to add color to other formats will follow


you'll have fun adding many things to this

http://www.murga-linux.com/puppy/viewtopic.php?t=72399&start=2

Joe

_________________
debian wheezy ,linux mint, slackware I use them all and they all have good points
Mint would be best for general users though
Back to top
View user's profile Send private message 
big_bass

Joined: 13 Aug 2007
Posts: 1747

PostPosted: Tue 11 Oct 2011, 11:06    Post subject:  

http://murga-linux.com/puppy/viewtopic.php?t=48901&start=353
updated Oct-11-2011 to add some missing keywords

if for some reason you just cant click on the file to open it *with color
later I'll post my compiled geany to see if that may be the cause
*or use the same build script just to clear up any doubts


because I have tried this puppy pfix=ram and
just clicking on the file works for me (color is there automatically )
I would like to find out why it isnt working for some people
in order to fix it quickly



@BarryK
Thanks for the comments
I have just seen the link from your blog (I forgot my password to comment there )
I would like this geany fix to be done" correctly" and eventually
be compiled into geany having a bacon.filetype so that we dont clobber freebasic
this is just a small step in that direction

any feedback welcomed
Thanks

Joe

_________________
debian wheezy ,linux mint, slackware I use them all and they all have good points
Mint would be best for general users though
Back to top
View user's profile Send private message 
big_bass

Joined: 13 Aug 2007
Posts: 1747

PostPosted: Thu 13 Oct 2011, 01:34    Post subject:  

now we can use even another very easy message system
using pango-view

http://en.wikipedia.org/wiki/Pango
http://manpages.ubuntu.com/manpages/jaunty/en/man1/preload.1.html
Quote:

The GTK+ UI toolkit uses Pango for all of its text rendering


my first example code
this Bacon is too cool


Joe


Code:

' *****************************************************
' PROGRAM:   pango-test1.bac
' PURPOSE:   show how to use pango-view
' AUTHOR:   big_bass Joe Arose
' DEPENDS:   gcc, bacon, pango
' PLATFORM:   linux
' DATE:      Oct 10-2011   
' NOTES:   one more simple message option
' LICENSE:   GPL version 3 or later
' *****************************************************
' first example using pango-view
' could also be used to debug showing exact line numbers


PRINT "============================="
PRINT "Test 1: Testing pango-view"
PRINT "============================="
PRINT

PRINT "Close box to continue"

' one long command line
result$ = EXEC$("pango-view  --font=\"DejaVu Sans 12\"  --markup  --text 'This is a DejaVu Sans 12 output on a X screen'")



PRINT "Close box to continue"

' dialog formatting for easy reading notice the new lines  are respected
result$ = EXEC$("pango-view \
 --font=\"DejaVu Sans 24\" \
 --markup \
 --text 'DejaVu Sans 24 \
 output on a X screen'")

PRINT result$


pango-test1.tar.gz
Description 
gz

 Download 
Filename  pango-test1.tar.gz 
Filesize  12.14 KB 
Downloaded  203 Time(s) 

_________________
debian wheezy ,linux mint, slackware I use them all and they all have good points
Mint would be best for general users though

Last edited by big_bass on Thu 13 Oct 2011, 13:19; edited 3 times in total
Back to top
View user's profile Send private message 
8-bit


Joined: 03 Apr 2007
Posts: 3287
Location: Oregon

PostPosted: Thu 13 Oct 2011, 03:26    Post subject:
Subject description: Bacon for Slacko RC
 

I just uploaded the package to make Bacon for Slacko RC 5.29.5 at
this location.
You will heed to have the kernel source and devx loaded to compile it.
Run the "bacon.bash" script from the package after extracting the package. You can then copy the bacon binary to a place of your choosing.

Have fun as always.
Back to top
View user's profile Send private message 
vovchik


Joined: 23 Oct 2006
Posts: 1285
Location: Ukraine

PostPosted: Sat 15 Oct 2011, 06:45    Post subject: Making noise in BaCon  

Dear Puppians,

This is one way to generate sounds simply in BaCon - provided you have the device /dev/audio. I will experiment a bit more with this so that we can get hex strings that correspond to certain frequencies. It will then be possible to create a useful PLAY statement without invoking external libs. Peter's beep and piano demos require the PC speaker, and mine happens to be switched off.Smile

Code:
' *****************************************************
' PROGRAM:   bleep.bac (subroutine)
' PURPOSE:   to generate sine, square, triangle,
'          sawtooth and pulse waveforms simply
' AUTHOR:      vovchik (Puppy Linux forum)
' DEPENDS:   gcc, bacon and device /dev/audio
' PLATFORM:   Puppy Linux (actually, any *nix)
' DATE:      15-10-2011
' *****************************************************


' *********************
' DECLARATIONS
' *********************

OPTION MEMTYPE short

' *********************
' END DECLARATIONS
' *********************


' *********************
' SUBS & FUNCTIONS
' *********************

' ---------------
SUB BLEEP(NUMBER mysound, NUMBER myduration)
' ---------------
   LOCAL count, i TYPE NUMBER
   LOCAL wave$[7]
   ' check whether audio device exists
   IF FILEEXISTS("/dev/audio") THEN
      ' check whether passed sound value is in bounds for array definition
      IF mysound < 0 OR mysound > 6 THEN
         mysound = 2
      END IF
      ' check whether sound is not too short or too long
      IF myduration < 10 OR myduration > 3000 THEN
         myduration = 50
      END IF
      ' define the various waveforms as a series of hex bytes
      ' sine
      wave$[0] = "0F2D3F2D0F030003"
      ' square
      wave$[1] = "3F3F3F3F00000000"
      ' triangle
      wave$[2] = "00070F1D3F1D0F07"
      ' sawtooth plus
      wave$[3] = "3F271A120C080400"
      ' sawtooth minus
      wave$[4] = "0004080C121A273F"
      ' pulse plus
      wave$[5] = "003F3F3F3F3F3F3F"
      ' pulse minus
      wave$[6] = "3F00000000000000"
      ' convert hex waveform bytes to binary memvar
      ' this bit is necessary because C does not like the null character
      binsize = LEN(wave$[mysound]) / 2
      mybindata = MEMORY(binsize)
      count  = 0
      FOR i = 1 TO LEN(wave$[mysound]) STEP 2
         binbyte = DEC(MID$(wave$[mysound], i, 2))
         POKE mybindata + count, binbyte
         INCR count
      NEXT i
      ' generate a sound for a certain duration
      ' the actual duration will be processor-specific
      OPEN "/dev/audio" FOR WRITING AS myaudio
      count = 0
      WHILE count < myduration
         ' send binary waveform to audio device
         PUTBYTE mybindata TO myaudio SIZE binsize
         INCR count
      WEND
      CLOSE FILE myaudio
      FREE mybindata
   ELSE
      PRINT "Cannot open audio device /dev/audio."
   END IF
END SUB

' *********************
' END SUBS & FUNCTIONS
' *********************


' *********************
' MAIN
' *********************

FOR i = 0 TO 6
   BLEEP(i, 180)
   SLEEP 200
NEXT i

' *********************
' END MAIN
' ********************


I have also attached the source.

With kind regards,
vovchik

UPDATE. I have added a FREE mybindata right after CLOSE FILE myaudio, just to be proper.
bleep.bac.tar.gz
Description 
gz

 Download 
Filename  bleep.bac.tar.gz 
Filesize  1.13 KB 
Downloaded  199 Time(s) 

Last edited by vovchik on Sun 16 Oct 2011, 10:21; edited 3 times in total
Back to top
View user's profile Send private message 
GatorDog


Joined: 12 Sep 2006
Posts: 136

PostPosted: Sat 15 Oct 2011, 19:41    Post subject:  

Hi vovchik,

This is pretty cool. Cool I'll be checking it out right now.

rod
Back to top
View user's profile Send private message 
big_bass

Joined: 13 Aug 2007
Posts: 1747

PostPosted: Sat 15 Oct 2011, 20:49    Post subject:  

Hey vovchik

nice example code I ran into the same problem with beep.bac
and tried to get around it but with no luck so I moved on to other things
glad to see you kept at it and posted a solution Very Happy

the code you wrote is intended to simulate beep
or sound ,tones to the speaker

*but it looks a lot like code I used for sending info to the ports
(not your code but what it is doing) back in the old Qbasic days using the OUT command
and I used decimal numbers converted from binary numbers and hex
just so I could read it better for debugging
and hooked up led lights to the port while testing

I didnt use sound but did use waves /pulses
to control stepper motors what you wrote is
a great start for a small robotics project now


Joe

_________________
debian wheezy ,linux mint, slackware I use them all and they all have good points
Mint would be best for general users though
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 25 of 36 [526 Posts]   Goto page: Previous 1, 2, 3, ..., 23, 24, 25, 26, 27, ..., 34, 35, 36 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Off-Topic Area » Programming
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1047s ][ Queries: 13 (0.0147s) ][ GZIP on ]