These items may be useful for specific purposes and have been gleaned from various sources. Rather than being included in the common library, these are available as direct downloads. Most have been cleaned up or at least tested for general consumption.
If you know what you are looking for, jump directly to the Contributed Code Directory and grab what you want. Otherwise the listing below may help.
This program captures raw keyboard input by intercepting Window's keyboard driver.
Downloads: KeyboardHook.zip
- contributed by Georg Nied 21FEB2024. Derived from John Dumais' work in the
late 1990's. Included are a DLL and sample VEE programs.
KeyboardTest.vee is the basic working example, while Keyboard
Hook Example.vee and
KeyboardtestComplete.vee eliminate dependencies by incorporating the DLL
within VEE.
Tested On: VEE 7, Win 10/64
Should Work On: VEE 5+, Win XP+
Known Issues: As with any DLL, once imported, the DLL becomes part of VEE. As such the DLL file on disk is locked by Windows as long as the VEE code itself is actively calling any of the DLL procedures. These VEE examples include embedded IO tables so will give errors when you first run them. Ignore these errors since no IO is needed.
Downloads: puzzel_v2.vxe and Tested on: VEE 7.0, Windows 10
Should work on: VEE 7.0+, Windows XP+
Known issues: When the VEE editor (vee.exe) loads a file it does an integrity check, looking for external files, required instruments and so on. This program uses external graphics that are installed only at runtime. Hence loading the source code ( puzzel_v2.vee ) into VEE for the first time causes an error. After being run the needed graphics are installed. Note that the runtime engine bypasses this type of error and runs the code anyhow. Hence it is suggested that you run the VXE above (which triggers runtime behavior) or use vee.exe -r (which explicitly activates runtime).
Editor's Note: A cleaner (albeit slightly convoluted) way around the external file issue is to embed the external files and the program itself in a wrapper which takes care of the dependencies. The wrapper itself has no dependencies so the VEE editor finds no problems. A wrapper has other benefits also, such as determining where external files should be placed on a given system.
VEE program with encrypt and decrypt functions. Works with strings inside of VEE.
This uses .NET calls to mscorlib to accomplish key-based encryption/decryption. Original code posted to VRF by David Watling in 2007. NOTE that to use this code you will need to first create a .NET reference to mscorlib and import the "system" and System.Security.Cryptography" namespaces. Then either import the VEE functions or copy them into your program. If you copy note that there are auxiliary functions needed also.
Note that the website that David's work references no longer exists, so a copy is provided here for reference.
Downloads: encrypt_decrypt.vee
Tested on: VEE 7.0, Windows XP
Should work on: VEE 7.0+, Windows XP+
Known issues: since this is .NET and Windows install details vary, the downloaded code may give you path errors when you try running it. This since the code includes absolute path to the Windows DLL. If you find this problem go ahead and re-import the .NET assembly and name spaces as noted above so that your copy of the program will match your Windows install.
VEE natively provides limited pop-ups (dialog boxes) but they are modal (i.e. VEE cannot continue while the dialog is up) in nature. One can use UF's to create crude non-modal dialogs, but there are also multiple dotNET controls that do a more complete and flexible job. This collection of Non Modal Dialogs was originally posted to VRF in July 2014 by Dave Anderson. These are very basic dialogs but are quite functional. Typical example is:
Note that the original submission had hard-coded paths in multiple Description fields. These have been changed to generic paths for portability.
UPDATE: 20151029: Dave Anderson submitted new version with various improvements and additions for portability, new examples. Should work on VEE 7.5+.
Downloads: NonModalDialogs.vee, 20151029_nonModalDialogs.vee
Tested On: VEE 9.32, Windows 7/32
Should Work On: VEE 8+.
Known Issues: If you have Windows installed anywhere other than C:\windows you will need to modify the dotNET references accordingly. Most reliable way to do this is via the VEE dotNET Assembly Reference dialog. You can of course also edit the source directly if you are certain of paths.
A long-term standard algorithm for shuffling items in a list. Contributed by William Drago 5NOV2015.
Downloads: fisherYates.vee
Tested On: VEE 7
Should Work On: all versions of VEE
Known Issues: In William's original code it is noticed that there's a strong nonlinear scaling. Per William, regarding nonlinear observed behavior: "It's not the algorithm, it's the feedback loop. If you do Fisher-Yates without using feedback then it's linear." Given that, there's little reason to not get rid of the feedback.
20151105: experimentation shows that the algorithm in the
linearized code has a bias toward leaving
early elements near the front. William suggests that this is implementation
issue, as discussed at
https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Potential_sources_of_bias
20151105: followup shows that indeed there's a bias. In particular, Fisher Yates
wants j to be random integer with 0 ≤ j ≤ i, but j = asInt32(round(random(0, i)))
has a range of "1" that rounds to most integer values, but only a range of 0.5
that rounds to 0 so introduces a biased stat. The
final posted code fixes this.
20151106: experimentation with Fisher-Yates and veeos's randomReorder() (the
engineering version) shows good flat statistics. This chart is the output
distribution of a linear ramp so essentially shows the odds of values staying
where they start before the shuffle. 100M trials so max scale is e-9. Note that
the result is quite flat with no obvious bias.
Discussion of general C programming issues on Windows. This is of great use for VEE users when interfacing with C code. Originally posted by Shawn Fessenden ca 2005.
Downloads:
Tested On: N/A
Should Work On: all versions of VEE and all platforms
Known Issues: N/A
Tabular data can be presented in a fast and professional manner using native Windows capabilities. This offers far more controls than using native VEE objects. This does not offer the myriad computational capabilities of Excel but also has far less overhead. See author's notes inside program for more detailed discussion.
Downloads: dataGrid.vee
Tested On: VEE 9.32/Windows 10/64
Should Work On: VEE 8+, Windows 7+
Known Issues: since this is .NET and Windows install details vary, the downloaded code may give you path errors when you try running it. This since the code includes absolute path to the Windows DLL. If you find this problem go ahead and re-import the .NET assembly and name spaces as noted above so that your copy of the program will match your Windows install.
This is a basic sftp for VEE based on Putty's "psftp" executable. The end user specifies user name and password along with server and port and a set of commands to use inside of ftp. As provided the code uploads the executed commands.
Downloads: psftp.vee
Tested On:Windows XP/32
Should Work On:all 32 or 64 bit Windows
Known Issues:You may need to run psftp manually once in order to register the server's encryption fingerprint.
This function allows one to download an arbitrary URL to a local directory. This is a full-featured wget so is capable of downloading multiple files- even entire sites. Note- to see list of available wget options, enter "--help > wgetHelp.txt" for the URL and you'll end up with a list of options in the file wgetHelp.txt.
Downloads: wget.vee
Tested On: XP/32
Should Work On: all versions of Windows >=XP
Known Issues:
description
Downloads:
Tested On:
Should Work On:
Known Issues: