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

Topics - 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
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
#3
Wish List / BCX eAccessibility
February 11, 2025, 04:28:44 PM
This topic is for comments about, suggestions for, and criticism of eAccessibility as it relates to BCX.
#4
BCX Documentation Version 8.2.4, February 5, 2025

Quin
... on the 'BCX Documentation Revision History' page and in the EXPORT qualifier section, corrected misspelt instances of "qualifier".

... in the 'The C++ Tutorial for BCX Users' section, removed, from the examples, deprecated instances of $NOMAIN.

... in the Index, corrected a misspelt instance of "Keyword".

Robert Wishlaw
... hyperlinked instances, of the BCX Keyword "EXPORT", to their primary reference.
#5
BCX Documentation Version 8.2.4, February 1, 2025

Kevin Diggins
... in the BCX_GRADIENT section, added Example 2:.

Robert Wishlaw
... in the BCX_GRADIENT section, revised Example 1:.
#6
BCX Documentation Version 8.2.2, January 31, 2025

HIGH-Zen
... in the Directives Table of Contents section, removed HyperLink icons and minimized formatting vertical whitespace.

... in the BCX File Management Functions section, removed HyperLink icons and minimized formatting vertical whitespace.

Kevin Diggins
... added Remarks: and an Example: to the GETBMP function.

... added Remarks: and an Example: to the MSGBOX procedures.

Robert Wishlaw
... added,in the CURDIR$ section, an example and revised the Retstr return value description.

... added the BCX_GRADIENT section.

... revised the RND2 section return and parameter data types and replaced the Example:.


#7
Bug Reports / RND2 BCX 8.2.1 Not DOUBLE
January 30, 2025, 11:55:21 PM
RND2 no DOUBLE output. Still integer (LONG ?).



$BCXVERSION "8.2.1"

DIM RetVal#

FOR INTEGER i = 1 TO 6
   RetVal# = RND2(10.0, 11.0)
   PRINT RetVal#
NEXT i%



Result:



11
11
10
10
11
10

#8
BCX Documentation Version 8.2.0, January 20, 2025

HIGH-Zen
... in the Runtime Table of Contents page, removed HyperLink icons and minimized formatting vertical whitespace.
#9
BCX Documentation Version 8.2.0, January 15, 2025

HIGH-Zen
... corrected syntax in the coding of the COM FOR EACH ... NEXT example.
#10
BCX Documentation Version 8.2.0, December 27, 2024

Kevin Diggins
... corrected omissions of BCX_TRIANGLE from the Index and Runtime Table of Contents.

... added, to the CLEAR statement section, Remarks: regarding clearing contents of a dynamic string.

... added Example 3: to the DRAW statement section.

Robert Wishlaw
... added image of Result: for Example 2: to the DRAW statement section.

... added image of Result: for Example 3: to the DRAW statement section.

... added Results: to Example 1: in the $FILL function section.

... added Results: to Example 2: in the $FILL function section.

... revised the SET example showing how to read mixed type data which needs to be modified at run-time.

... corrected malformed HTML coding of Example 1: in the 'String Comparison Operators' section.

... New formatting syntax of FUNCTION and SUB procedure declarations and calls has been made.
     Most procedure declarations now have a space appended to the procedure identifier before the opening parenthesis of the parameter / argument list.
     Most procedure calls now have no  space appended to the procedure identifier before the opening parenthesis of the parameter / argument list.
     An advantage of this protocol is that it makes finding procedure declarations easy by searching for the identifier with an appended space.
#11
Off-Topic Discussions / C23: a slightly better C
December 13, 2024, 07:05:57 PM
C23: a slightly better C
https://lemire.me/blog/2024/01/21/c23-a-slightly-better-c/


The C23 edition of Modern C
https://gustedt.gitlabpages.inria.fr/modern-c/


/* 1. GETTING STARTED */
/* Listing 1.1. from Modern C */
/* The first example of a C program */
/* This may look like nonsense, but really is -*- mode: C -*- */

#include <stdlib.h>
#include <stdio.h>

/* The main thing that this program does. */
int main(int argc, [[maybe_unused]] char* argv[argc + 1])
{
  // Declarations
  double A[5] = {
    [0] = 9.0,
    [1] = 2.9,
    [4] = 3.E+25,
    [3] = .00007,
  };

  // Doing some work
  for (size_t i = 0; i < 5; ++i)
  {
    printf("element %zu is %g, \tits square is %g\n",
           i,
           A[i],
           A[i] * A[i]);
  }

  return EXIT_SUCCESS;
}


Compiled with Nuwen 19.0
gcc -std=c2x ModernC1.1.c -o ModernC1.1.exe

Result:
element 0 is 9,         its square is 81
element 1 is 2.9,       its square is 8.41
element 2 is 0,         its square is 0
element 3 is 7e-05,     its square is 4.9e-09
element 4 is 3e+25,     its square is 9e+50


Pelles C 12.0.2 with  /std:C2X also compiles and runs as expected.
#12
User Contributions / Code Page 437 UTF-8
December 01, 2024, 01:25:47 AM
Here's the Code Page 437 BCX Console Demo s41.bas coded for UTF-8.


DIM OrigCodePage%
OrigCodePage% = GetConsoleOutputCP()
SetConsoleOutputCP(65001)

COLOR 15, 1 : CALL Box(20, 10, 60, 20, 15, 1, "Bcx Sample Window") : COLOR 7, 0
 
PAUSE
SetConsoleOutputCP(OrigCodePage)
 
SUB Box(X1, Y1, X2, Y2, Fg, Bg, Title$)
  DIM Tb$
  DIM Sid$
  DIM Tlc$
  DIM Trc$
  DIM Blc$
  DIM Brc$
  DIM Tmp
  DIM A$
  PANEL X1, Y1, X2, Y2, Fg, Bg, 32, 1
  Tb = "═" : Sid = "║" : Tlc = "╔" : Trc = "╗" : Blc = "╚" : Brc = "╝"
  LOCATE Y1, X1, 0
  A$ = Tlc & REPEAT$(X2 - X1 - 1, Tb) & Trc : PRINT A$;
  A$ = Sid
  FOR Tmp = Y1 + 1 TO Y2 - 1
   LOCATE Tmp, X1, 0 : ?  A$; : LOCATE Tmp, X2, 0 : ?  A$;
  NEXT Tmp
  LOCATE Y2, X1, 0
  A$ = Blc & REPEAT$(X2 - X1 - 1, Tb) & Brc : PRINT A$;
  LOCATE Y1, X1 + (X2 - X1) / 2 - (LEN(Title$) * .5), 1 : PRINT "[ ",Title$," ]";
  LOCATE Y2 + 1, X1, 0
END SUB

#13
BCX Documentation Version 8.1.9, November 16, 2024

Quin and Armando Rivera
... updated, on the CREATEOBJECT page, the COM Example 4: demonstrating how to call the Windows updater.

Kevin Diggins
... added an explanation to the 'Optional Parentheses' section regarding the BCX procedures that allow optional parentheses

... added an example to the PUTC function section.

... added an example to the BCX_TRIANGLE function section.

... added explanation and example to the $NO_XXX directives section.

... added, to the REDIM statement section, an example that redimensions GLOBAL DYNAMIC arrays within SUB procedures.

... added an example to the BCX_BUTTON control section.

Robert Wishlaw
... added an 'Optional Parentheses' section with a table containing the BCX procedures that allow optional parentheses. Also, a note was added to the Parameters: section of each procedure that allows optional parentheses.

... added a PUTC function section.

... added a BCX_TRIANGLE function section.

... added CBNMCODE, CBNMHWND, CBNMID, to the PowerBASIC compatible BCX macros section.

... added

$NO_BORLAND
$NO_GCC_CLANG
$NO_LCCWIN
$NO_LIBS
$NO_MSVC
$NO_PELLES
$NO_VKKEYS

directives.

... added Syntax 3: to the INPUT statement section.

... prepended a $IPRINT_OFF directive to several instances of

  $RESOURCE
  $COMPILER
  $LINKER

directives.

... added an example, based on code by Armando Rivera and Vortex, to the BCX_LOADIMAGE function section.

... added Result: to example in FTELL function section.

... added Example 3: to the SEEK statement section.

... added, to the SAVEBMP statement section, Example 1:, code saving a bitmap from an HBITMAP .

... added, to the SAVEBMP statement section, a warning that SAVEBMP does not handle alpha layer / transparency attributes; therefore, the .bmp produced may not render as expected.
#14
Wish List / PUTC
October 17, 2024, 11:45:44 PM
Perhaps a PUTC to go with the  GETC new in BCX 8.1.7?
#15
BCX Documentation Version 8.1.7, October 6, 2024

Armando Rivera
... added, to the COM CREATEOBJECT page, an example calling the Windows updater.

Kevin Diggins
... corrected LIKE_INSTR entry in the Runtime Table of Contents.

... added a Ray Tracing example to the STARTDRAW section.

... added Remarks: to the BCX_TOOLTIP section.

... added list of acceptable data types to the FOR DataType... NEXT section.

... added example demonstrating usage of the GETHTTPFILESIZE and DOWNLOADTOSTR functions.

... added example to LCLICK section.

... appended an example to the last of the MOUSE_XX functions.

... added remarks and an example to the BCX_CLSID$ section.

... added Remarks: to the CONST data type qualifier section.

... added Example 3: to the HEX$ section.

Robert Wishlaw
... replaced, on the 'BCX Run-time Mathematical Procedures' page, instances of calculated LDOUBLE precision float PI functions with the BCX runtime PI. The LDOUBLE trigonometric functions continue to use an LDOUBLE calculated PI function.

... added Result: image to Example 1: in the STARTDRAW section.

... added MOD as operator section.

... added 12 hour AM/PM formatting documentation and examples to the TIME$ section.

... revised the documentation and added an example to the INCHR section.

... revised the documentation and examples of the MACRO / CONST directives section.

... added Syntax 3: to the LDOUBLE data type section documenting the ` (backquote) sigil.

... added documentation for SEEK function optional arguments SEEK_CUR, SEEK_END, and SEEK_SET.

... added DOWNLOADTOSTR section.

... added GETHTTPFILESIZE section.

... added LCLICK section.

... added RCLICK section.

... revised Run-Time Procedures Table of Contents section 'BCX Keyboard Procedures' to 'BCX Keyboard and Mouse Procedures'.

... added MOUSE_CX section.

... added MOUSE_CY section.

... added MOUSE_SX section.

... added MOUSE_SY section.

... added BCX_PENSTYLE section.

... added EXIT_EACH to the syntax description of FOR_EACH ... NEXT_EACH and as well to the EXIT statement section.

... added BCX_CLSID$ section.

... added BYTE data type section.

... revised HEX$ section to document optional prepending of zeros.

... added WS_CLIPCHILDREN style to the WinStyle parameter default arguments of the BCX_FORM function section.
#16
Tips & Tricks / NO IFs !!!
September 08, 2024, 01:19:38 AM
In MrBcx's uber-Cool Ray Tracing demo,

https://bcxbasiccoders.com/smf/index.php?topic=1176.msg6136#msg6136

I saw this line of code

n = -(y >= 0 OR dy <= 0)

which is equivalent to

IF (y >= 0) OR (dy <= 0) THEN
n = n - 1
END IF


Neat trick !
#17
BCX Documentation Version 8.1.6, September 3, 2024

Kevin Diggins
... revised the LOOKAHEAD$ example.
#18
BCX Documentation Version 8.1.5, August 26, 2024

Kevin Diggins
... added remarks and examples to the IINSTR and the INSTR functions section.

... added remarks and examples to the INSTRANY and IINSTRANY functions section.

Robert Wishlaw
... corrected omissions from the Index and Runtime Table of Contents. Corrected instances of "Run-time" to "Runtime". The "Runtime" procedures are part of the language implementation. The "Run-time" is the time that it takes to run a procedure or program.

... added IINSTR to the INSTR functions section.
#19
Questions & Answers / DRAW to HDC ?
August 23, 2024, 05:14:48 PM
Maybe a hybrid of BCX_LINETO and DRAW to draw to an HDC so DRAW could be in real time ?
#20
BCX Documentation Version 8.1.3, August 22, 2024

Kevin Diggins
... added, to the INFOBOX control section, missing width and height parameters and descriptions. An Information argument maximum size, 32500 bytes, warning was attached to the parameter description and Example 2: was added to the section.

... added Example 3: to the CALLBACK FUNCTION ... END FUNCTION procedure section.

... added to the MID$ statement section, Example 2:, a Decimal Number <-> Roman Numerals Converter originally coded by SierraKen at the QB64PE forum, with enhancements by BPLUS at QB64PE forum. Converted to BCX BASIC by MrBcx (August 2024) (Public Domain).

... added remarks and examples to DRAW statement section.

... added remarks to SWAP statement section.

Robert Wishlaw
... revised the INFOBOX control section.

... corrected primary reference document from midfunction.htm to midstatement.htm in MID$ statement hyperlinks.

... revised the FOR_EACH ... NEXT_EACH section.

... added the LIKE_INSTR section.

... revised the REMOVEANY$ section adding IREMOVEANY$.

... revised the REPLACEANY$ section, adding IREPLACEANY$.

... added INSTRANY and IINSTRANY functions section.

... added DRAW statement section.

... revised and added an example to SWAP statement section.

... added ANY operator page.