Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Robert

#1
BCX Documentation Version 8.2.6, March 21, 2025

REVISIONS
Quin
 ... updated, on the COM CREATEOBJECT page, the description of Example 4.

Kevin Diggins
 ... added Example 3: to the USING$ section.

 ... replaced the example in the BCX_DYNACALL statement section.

Robert Wishlaw
 ... revised 'Conway's Game of Life', replacing the "ALIVE" macro ASCII value of 2 with 38. ASCII 2 is a control char and Windows Terminal no longer prints ASCII control char glyphs.

 ... added WS_TABSTOP to the list of default arguments for the WinStyle parameter of the BCX_EDIT function.

 ... added WS_TABSTOP to the list of default arguments for the WinStyle parameter of the BCX_TREEVIEW function.

 ... added WS_TABSTOP to the list of default arguments for the WinStyle parameter of the BCX_RICHEDIT function.

 ... added WS_TABSTOP to the list of default arguments for the WinStyle parameter of the BCX_PROGRESSBAR function.

 ... revised the WinStyle and ExWinStyle parameter descriptions of the BCX_CONTROL function.

 ... in the += string concat operator section, Remarks: were removed regarding the incompatibility of the += concat operator with the colon [:] statement separator. Result: was added to the Example:.

 ... removed, from the LIB statement section, Example 2: as well as warnings regarding usability only in 32 bit compilations.

 ... removed, from the BCX_DYNACALL statement section, the Remarks: with example as well as warnings regarding usability only in 32 bit compilations.

SHA-256
6753BCFDE8E4D3679022FB2073E8C785DE8A89358621A1E9B5DA51E4DA6DE4EC
#2
Off-Topic Discussions / Re: Rust
March 04, 2025, 02:08:55 PM
Quote from: Quin on March 04, 2025, 04:12:43 AM
I was largely opposed to Rust for a few years, mostly because I just did not understand its syntax. That said though, over the past week or so I've really started learning it and liking it. I've written these two little projects in it, and I'm really enjoying the experience so far.
Rust has a bunch of really interesting ideas, from the entire ownership system to Mutexes auto-unlocking when drop is called to the way they try and replace OOP with dynamic dispatch and structs with traits.
Overall I'm really enjoying it thus far.
BTW, to try and shrink Rust binaries as much as possible, put this in cargo.toml:

[profile.release]
strip = true
opt-level = "z"
lto = true
panic = "abort"
codegen-units = 1

It might increase compilation times a bit, but you get smaller binaries. Got easymark down to 660 KB and Podfeed down to 2 MB with this, I assume the latter is so large because it links in serde and reqwest.

Hi Quin:

If you are interested in using the Win32 API or any other Windows functions with Rust, Kenny Kerr has done a massive amount of work building Windows crates. Rust for Windows lets you use any Windows API (past, present, and future) directly and seamlessly via the windows crate. Here's a link to the Microsoft documentation of "Rust for Windows, and the windows crate"

https://learn.microsoft.com/en-us/windows/dev-environment/rust/rust-for-windows#writing-an-app-with-rust-for-windows
#3
Quote from: airr on March 01, 2025, 09:02:23 PM
See attached zip file and screenshot.

Compiles with Pelles and MSVC.

AIR.

Yes, absolutely useful. Thank you.
#4
User Contributions / Re: CFI - Check File Integrity
March 01, 2025, 12:39:02 PM
Quote from: MrBcx on March 01, 2025, 11:05:38 AM
I named my app:  CFI ( Check File Integrity )

CFI is provided in source code format, so you can build it yourself using BED or
any method that you prefer. It builds with all the compilers -except- Lcc-Win32.

After you build it, you can test it using the SHA-256 code and zip found here: 

https://bcxbasiccoders.com/smf/index.php?topic=1309.0

Hi MrBcx:

Thanks for this .

I would like to suggest that the SHA-256 code be placed in a code box for easier accessibility, like this

SHA-256:

439e0d570720fb1d59ac9133d2839fc30eb2292c233fb2657369095cd10cbd64


Select, copy and paste into the CFI.
#5
Wish List / Re: BCX eAccessibility
February 27, 2025, 09:15:56 PM
Quote from: Quin on February 27, 2025, 08:06:59 PM
Hi Robert,
I have this project on GitHub, and adapted this from its readme. What do you think?
Quote
This simple program will allow you to hide any unwanted Windows updates. Simply run it, wait for it to list all your available updates, and type the numbers of the updates to hide, separated by spaces.
Note:
Due to how the Windows update API works, this program requires administrative privileges to run.
Thanks!

Perfect ! Your revised description will be added to the UpHide Demo in the Documentation for BCX 8.2.6.
#6
Wish List / Re: BCX eAccessibility
February 27, 2025, 05:44:26 PM
Quote from: Quin on February 27, 2025, 04:43:32 PM
Hi Robert,
I was scrolling through the COM documentation today and I noticed that example 4 is now a copy of my Uphide program. I found this actually quite cool and thank you for including it, but I did notice that the description above it is out of date. It says:
Quote
This example calls the Windows Updater and returns the updates pending.
However, the code does much more than that. Is it possible for this to be updated?
Thanks!

Yes, absolutely, it can be updated. I just had a look at it, accessing it from the link in the BCX Documentation File which credits you and Armando for it's creation. The link was supposed to go directly to the example, the anchor tag is there at the example, "lnk20240914_01" but is not at the link in the Revisions file. I will have to fix that.

So, tell me, what do you want to be said in the updated description ?
#7
BCX Documentation Version 8.2.5, February 25, 2025

Quin
... directed the implementation of accessibility encoding and formatting for the visually impaired.

... corrected many instances of omissions, redundancies, as well as, typographic and grammatical errors.

... in 'Chapter 9. Namespace' of the 'The C++ Tutorial for BCX Users' section, corrected instances of doubled hyperlinks in the coding of END NAMESPACE keywords.

... removed hyperlink icons from the list of run-time procedures that BCX provides for working with COM/ActiveX objects.

Kevin Diggins

... corrected, in the WITH ... END WITH section, a typographic error in Example 3:.

Ad Rienks
... added an example to the $BCX_RESOURCE section.

Robert Wishlaw
... revised and restructured the 'BCX Command Line Usage' page from a list to a table.

... revised the concatenation comments on the 'BCX and Other BASIC Dialects - Similarities and Differences' page.

... added to the CONCAT statement page, a += string concat operator section.

... Consolidated the
BCX_PUT
BCX_LOADBMP
BCX_BMPHEIGHT
BCX_BMPWIDTH
procedures with the
BCX_BITMAP
section.

... revised and restructured
REMOVE$ function
REMOVE statement
IREMOVE$ function
IREMOVE statement
REMOVEANY$ function
IREMOVEANY$ function
REPLACE$ function
REPLACE statement
IREPLACE$ function
IREPLACE statement
REPLACEANY$ function
IREPLACEANY$ function
#8
Wish List / Re: BCX eAccessibility
February 25, 2025, 03:38:44 PM
Hi Quin:

Quote from: Quin on February 25, 2025, 01:33:44 PM
1. In the BCX command line usage section, the text under the usage heading is unnecessarily indented by one space.
2. Super minor nitpick, but would it be possible to separate the flags/options from their descriptions with some sort of separator character, like a dash/hyphen, to introduce a short pause between the command name and actual description?

The BCX command line usage page is being rebuilt with a Table instead of a List following the example of the layout for the documentation of the Microsoft cl.exe compiler command line. Option in first column of the Table, Purpose in second column.

Quote from: Quin on February 25, 2025, 01:33:44 PM
3. In the QSORT docs, this is written:
Quote
QSORT sorts an array (or portion).
I think it should be something more like:
Quote
QSORT sorts an array (or aportion of it).

Now, in the QSORT docs, this is written
QuoteQSORT sorts an array or a portion of an array.

Thank you for your contributions.
#9
Quote from: Quin on February 25, 2025, 03:00:34 PM
Kevin,
I do have the build tools installed, but not through visual studio, I just have the C/C++ stuff at c:\BuildTools. My BED batch files use this path just fine, but I think I need to reconfigure my Clang to do so.

Reconfigure ? Good luck with that. Below is a link to "Compiling with Clang without Visual Studio"
https://www.vincentparizet.com/blog/posts/clang_without_visual_studio/
#10
Wish List / Re: BCX eAccessibility
February 25, 2025, 12:15:52 PM
Quote from: Quin on February 25, 2025, 11:39:06 AM
Hi Robert,
Thanks for this, downloading and putting it through its paces as we speak!
Side-note, would it be possible to add alt tags to any images in the BCX documentation? I didn't even know there were images to begin with  :-[
Thanks!

