Page 1 of 2 12 LastLast
Results 1 to 10 of 17

Thread: ThinBASIC: User defined types micro-book

  1. #1
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732

    Lightbulb ThinBASIC: User defined types micro-book

    Hi,

    I am experimenting with gitHub pages and mdBook to explore possibilities for documenting thinBasic.

    Please have a look at the following online micro-book, to learn about everything related to UDT on one place:
    thinBasic: User defined types

    The format of documentation is verbose, detailed, so maybe not so good for thinBASIC helpfile, which should serve as quick reference.

    What you can try:
    - changing theme via the brush icon
    - real-time full text search
    - PDF generation via the printer icon

    All these goodies we get with MDBook for free

    The source code of the book is available at gitHub. It basically consists just of markdown files, which makes collaboration easier - no HTML struggle.


    Petr
    Last edited by Petr Schreiber; 26-08-2018 at 11:29.
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  2. #2
    It looks very clean and readable.

    I've just taken a look at the thinBasic online documentation, I think it would really benefit from being displayed in this format.
    Operating System: Windows 10 Home 64-bit
    CPU: Intel Celeron N4000 CPU @ 1.10GHz
    Memory: 4.00GB RAM
    Graphics: Intel UHD Graphics 600

  3. #3
    Member
    Join Date
    Aug 2015
    Location
    Keralam, India
    Posts
    121
    Rep Power
    21
    Yes, I agree with matthew. Its a good format for a help file.

  4. #4
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    Hi,

    thank you for the kind words

    Having thinBasic: the book as a primary goal is too big task to grasp, however I plan to map further various parts of thinBasic with this form of micro-books.

    There are some complex areas which are asking for it - for example UI module or complete view on TBGL.

    Which others subparts of thinBASIC would you like to see documented this way?

    Step by step, we might get to the complete guide to thinBasic one day


    Petr
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  5. #5
    Hi Petr
    certainly this is a good way to display Ebooks. the characters is clear and Big (suitable for my impaired eyes) also hide and show table of contents is a feature.
    is it possible to include pictures in these Docs or ebooks ?
    i have downloaded book-thinbasic_user_defined_types-master and then executed cargo install mdbook , it is added here: C:\Users\george\.cargo\bin\mdbook.exe
    after that executing cargo build from within the "book-thinbasic_user_defined_types-master" folder but i get
    error: could not find `Cargo.toml` in `C:\tst\book-thinbasic_use...
    there is no Cargo.toml file but book.toml

    i suggest a primary docs such as variables and its type, strings functions, tricks with arrays.

  6. #6
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    Hi Primo,

    thanks a lot for your feedback, highly appreciated!

    As for the build problems - mea culpa! The command should be:
    mdbook build
    ...so no 'cargo'. I fixed the README.md accordingly.

    Thanks a lot - without you I would not notice there is something wrong.


    Petr
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  7. #7
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,527
    Rep Power
    170
    Good start...

    I hope this topic - udts - will be continued and completed. Not just that udts in tB can contain functions but also the special variable ME should be explained and the Functions ._Create() and ._Destroy() should be mentioned. Special behavior of those - means if an array of an udt gets created or destroyed "Me" will not apply to every single array-element.
    Subelements can be anything: primitive variables or other udts, both can be just one single element or non-dynamic up to 3-dimensinal arrays or dynamic arrays.

    Also should be mentioned that a Type can be extended by another Type, that means the Type that extends a base-Type has all properties and functions of its base-Type, but if the extending type has functions with same function-names as its base-Type then the functions of the extending type will be used by the interpreter.


    Also ability of having static udt-subelements should be mentioned, static subelements contain the same value in all dimensioned variables of the udt...


    BTW.
    Long time I wish the possibiliy to assign values to static subelements within Type-definition, did something happen here?
    Example
    Type tFont
      ' assign Value to Static members instantly:
      Static Regular As Long Value 0
      Static Italics As Long Value 1
      Static Bold    As Long Value 2
      ' is it possible now?
      Flags As Long
      ' ...  
    End Type
    
    Dim myFont As tFont
    myFont.Flags = myFont.Bold Or myFont.Italics
    
    Last edited by ReneMiner; 01-09-2018 at 14:19.
    I think there are missing some Forum-sections as beta-testing and support

  8. #8
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    Hi Rene,

    STATIC elements are already mentioned elements chapter, EXTENDing UDT is already mentioned in extension and inclusion.

    Thank to Eros I realised there was a mistake in documentation of UDT functions outside UDT block, now fixed.

    Also - basically all the other things you mention (ME, _create, _destroy) are already documented. Maybe you missed there are other chapters?

    If you are viewing page on mobile, just click the menu icon in the upper left corner - it will reveal all the chapters!

    Which leads me to another advantage of mdbook, as it adapts for portable devices automagically
    For suggestions regarding new UDT functions, please use new thread - this one is used for feedback on the UDT micro book itself. Thanks for undestanding


    Petr
    Last edited by Petr Schreiber; 02-09-2018 at 11:04.
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  9. #9
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,527
    Rep Power
    170
    There should be a possibility for authors of microbooks as this one to link these at least in thinBasic-online-help. Better of course if there were a way to find useful links as this also in the with tB shipped offline-help.
    As far as I know does Petr have admin-access, maybe he can approve and place the links...?
    It would take a lot of burden from Eros' shoulders I guess and tB-users can find more additional information, examples etc. since there's not always someone online who can answer their questions instantly.

    I know that if I need some information I want it right away to continue coding...
    I think there are missing some Forum-sections as beta-testing and support

  10. #10
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,527
    Rep Power
    170
    And some more information that should be added to the book itself:

    Subelements of an UDT can be Public as well as Private .
    Public means, the subelement can be accessed from anywhere of the project as long the UDT is dimensioned while Private means the subelement of the UDT is only accessible within functions of its Type.
    Where to be aware of the keywords Public and Private are switches.
    Means all subelements that are before any of the both keywords are Public by default.
    As soon as Private or Public are specified everything that follows will be Private or Public until the other keyword follows.
    Example:
    Type tExample
      ' every Subelement here is Public by default
      X as Single ' public scope
      Y as Single ' public too
    
      Private ' works as switch
      X_last As Single 
      Y_last As Single ' both are Private here
    
      
      Public
      ' anything that follows here
      ' will be Public 
    End Type
    
    I think there are missing some Forum-sections as beta-testing and support

Page 1 of 2 12 LastLast

Similar Threads

  1. User-defined typed lists
    By ReneMiner in forum General purpose scripts
    Replies: 0
    Last Post: 30-05-2013, 10:55
  2. Article: User defined entities
    By Petr Schreiber in forum vBCms Comments
    Replies: 0
    Last Post: 03-01-2011, 20:52
  3. User Defined Types
    By Charles Pegge in forum O2h Compiler
    Replies: 3
    Last Post: 18-03-2009, 01:28

Members who have read this thread: 2

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •