Programs
Projects, individual procedures and useful lines of code in PowerBASIC
version 10. And some ancillary notes. If you don't have PowerBASIC it should
not be too hard to translate the functionality (command-by-command is often
non‑optimal). In some cases I have included a compiled DLL, making it
out-of-box usable in older PowerBASICs and other lanuages. Items below are
considered complete if preceded by a date (ISO basic format) in brown.
Completed Projects (till updated
☺)
- SI/ISO Tools International System of Units/International
Organization for Standards.
- Unicode Tools
- 20210826 Grabber Select, copy
then paste to "grab" a character and get its decimal or hexadecimal for CHR$$()
in PB HTML composing.
- 20250622 Alphabets
of many languages, and special characters. Get characters, symbols and other
glyths not on your keyboard. Or, copy the decimal, or hexadecimal, value for
web page composing or progamming source code.
Works In Progress Some works in progress, not
completed code. An incomplete project may contain useful completed
procedures. They will be here in sub-lists. This is also a form of off-site
backup for both complete and uncompleted code. A seggestion may help me "loosen
up" a stalled project.
- (just extremely slow) VLU Arithmetic. "VLU" ia an acronym for "Very Large
Unsigned" number. The numbers are arrays of 16 bit base 65536 digits. Larger base
reduces the number of operations to do a calculation. The limit is accessable
memory.
- Addition.
- (Subtraction, code but no page)
- (Multiplication, code but no page)
-
(Division, "filler page" no code in page)(( A "bear" to figure out. HELP!!))
-
Square Root , page with notes and a bit pseudo code( A double "bear" to figure out.))
- 20211224
Compare. Is the second VLU greater than, less than or equal to the first
VLU.
- 20211221
Trim. Remove
any leading zero VLU digits from array.
Random - Computing uses include pseudo random number generation
(PRNG), hashes, encyption.
- Personal Computer (PC) internal intrinsic atributes derived entropy (real time and disk
usage).
- yyyymmdd Current time. As a
seed is unique when date is included. Also a bit entropic due when it is
captured by user being indeterminate.
- Free Disk Space useful as seed?
- Human using PC derived entropy.
- Noncryptographic Pseudo Random Number Ggenerators (PRNG)
- 20260107 ACORN Additive COngruential Random
Number PRNG.
- 20260112 Middle-Square PRNG with
Weyl sequence to improve period and prevent a zero result.
- yyyymmdd MersenneTwister
- Secure PRNGs
-
Fibonacci sequences used to be used for encryption directly as key
stream. No longer due to patterns. Fibonacci
patterns. They are still usefull as sequences in counter mode
encryption.
Miscellaneous Complete procedures (SUBs or FUNCTIONs),
code lines or fragments to use in a project.
- 20240907 Faster leap year
algorithm, and discussion about why others are slower.
- 20240609 W3
Foreground/background contrast ratio calculation.
- 20230908 Listbox with "sunken"
appearance.
- 20230313 High resolution interval
counter. Use like PB TIX with one programmer provided Quad, with better
stability.
- 20230314 High resolution timestamp.
Maintains sequence of close spaced time stamps.
- 20230612 Fixed (mono-spaced) Font
Messagebox Intended for compiling and use with PowerBASIC Console compiler.
Will work with PowerBASIC For Windows. A compiled DLL is available for users of
older PB versions and other languages.
- 20250412 Endian Swap
Convert numeric types to/from most significant byte left (big endian) and most
significant byte right (little endian).
- 20250512 Show HTML in default browser from app.
Uses the ShellExecuteW API function. The SHELL in PBWin/PBCC does not have a needed input parameter. My
original reason for this was to use HTML for program Help.
- 20250518
Error Codes
include of error code constants based on PowerBASIC 8 bit and/or Windows' 32
bit codes (Windows' "user assigned code" bit as needed).
Never really
finished. If I need to trap an error that I didn't before, a code will be
added (existing codes not changed). Additional error code
suggestions/requests will be considered.
Ancillary Info
Created on 25 August 2021, last edit 27 May 2026