PDA

View Full Version : Help File Gaps (Version 1.06.0.10)



marcuslee
08-09-2008, 02:59
I've mentioned it passing in some other posts, so I guess I will address it directly here. I'm only majorly familiar with one other basic language: Liberty Basic. In my opinion, ThinBasic out does LB in many respects, though I think LB is a nice programming language, and their support is wonderful just like ThinBasic. One area that LB out shines TB is their help file.

Here is an online version of their help file for reference:

http://www.libertybasicuniversity.com/lb4help/

Of course, LB can't do as much as TB, so I wouldn't expect the TB help file to be 100% correct and up-to-date all the time. But, there seems to be many gaps. In my humble opinion, at a very minimum for each keyword, function, equate there should be a general description and the form of the syntax. At times when the syntax isn't clear or there are many things that can be done with the keyword, function or equate, there probably needs to be at least one example. More than one example would be nice as well ... if the extra examples help.

I know this is a momumental task. But, the help file is the only flaw I see with ThinBasic. There are somethings that you may not like, so you may choose another language for that reason, but there is nothing wrong with TB ... except for the help file.

However, I am not going to gripe without offering a solution. I am willing to spend some time fixing this. I'll be the first to admit that I am a very amateur programmer, but I am willing to write some help file pages from information I get from this forum. I would be willing to submit page additions or corrections for approval. Or, if it isn't me actually writing the articles for the help file, I am more than willing to suggest such additions or corrections.

But, my suggestions are numerous, so I don't want to inundate this forum. With that in mind, I will start my project by listing the pages that need something right here in this message. I will give a brief explanation of what I think is missing. I don't expect everything to be fixed. There is way too much to do that. But, it will give us a place to start.


General Observations
I started looking at the top of the alphabetical index. I quickly noticed that there doesn't seem to be a page to describe the use of predefined equates. I think this could be done on one page total or one page per module ... with examples of how to use some of the more common ones but definitely examples for the ones that are unique and/or don't work like the others work. I will not list individual equates in this list.

If someone has written a good example using a keyword, function, etc ... it would be helpful to be listed in the help file. Or, at least a link to where it is posted on the forum would be nice.

Pages that introduce a module mention keywords but don't list any.


Specific Observations
#DEF / %DEF
[o]Good description and syntax
Just a question that would be helpful if answered in help file:
[o]what is the difference between % and # versions?
#INCLUDEDIR
[o]No Description
[o]No Syntax
I assume this is used to include all the files of a certain directory, but the help file gives no clues as to its purpose.
animate_play
[o]No information whatsoever
[o]misspelled in the index
animate_open
[o]No information whatsoever
animate_stop
[o]No information whatsoever

app
[o]Only contains a description, no further details.
[o]Might be helpful to contain links to the mentioned functions.

APP_MutexClose AND APP_MutexCreate
[o]Maybe it's just me, but there should be a definition of what a mutex is ... either on these pages or with its own introduction page.

APP_Source AND APP_Script pages
[o]Is there a difference between Source and Script versions?
[o]Either way, it might be helpful to have a remark stating the difference or the sameness.

APP_SourceVersion
[o]The syntax section doesn't contain the Source version.

appendtotop
[o]Do you mean "Before" when you say in the description: "adding new text to the top current one" ?
[o]If so, you may want to word this description this way: "Change the text in a dialog control adding the new text before the current text." (suggested changes are in bold)
[o]This suggestion also applies to: CONTROL_AppendText

Array (I don't know why this one isn't being displayed correctly!)
[o]Only contains a description, no further details.
[o]Might be helpful to contain links to the mentioned functions.

attach AND bar
[o]An example might be helpful with this one. Maybe an example of the entire menu structure of a dialog.
[o]The example could be on its own page, and all the menu element pages could link to it.

BIFF
[o]The page links to an empty page of equates.
[o]If there aren't any equates for this module, that part of the phrase probably should be there, not to mention the empty page.
[o]More information on what type of excel files are created using BIFF might be helpful.
[o]Examples showing how to use this would be helpful.

thinBundle
[o]More description of how this works is missing. But, of course, you say that in the help file, so it's not so bad. ;)

CALL DWORD
[o]The description is there but simple. Even with the example (which is good), I couldn't follow what CALL DWORD does. A little more detailed description might be in order.

CALL_IfExists
[o]The documentation on this one is fine ... except it might be helpful in the remark section if a description of when this function call might be preferred. Why would you use it? What type of situation?

check (Get and Set)
[o]Possible variable values would be helpful.

CHOOSE and CHOOSE$
[o]An example showing how this might be used would be nice. It seems this would work well with having the user choose something or having something evaluted with a function or other expression.

client DESKTOP
[o]Is this similar to screen resolution? A little more detail might be helpful here.

COM
[o]Except for a little description on the intro page, there is NO INFO on COM.
[o]None of the function pages have any information that I can see.
[o]However, there is an equate page! ???

Command Line
[o]What are the optional parameters?

common dialogs
[o]No info what so ever!

Console
[+]There are several console function pages that have no info:
[o]Alloc
[o]AreFileApisANSI
[o]attach
[o]disableCtrlC
[o]enableCtrlC
[o]free
[o]generateCtrlEvent
[o]getCP
[o]getCurrentFontIndex
[o]getNumberOfMouseButtons (This one is probably self-explanatory ... but it doesn't matter.)
[o]getOutputCP
[o]getProgressbarChar
[o]getStdHandle
[o]setActiveScreenBuffer
[o]setCP
[o]setFileApisToANSI
[o]setFileApisToOEM
[o]setOuputCP
[o]setProgressbarChar
[o]setStdHandle

controls
[o]No info, no lists, no nothing!

CreateFont
[o]No info, no lists, no nothing!

[+]TO BE CONTINUED ...

_________________________________________________

I think that is enough for right now. I can pick up the list with the D's another time.

Once again I would like to reiterate that I am not asking all of these things to be fixed. In fact, I am offering to help fix them in some fashion or form. Just let me know what you would like me to do. Remember: discussing some of these things in the forums will give me or someone else ample material to write descriptions, syntaxes and the like. I can submit them in whatever form you would like.

If the help file is updated in this fashion, there is ABSOLUTELY NOTHING holding thinBasic back from becoming the best Basic programming language ever ... in my humble opinion.

Mark :-\

ErosOlmi
08-09-2008, 07:19
Mark,

thanks a lot for your help. I will go through all of the items you mentioned fixing/changing as suggested. Maybe it will take a while but I will.

If you want to help writing some material, just write the text/code/sample you would like to have fixed/changed and I will insert mentioning your name.

Thanks a lot.
Eros

Petr Schreiber
08-09-2008, 08:51
Hi Mark,

mammoth job, thanks for your time on checking this.
With a plan like you did, it is much easier to fix problems.

One thing - what do you mean by "controls"? If you mean UI controls, I think there is some info.
Just unfold controls, and there will appear info on CONTROL ADD <control> and many others.


Thanks,
Petr

marcuslee
08-09-2008, 13:40
thanks a lot for your help. I will go through all of the items you mentioned fixing/changing as suggested. Maybe it will take a while but I will.


No rush! I just think that a complete help file will make this already great program (language) all the better. Although I am not brand new to programming, I still consider myself amateur, so help files are helpful for me. I won't ask nearly as many questions if I have a help file to read. However, for brand new programmers, a help file can be essential. Without one, they may move on to another programming language, and it would be a shame if they passed thinBasic up because documentation wasn't as great as it could be.



If you want to help writing some material, just write the text/code/sample you would like to have fixed/changed and I will insert mentioning your name.


I offer whatever help will help you. The more I think about it, I don't know how I can write them for you. In most cases I won't know the syntax or what a keyword, function does without asking, but if there is some way to help other than simply listing them here, I will glad to help. Having my name on the article or help file is not a priority. If in the long run, I can help thinBasic become the "21st century Basic for everyone," I will be more than happy.

My purpose is to learn, and I would also like to help the next newbie, whomever that may be.

Mark ;D

marcuslee
08-09-2008, 13:46
mammoth job, thanks for your time on checking this.
With a plan like you did, it is much easier to fix problems.


Thank you. Whatever I can do to help. Even if my job is just to provide a list for someone else to work from, I am happy to help.



One thing - what do you mean by "controls"? If you mean UI controls, I think there is some info.
Just unfold controls, and there will appear info on CONTROL ADD <control> and many others.


The CONTROL ADD pages are just fine, in my opinion. No, the page I was referring to was the CONTROLS page. Under the alphbetical index, when you get to "controls," a menu pops up with all the different types of controls. At the bottom of that list is a single entry to a "controls" page. I assume it was suppose to be as an introduction page, kind of like the other introduction pages for modules. That is the page that has nothing on it.

Mark :)

marcuslee
09-09-2008, 20:26
Okay, on with the list, picking up where I left off before. Here is my observations with the D's and E's:

Continued General Observations:

A page describing the difference between CLIENT and SIZE might be in order since there are several keywords/functions which use both of these terms.
Repeated from before: If someone has written a good example using a keyword, function, etc ... it would be helpful to be listed in the help file. Or, at least a link to where it is posted on the forum would be nice.
Repeated from before: Pages that introduce a module mention keywords but don't list any.


Continued Specific Observations:

Delete (Combobox & Listbox)
[o]I mentioned this in this thread (http://community.thinbasic.com/index.php?topic=2028). Something like this could probably be added for clarification: "Position = 1 refers to the first (top most) item. Position = 2 refers to the second and so on."

DeleteObject[/list]
[o]Blank page

Desktop
[o]The main page (introduction page) is blank.
[o]A better description, explaining the difference between SIZE and CLIENT might be helpful. (See general observations)

Dialog
[o]Description of CLIENT and SIZE needs to be added or linked to. (See general observations)
[o]USER: From the description, it isn't clear what GET USER and SET USER do, and the position ("Index" in the syntax) isn't clear either.
[o]POST & SEND: Possible values for Msg should be listed here or linked to their own page, such as the other equate pages.
[o]SHOW STATE: Possible values for ShowState should be listed ehre or linked to their own page.
[o]The introduction page for Dialogs is blank.

Dialog_GetControl
[o]A more detailed description of CtrlHandle and/or an example showing how to use this feature would be helpful.

Dialogs
[o]There is an entry in the Index called dialogs. When you click on it, a blank page with the title "Common Dialogs" appears. Is it related to the dialog page mentioned previously?

Dic, Dict, & Dictionary
[o]Was it on purpose that there are three entries in the Index that goes to the introduction page of the Dictionary module?

Dictionary_Add
[o]There is an example under Dictionary_Create. Perhaps that same example or a different one could be used for the other features of the Dictionary module, especially Dictionary_Add.

Dir (Directory)
[o]Some examples for directory functions would be helpful, in my opinion.

dt_isvaliddate
[o]More detail under what is returned would be helpful. What value is returned? %True & %False? 1 and 0? Both?

e
[o]Core equates are indexed under the single letter e. Was that on purpose?

Eval
[o]When you click on Eval in the Index, a box pops up (like all the other multi-option boxes previously) with two options. Both options are labeled Eval. The first one should probably be labeled Eval Module.
[o]If the EVAL module is still under "heavy" development, changes to the help file need to happen concurrently, so I won't mention anything here about specific Eval keywords or functions. I'm not even going to look at it. (Well, I did, but it looks okay as of right now!)
[o]An example showing how to use the Eval keyword/function might be helpful. It isn't clear what it does from the documentation.

Events
[o]Blank page

EXE_GetType & EXE_GetTypeName
[o]What are the possible return values? A link to the equate page would probably fix this.

EXE empty pages
[+]There are several pages that don't have anything on them except "help will follow"
[o]EXE_PE_GetHeapCommit
[o]EXE_PE_GetHeapReserve
[o]EXE_PE_GetStackCommit
[o]EXE_PE_GetStackReserve

Exe_PE_IS32, IS64, IsManaged, IsUPX
[o]From the syntax I think I understand what 32 & 64 do, but descriptions should be there, anyway.

Extended styles
[o]Does TreeView have extended styles? Because that page is blank, except for an empty grid/table.

[+]To Be Continued ...
[/list]

Mark 8)

ErosOlmi
09-09-2008, 21:44
Mark you are killing me ;D
But I like it. I will strikeout your items in your own posts when I will have solved it.

Ciao
Eros

marcuslee
09-09-2008, 21:46
I went ahead and added the version number to the main title of this topic since a new version is being tested now. And, in his announcement of the new release, Eros mentioned that the help file has been worked on. So, if any of the observations I am making are already fixed in the next version ... great. But, in any case, my observations are about version 1.06.0.10.

Mark ;)

marcuslee
09-09-2008, 21:50
Mark you are killing me ;D
But I like it. I will strikeout your items in your own posts when I will have solved it.


Great. I was actually thinking of that earlier. I'm glad you are going to strike it out. Take your time, though. I realize this is a major rehaul. And, if you decide not to change something, that is fine, too.

My whole point for picking on the help file is because I am the type of user that lives and dies by the help file, not to mention samples posted here in the forums. So, even if I will not personally benefit from some of the changes, someone is bound to benefit from it, which means they may not ask as many quote-un-quote dumb questions because those questions are answered in the help file.

Sorry that I am killing you. Take your time. I don't want you to bleed out. :D

Mark :)

marcuslee
10-09-2008, 05:39
Here is the last of the list, starting with the letter F and ending with the letter W. Have fun! :D



fonts
[o]Under the Index there is an entry called font, which leads to a blank page with the title FONTS.
[o]The page for font_create is blank as well.

FTP
[+]There are several pages that don't have any information for FTP related tasks.
[o]FTP_Command
[o]FTP_DelFile
[o]FTP_Extract
[o]FTP_Finished
[o]FTP_GetErrorNumber
[o]FTP_GetFile
[o]FTP_GetList
[o]FTP_GetNumber
[o]FTP_GetString
[o]FTP_SetMode
[o]FTP_SetNumber
[o]FTP_SetString

GetMultiAsyncKeyState
[o]It's page is basically blank.

GetTickCount
[o]What "system" is this referring to?

iCrypto_
[+]There are a couple of iCrytp_ pages that don't have anything on them.
[o]ASCII2String
[o]String2ASCII

Keyboard
[o]In the alphabetical index, there is an entry titled Keyboard that links to a blank page.

LAN
[o]All of the pages for LAN have no information on them except for the introduction page and the page for GetUniversalName.

Menus
[o]The introduction page for menus is completely blank.

OS
[+]The follow pages are blank for the OS section:
[o]FatalAppExit
[o]FlashWindow
[o]GetCurrentProcessId
[o]GetCurrentThreadId
[o]Process

PC
[+]The follow pages are blank for the PC section:
[o]GetCaretBlinkTime
[o]HideCaret
[o]SetCaretBlinkTime
[o]ShowCaret

Resources
[o]There is an entry in the index titled Resources that links to a blank page with the title Resources.

Set: Dialog Set Client
[o]The page for Dialog Set Client is blank. (I don't know why I missed this in the Dialog section of the D's. Oh Well!)

SMTP
[o]Except for the introduction page, the SMTP section is empty. Most of the commands don't even have their own page. The only one that does is SMTP_Connect, and there is nothing on that page either.

TBASS
[+]The following TBass pages are blank:
[o]MusicFree
[o]MusicLoad
[o]SampleGetChannel
[o]SampleLoad

TCP Functions
[o]There is a page titled TCP Functions that is blank.

thinBundle
[+]There are two pages for thinBundle that are blank:
[o]As a module
[o]As a tool

The Final Entry ...
[+]Last but not least, these following pages which have nothing to do with one another are blank. (I am lazy now after looking through so many pages.)
[o]Treeview extended styles
[o]UDP Functions (intro page, probably)
[o]Win_Get
[o]Windows


Mark :-X

P.S. - My lips are shut because I am not going to look for anymore gaps in the help file ... at least for right now.

ErosOlmi
10-09-2008, 07:05
You did a great job (1 karma point on the way!). Thanks
I've started to strikeout some point. It will take a while to fix them all.

Ciao
Eros

marcuslee
10-09-2008, 15:13
You did a great job (1 karma point on the way!). Thanks
I've started to strikeout some point. It will take a while to fix them all.


It might take a couple of months to get to everything. It may even not be complete with the next release. I do understand that it is a big undertaking. But, I have a sneeky suspicion that thinBasic users will thank you for it, or at least new people who come across the language.

I appreciate the opportunity to help out in some way. I'll continue to look for ways to do so.

Mark ;)