|
- Forum - iziBasic
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 257
Topic # 1058 |
Array length; current color of x,y; how to draw a circle? |
17/01/2005 @ 17:52 by hgcoon
|
Dear iZiBasic practitioners, I have just started to use iZiBasic and am delighted to find a compiler for Basic on the Palm. At present, I'm using a IIIc OS 3.5 but soon hope to be using a T3 and OS 5.x. I have written one "Hello" program and compiled and run it successfully -- no surprise there. However, there are some things that I'd like to see upgraded in future builds. 1) I find limiting Arrays to length ~255 to be very constricting indeed. I'd like to see them extended to at least 4096 elements and should have up to 3 dimensions.... 2) Also, the graphics appear a bit arcane. Even living in this restricted universe, I'd like to see some way to retrieve the color of a point x,y in the screen (bitmap). There apparently is no such command now; is there a work around -- perhaps a PEEK to the right place (?) in the bitmap (location?). Obviously, in order to do that we'd need to know where the structure is and how to address it as well as knowing how to find points x,y with PEEK (can iziBasic use "offsets" like this?). Perhaps more simply, I need to know if a point x,y is non-white (or non background color). 3) how can iziBasic draw a circle? Other simple graphics can use a radius for a rounded corner-rectangle to do this... Thanks and keep up the excellent work! I look forward to enjoying and participating in the evolution of iZiBasic. Hayden Coon, Sebago, Maine, USA |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 1 -------- 17/01/2005 @ 18:54 by Montalvo
visitor |
About how to draw a circle, theres no direct command to do that, but you can find a small routine to do it inside the sourcecode of the iBClock example.
(Look into the _DrawScreen routine in the sourcecode)
|
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 2 -------- 18/01/2005 @ 22:00 by aldweb
visitor |
Hello Hayden,
Welcome among us, crazy iziBasic developers
Your point #1:
You are right about this limit, it is very constricting for large projects, not too much for most "quick" projects which was the initial goal for iziBasic. I started to study how to overpass this limit, which is not so easy to remain compatible back to OS 3.0 and not to loose to much of the current good execution speed.
About dimensions, you can easily build a multidimensional array in a one dimension array. Let's say that you want to build a 10x5 array, something like Array(1..10,1..5). Then, knowing the I and J indexes, a position is found this way: P=(J-1)*10+(I-1)+27 Then A(P)=Array(I,J). Note: we add 27 because the first 26 values of the A() array in iziBasic are duplicates for the A-Z variables, which I think is very convenient. The other way is just as easy: J=(P-27)10+1 I=(P-27)-10*(J-1)+1 So that Array(I,J)=A(P)
Your point #2:
PEEK the way you explain it would not really work in a Palm device, it was working great in my old Commodore 64
I added tonight a new PGET(X,Y) function to iziBasic to get the pixel color at position (X,Y). So, it will be made available in a few days, in the next upgrade release.
Another way would have been to know the WinGetPixel() Palm OS API call, and to use a PP applet in a very similar way to the one I used in a recent thread on this forum.
Your point #3: Good answer from Montalvo. It's good to remember Pythagore, Thales and a few other Greek antic people from time to time
Cheers
@+ aldweb |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 3 -------- 19/01/2005 @ 02:20 by Hayden Coon
visitor |
Greetings from icy cold Maine! (-26C expected tonight)
Wow! Thank you very much for you interest and especially pget(x,y). I look forward to the solving of the longer arrays issue before too long as well! Thanks also to Montalvo for suggesting the brute force method that I had rejected on aesthetic grounds . I shall try to add to that by producing a "filled circle" program also using the bruit force method of doing "LINETO x,y" using the reflected points calculated with cos and such... I'll post it if I succeed. The larger issue would seem to be: how much like the full blown language implementation does the Palm version want to achieve? One one hand, I have the vision of the Victorian English picnic -- crystal and sterling and bone china on the grass (ultimately fancy pretending no accomodation). On the other hand, I see freeze-dried meals on the slopes of Everest -- more like the Palm environment. The challenge it seems to me is to discover the minimum set of commands that make nearly any algorithm achievable so as to run as efficiently as possible. I use Future Basic on the Mac; in the airport I doodle with LispMe and now iziBasic. Can we dream of a time when we are able to test sophisticated implementations in the airport? I think yes, but it won't be izi -- however, it might be iziBasic. Many thanks and continued best wishes, Hayden Coon, Sebago, Maine. |
|
|
Warning: A non-numeric value encountered in /web5/aldweb/www/aldweb_com/www/thread.php on line 497
Answer n° 4 -------- 19/01/2005 @ 22:10 by aldweb
visitor |
Hayden,
It is a pleasure to read you!
I do not have the same food vision as you, I am lucky to be French and to know what real good food is
Apart from kidding, I am indeed trying to keep iziBasic easy and quick to use, as its name pretends to state it, and still have it being powerfull enough to design nice applications.
For your information, version 4.2 was put posted tonight and you will already have your PGET function.
Cheers
@+ aldweb |
|
|
topic active
topic closed
Sticky
New message -
Correct message
Close topic
Make sticky
|
|