Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
This is what my search bar is currently:

Code:
"ClrHomeDisp Output(Pause Menu(iPart(int(fPart(round(randrandInt(randNorm(randBin(randM( and  or  xor not(->"Str3 //I have it as Str3, as Str1 and Str2 are being used
Disp "FIND THE COMMAND","IN THE CATALOG","AND THEN HIT","ENTER","CATALOG [2nd][0]"
Input "",Str4
inString(Str3,Str4->θ
If θ>0 and θ<6
Then
ClrDraw
ClrHome
End
If θ>5 and θ<19
Then
ClrDraw
ClrHome
End
If θ>0 and θ<6
Goto H
If θ>5 and θ<19
Goto FU

PT_ wrote:
Heey, what I would do is something like this (in pseudocode) with Doors:
(Don't know whether you had already this Very Happy )

Code:

Repeat until stop
ClrHome
Input Str2
"rowSwap([name of appvar]"->Str1
"[list of all elements in catalog, without closing parenthesis]"->Str3
inString(Str3,Str2
[read corresponding line from appvar, i think det(2)]
Disp Str2 [your input]
Disp Str9 [what is on that line of the appvar]
Pause
End

and what you can do too, is store Str3 of my program above in the appvar too, makes the program much smaller.

I am making this solely in TI-Basic. I am not using appvars, as I don't know how to use them.
MrDew25 wrote:
I am making this solely in TI-Basic. I am not using appvars, as I don't know how to use them.


I'm telling you from now-- if you actually plan to create a comprehensive guide, you absolutely need to use Celtic and appvars. There's a similar program for the 84+CSE that documents the Doors CSE Hybrid BASIC libraries, called LIBHELP; it contains only a fraction of the data that your command program will have to contain, but look at the size of its appvars (LIBDAT and LIBNAME):

48.8 thousand bytes. If you try to use a string for this, you'll have to leave it unarchived-- but it's going to have to contain more than 488 thousand bytes of info, which is already more RAM than the calc has. There's no way the calculator is going to be able to contain a string containing info on every single command that it has, unless each description is less than 35 letters (assuming you want to leave some free space to the calc; if not, you can have around 40 letters.) Do you know how little 35 characters is? The next paragraph alone is only 32 characters. That's nowhere near enough room for a meaningful command description, and even if it was you'd be looking at a huuuuge string that the user could accidentally delete or overwrite in less than a second.

TL;DR: Use appvars, not strings.
MrDew25 wrote:

I am making this solely in TI-Basic. I am not using appvars, as I don't know how to use them.

See this link for an explanation, very useful and powerful!
PT_ wrote:
MrDew25 wrote:

I am making this solely in TI-Basic. I am not using appvars, as I don't know how to use them.

See this link for an explanation, very useful and powerful!


He's doing this for the monochrome calcs-- so this link would be the one he's looking for.
What I am doing is that i am making the string with the commands and then archiving it. Then when it is needed, I unarchive it
MrDew25 wrote:
What I am doing is that i am making the string with the commands and then archiving it. Then when it is needed, I unarchive it

Yes, but I think what the idea is that you cannot unarchive a string if the size is greater than the amount of RAM free. I would highly suggest just adding in a few commands to read from an Appvar, as you will be able to read by line, and it will make your life a lot easier if you needed to look up a certain command. Smile Looking pretty spiffy though! Smile
I'd like to point out that each command token should be just 1 byte, so technically, with all the actual commands put in one solid string, it shouldn't take up 2kb. Also, one would be at an advantage using sub(, you'd always be retrieving just one character.

That said, the amount of data it would take to discuss each command to explain what they do would be beyond what you could make without using libraries. -IF- that's the purpose of this project.
tifreak8x wrote:
I'd like to point out that each command token should be just 1 byte, so technically, with all the actual commands put in one solid string, it shouldn't take up 2kb. Also, one would be at an advantage using sub(, you'd always be retrieving just one character.

Also, to add on to that, when doing instring() and sub() when working with gigantic strings is going to slow the program down by a ton.

Keep in mind too that the max indexable amount of a string is 9999.
This is definitely going to cause some issues, especially if you have a string that is longer than 9999 characters. Wink
So the maximum that you can actually do is really not that much.

On the other hand, if you are just storing the commands themselves and not explanations, you may be able to get a little bit better space requirements.
MateoConLechuga wrote:
tifreak8x wrote:
I'd like to point out that each command token should be just 1 byte, so technically, with all the actual commands put in one solid string, it shouldn't take up 2kb. Also, one would be at an advantage using sub(, you'd always be retrieving just one character.

Also, to add on to that, when doing instring() and sub() when working with gigantic strings is going to slow the program down by a ton.

Keep in mind too that the max indexable amount of a string is 9999.
This is definitely going to cause some issues, especially if you have a string that is longer than 9999 characters. Wink
So the maximum that you can actually do is really not that much.

On the other hand, if you are just storing the commands themselves and not explanations, you may be able to get a little bit better space requirements.

For the string, it is only the commands that I am storing. I use inString to store a value in a variable and then I have it go to the right program and label to output the explanations. Also, I'd like to quote something I said in a previous post:
MrDew25 wrote:
This is what my search bar is currently:

Code:
"ClrHomeDisp Output(Pause Menu(iPart(int(fPart(round(randrandInt(randNorm(randBin(randM( and  or  xor not(->"Str3 //I have it as Str3, as Str1 and Str2 are being used
Disp "FIND THE COMMAND","IN THE CATALOG","AND THEN HIT","ENTER","CATALOG [2nd][0]"
Input "",Str4
inString(Str3,Str4->θ
If θ>0 and θ<6
Then
ClrDraw
ClrHome
End
If θ>5 and θ<19
Then
ClrDraw
ClrHome
End
If θ>0 and θ<6
Goto H
If θ>5 and θ<19
Goto FU

If I were to use appvars, two things:
1. Will I have to use Doors to run the program then?
2. Would you be able to show me how to do it if Doors is not required?
MrDew25 wrote:
But, if I were to use appvars, two things:
1. Will I have to use Doors to run the program then?
2. Would you be able to show me how to do it if Doors is not required?

1. Yes, I don't believe there's a way to access Celtic outside of Doors.
2. Sadly, TI didn't include a way for BASIC programmers to use Appvars, so that's not possible :/
So the code Ihave up there is what i am keeping them because i don't want them to need to have to download doors in order to use the program. is there a program that let's programmers for the ti-83 to exceed the memory limit because i think Iremember there being one
M. I. Wright wrote:
MrDew25 wrote:
But, if I were to use appvars, two things:
1. Will I have to use Doors to run the program then?
2. Would you be able to show me how to do it if Doors is not required?

1. Yes, I don't believe there's a way to access Celtic outside of Doors.
2. Sadly, TI didn't include a way for BASIC programmers to use Appvars, so that's not possible :/

Well, there is a way to use the celtic libs without dcs, and that is to, quite frankly, use the celtic libs Razz .
http://www.ticalc.org/archives/files/fileinfo/424/42446.html
Above to download
Thanks for the link LuckyGhost, but I won't be able to open it for a while as I will be focusing on finishing the last few weeks of school on a strong note, so I may not have that many updates on the program. I will also be focusing on other projects that aren't programming related that also will steal my focus on the program. I will still work on it, just not as frequently as before
I am happy to say that I am beginning to work on this project again. The "non-programming" thing that I was doing I am not anymore, so I will have a lot more time to work on this. However, I have placement tests and an AP test, so I won't be giving any updates soon. The only thing that I can say is that I added in one more command explanation and am about halfway with finishing the functions portion of the program.

Edit: The functions program was getting to large for my comfort, so I split it into two parts, here is the first part completed:

Sorry for so many posts in a row, but I feel that if I keep editing my posts, no one will view them and no one will comment any suggestions on what I could be doing better. Anyways, here is the main point of this post:

I have finished the second part of the functions portion of the program. This means that I am 20% complete with the program (categories wise). If you have any suggestions on how I should be making this, please tell me. As of this post, I am working on the inputs, which is a shorter category than I have had so far. Here is a .gif of the last section of the functions part:
Finished the User Input portion of the command. I will be taking a break to work on a English project and that will eat up my time. Here is the .gif of the Input screen though:
I am glad to announce that I have now graduated and can continue to work on the program. However, since I am done with school, I will be working more, so don't expect updates every day. I will try to get new parts out as soon as I can.
*bump*

How's it going with this? Got any new updates?
Michael2_3B wrote:
How's it going with this? Got any new updates?

I'll be honest, I haven't been working on it that much since I was busy working full time at my job that I just forgot about the program. I will be working on it now that I'm back, just not right away, as I want to get in again before tackling this project.
Hello, first, lets get a few things out of the way first:
1. Yes, I know this is a double-post and I'm sorry for that, but I wanted to keep this in the same thread
2. Yes, I have been gone for a long time, but I won't be explaining why.
3. I didn't have time to create a .gif file of the update, so you will have to either wait until I can (probably won't though) or will have to go and try the program to see it for yourself

Now, to the update.

I have completed the Graph section of my program and hopefully the Beta version 1.0 will be posted sometime soon. I also added an important note to the description of the program so please read it before you try to use it or download it to use on your own calculator.
  
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 2 of 3
» 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