The alt tags are there but they are empty. The images are, in almost all cases, produced by the immediately preceding code. Because the "alt" tags are empty, most screenreaders ignore them. For a start, what can be done is simply to have a phrase added to each "alt" tag, like, for instance, "This is an image produced by the above code."
How does that sound?
#11
Wish List / Re: BCX eAccessibility
February 25, 2025, 09:56:46 AM
Quote from: Quin on February 25, 2025, 07:23:15 AM
1. Under VBS_RESET, I believe there should be a hyphen between re and initializes, so the word is re-initializes.

The the word is "reinitializes', no hyphen, coined in 1970 in the S.I.A.M. journal article 'Comparison of Gradient Methods for the Solution of Nonlinear Parameter Estimation Problems.'

Quote from: Quin on February 25, 2025, 07:23:15 AM
2. Under the first VBS_RUN_SCRIPT example's result heading, there's an extra space at the beginning of the first line.

An extra space ? Not anymore, there isn't.

Quote from: Quin on February 25, 2025, 07:23:15 AM
3. VBS_ERROR has an empty result heading under its example. There's not much for you to show, maybe you could press control+c in the message box and copy/paste the text that way, but may be at least put something saying like "result not shown for this example".
Thanks!

The result under the VBS_ERROR example is not empty, there is a screenshot of a messagebox. However, the "alt" element in the "img" tag for the screenshot of the MessageBox generated by the error in the code, is empty.
None of the images in the Help file have "alt" element information.

Quote from: Quin on February 25, 2025, 07:23:15 AM
4. There is an unnecessary <br /> above the output of the VALL example.

She's not there.

Quote from: Quin on February 25, 2025, 07:23:15 AM
5. Under the unions section, similar as typoed as similiar

Twice as "similiar".

Attached to this post is todays first edition of the increasingly accessible BCX Documentation file, as the motto of my alma mater says, "Tuum Est".
#12
Wish List / Re: BCX eAccessibility
February 25, 2025, 09:31:18 AM
Quote from: Quin on February 25, 2025, 07:15:51 AM
1. Would it be possible to convert the list of BCX system variables into a proper HTML list?

BCX system variables section has been converted into a proper HTML list.

Quote from: Quin on February 25, 2025, 07:15:51 AM
2. In the CMDHandler remarks section, there's another one of those extra unicode link symbols, like I've spotted before.

And, as I said before, in this post,
https://bcxbasiccoders.com/smf/index.php?topic=1292.msg7064#msg7064
"That link was supposed to go directly to the Example 2:. I have redirected the link and as well redirected the same link following the CMDHANDLER macro procedure section."

Quote from: Quin on February 25, 2025, 07:15:51 AM
3. There are excess line breaks above the function names of all of the VBS scripting procedures.

The plethora of line breaks above the function names of all of the VBS scripting procedures has been eliminated.

Quote from: Quin on February 25, 2025, 07:15:51 AM
4. VBS_EVAL_NUM has an empty example heading under it.

Sad, isn't it? Just sitting there with nothing to show. The VBS_EVAL_NUM Example: heading has been removed.
#13
Wish List / Re: BCX eAccessibility
February 24, 2025, 07:24:44 PM
Quote from: Quin on February 24, 2025, 02:23:25 PM
Hi Robert,
Happy to assist in the learning, and I definitely share your love for it. On that note, got some more feedback for you:
1. In the ENC$ documentation, I think this phrase is slightly confusing and could reason to be reworded. Original:
Quote
Return Value:
• Data type: STRING
RetStr Quotation marks enclosed MainStr.
New:
Quote
Return Value:
• Data type: STRING
RetStr MainStr enclosed in Quotation marks.
2. It's possible this one was already fixed when you nuked the spaces on blank lines in your most recent go through, but the second example result for ENC$ has a blank line with a space on it above it. Likewise for the third example.
3. The E sigil example is still indented by one space, even after the CSS change.
4. In the With...End With documentation, there's a grammar error:
Quote
WITH ... END WITH allows repeated reference to be made to an user defined type object or structure.
should be:
Quote
WITH ... END WITH allows repeated references to be made to an user defined type object or structure.
Sorry so many of these are grammar / small formatting things by now, you've done such a splendid job with the accessibility it's getting harder and harder for me to find access issues  ;D
Thanks,
Quin.

