Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Have you downloaded Doors CSE 8, used it a while, and found a bug or thought of a feature you think it should have? This is the place to let me/us know. If you're posting a feature request, please provide as much detail about your idea and why it would be a useful and popular addition to Doors CSE as possible. If you're reporting a bug, you must at least include (1) the version and build number of Doors CSE 8 on your calculator and (2) clear and complete steps to replicate the bug, if possible. Thanks!
Feature Request:

I think string management and manipulation would be beneficial for BASIC programs.

Theres a LOT of things you can do with strings, but the BIGGEST drawback, is being able to easily store a number to a string, or convert a string, to a number. Here is a list of my current thoughts on what could be added.

number -> string (including negative symbol and decimal point)
string -> number (should check to see if there is anything OTHER than a number symbol)
get dimension of a string (similar to dim() for lists and matrices)
split strings at a given point ("ABCDEFG" -> "ABCD" & "EFG")
check for a character within a string, and return ALL positions of said characters
- "(4x-5)(24x+4)(x-2)" Search for "(" returns {1,7,14}
- This would seriously help BASIC apps parse a string
BlackOnyx wrote:
Feature Request:[...]
number -> string (including negative symbol and decimal point)
This can be performed in pure BASIC with this technique.
Quote:
string -> number (should check to see if there is anything OTHER than a number symbol)
inString() + expr().
Quote:
get dimension of a string (similar to dim() for lists and matrices)
length()
Quote:
split strings at a given point ("ABCDEFG" -> "ABCD" & "EFG")
Two judicious uses of sub()
Quote:
check for a character within a string, and return ALL positions of said characters
- "(4x-5)(24x+4)(x-2)" Search for "(" returns {1,7,14}
- This would seriously help BASIC apps parse a string
An ASM function to do this would be faster than inString() in a loop, but I'm not sure enough people would need that for general-purpose programs.
For integers within the range -9999 to 9999 you can use one of the built in DCS xLIB functions DrawStringValue as along with drawing the string, it returns the conversion of it as a string in Ans. You could just draw the string offscreen if you want the conversion only.

You can find more information in the DCS wiki: http://dcs.cemetech.net/index.php/DCSE:BasicLibs:DrawString
Quote:
Quote:
number -> string (including negative symbol and decimal point)
This can be performed in pure BASIC with this technique.

It would make more sense to not have to write a small program just to do that.

Quote:
Quote:
string -> number (should check to see if there is anything OTHER than a number symbol)
inString() + expr().

Again, an ASM routine for this would be faster, and much smaller/simpler for basic coders

Quote:
Quote:
get dimension of a string (similar to dim() for lists and matrices)
length()

Hmmm, why I didnt know that is beyond me. Razz

Quote:
Quote:
split strings at a given point ("ABCDEFG" -> "ABCD" & "EFG")
Two judicious uses of sub()

Would probably have to be used more with the next suggestion to be most effective

Quote:
Quote:
check for a character within a string, and return ALL positions of said characters
- "(4x-5)(24x+4)(x-2)" Search for "(" returns {1,7,14}
- This would seriously help BASIC apps parse a string
An ASM function to do this would be faster than inString() in a loop, but I'm not sure enough people would need that for general-purpose programs.

I could find a ton of uses for this, especially right now. Very Happy )
Other than that, I dont have any new suggestions yet. But Im sure some will come to mind eventually. How long before you want to, or plan to, make another release?
BlackOnyx wrote:
Other than that, I dont have any new suggestions yet. But Im sure some will come to mind eventually. How long before you want to, or plan to, make another release?
Excellent question. I have quite a number of programs that I want to work on, including finishing up the Jezzballs and at least two other color ASM programs to run under Doors CSE, so for now I'll be focusing on maintenance in the form of bug fixes. It'll probably be the new year at least by the time I'm ready to consider new features.
Some minor issue on home screen when running multiple programs at once: If from there, you type something like prgmNAME1:prgmNAME2, only the first program gets executed.
I'm unfamiliar with DCS8 and this "multiple program" thing (feature?) but wouldn't Program 2 start if Program 1 ends peacefully? Such as having Return as the last line instead of End or Stop.
DJ_O wrote:
Some minor issue on home screen when running multiple programs at once: If from there, you type something like prgmNAME1:prgmNAME2, only the first program gets executed.
Hmm, I see. There's probably something that I can do about that in terms of what my parser hook returns, but I'm happy to say that that's probably a bug that will be triggered very rarely indeed.
An idea for a future version of DCSE would be the creation of appvars and editing them within the BASIC editor, though I'm not sure what you'd have to do to get DCSE to scan for appvars. Might be something to have a 'system' folder of sorts that cannot be deleted that contains just appvars?
KermMartian wrote:
DJ_O wrote:
Some minor issue on home screen when running multiple programs at once: If from there, you type something like prgmNAME1:prgmNAME2, only the first program gets executed.
Hmm, I see. There's probably something that I can do about that in terms of what my parser hook returns, but I'm happy to say that that's probably a bug that will be triggered very rarely indeed.

also if program would show a number instead of Done, there is just Done

Test:

Code:
PROGRAM:DCSBUG
Input X
X
I've noticed an issue that if you are using a lot of Text( commands and it errors out, then you try to run the program again, it pastes the previous contents up to the graphscreen before it actually begins running your program. Don't know yet if this is something in jstified, or a DCSE error.
I would like to request this feature be added:
http://dcs.cemetech.net/index.php/BasicLibs:NumToString
merthsoft wrote:
I would like to request this feature be added:
http://dcs.cemetech.net/index.php/BasicLibs:NumToString
I hemmed and hawed about it, and in the end I decided for the number of times it was used, people could just use the BASIC tricks for it: Number to String.
What is the size of the number that you want to convert? xLIBC can convert a number from -9999 to 9999 into a string as a bi-product of the DrawString function?
How does that work? What if I'm in a setting where I don't what xlib drawing anything?
You can just draw it offscreen ( like y=-8 ) and use Ans how you like.
Seems I have another bug to report. First time this has happened to me:

1: Extract a file from somewhere (someones uploaded 8xp file for example)
2: Upload to SC3 for view/edit
3: Export file from SC3 with different file name
4: Send exported file to 84+CSE
5: Rename file in DCS8 to something else
6: BUG! Now both the original file (original name), AND the RENAMED file, exist. Both are the SAME code. Never deleted the original file, but also didnt actually RENAME it either

Only seems to work on the real calc, not on the emulator, so no-go for an animated screenshot
And this doesn't happen with renaming files in general? Have you found it to work with different programs? Is the SC3 part important?
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 14
» All times are GMT - 5 Hours
 
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

 

Advertisement