1. 2. 3. fixed.

Regarding 4. WITH END WITH singular "repeated reference" or plural "repeated references."

A reference is made to a single object, in this case " an user defined type object or structure."
Another reference is made to the same object
A "repeated reference" has been made to the single object.
Example:
"Maitland is the eminent jurist to whom constitutional lawyers have repeated reference."

"Repeated references", on the other hand, are made to more than one object, for example, the words "service and obedience" in the sentence
"The repeated references to service and obedience to the crown initially undermine the belief that the articles might have been regarded as politically subversive."
or the words "unemployed or unemployable" in the sentence
"However, a careful reading of his writings reveals repeated references to the unemployed and unemployable as those with revolutionary potential."

Don't apologize for reporting grammatical errors. Bad grammar can be deadly. The Irish nationalist Sir Roger Casement, convicted of treason, was "hanged on a comma." Read about that here
https://www.writerscentre.com.au/blog/convicted-on-a-comma-the-trial-of-roger-casement/
#14
Wish List / Re: BCX eAccessibility
February 24, 2025, 11:41:08 AM
Quote from: Quin on February 24, 2025, 06:18:02 AM
And more...
1. In the GETATTR documentation, your HTML lists are closed in the wrong order. You only close the list of attributes, not the return value list and the list of possible return values. The return values list is closed after the Parameters list, which is incorrect.

The misplacement of closing tags in the GETATTR section has been repaired

Quote from: Quin on February 24, 2025, 06:18:02 AM
2. The results for the second ISFOLDER example is missing a heading, and there are excess line breaks throughout both examples and their outputs.

Heading added to the results for the second ISFOLDER example.

The "Excess line breaks" are intentional for demarcation of functions in the visual presentation. There are three sections in that example, the first verifies existence of the file and folder, the second verifies the status of destruction of the file and the third verifies the destruction of the folder. Each section in the code is separated, for emphasis, by a space above and below each of the standalone PRINT statements that print a space in the Result:.
Arguably, the first section could be split so we could wallow, enjoyably or miserably, in even more excess line breaks. I like it. That's not going to change.

Quote from: Quin on February 24, 2025, 06:18:02 AM
3. In the Static storage class specifier section, it would be great if the second example without static could also have a heading above it.

Headings added to "Example 1:" and "Example 2:" in the Static storage class specifier section.

I appreciate your help and encouragement, Quin, I am learning a lot through this restructuring exercise. Learning is one of my favorite things.
#15
Wish List / Re: BCX eAccessibility
February 24, 2025, 10:36:05 AM
Quote from: Quin on February 24, 2025, 06:03:41 AM
1. The ASCII table is now a proper HTML table, thanks for that! However, would it be possible to remove the line feeds from the top of each cell? Currently each cell has a line feed before its value.

The <br /> line feeds have been removed from top of each cell in the ASCII Table.

Quote from: Quin on February 24, 2025, 06:03:41 AM
2. In the APPEXEPATH$ documentation, I found a grammar error:
Quote
ExePath path to the executing program. Last character in string is a backslash (\).
should be:
Quote
ExePath path to the executing program. The last character in this string is a backslash (\).

O.K. fixed. Now reads as

QuoteExePath The path to the executing program. The last character in string is a backslash (\).

Quote from: Quin on February 24, 2025, 06:03:41 AM
3. Likewise in the BCXPATH$ function:
Quote
BCXPATH$ The path to the directory containing the BC.EXE file. This path is derived from the Registry entry made during the BCX installation process and includes a trailing backslash (\).
should be:
Quote
BCXPATH$ returns the path to the directory containing the BC.EXE file. This path is derived from the Registry entry made during the BCX installation process and includes a trailing backslash (\).

O.K. Fixed.
Please note that, in the BCX Help file, the initial description following the identifier in the "Return Value" and "Parameter" bulleted lists is most often an incomplete sentence. This incomplete sentence wording structure is grammatically correct in that context.

Quote from: Quin on February 24, 2025, 06:03:41 AM
4. The PELLESPATH$ function also has a grammar error, very similar to #2 accept "the" was included this time. Original:
Quote
RootPath   The path to the PellesC root directory. The last character in string is a backslash (\).
new:
Quote
RootPath   The path to the PellesC root directory. The last character in this string is a backslash (\).

O.K. Fixed.

Thank you.