Name | Modified | Size | Downloads / Week |
---|---|---|---|
readme.md | 2022-08-01 | 5.5 kB | |
StarBasic_Macros_v1.5.zip | 2022-08-01 | 91.6 kB | |
StarBasic_Macros_v1.4.zip | 2022-07-26 | 90.3 kB | |
StarBasic_Macros_v1.3.zip | 2022-07-23 | 91.7 kB | |
StarBasic_Macros_v1.2.zip | 2022-06-29 | 88.1 kB | |
StarBasic_Macros_v1.1.zip | 2022-06-26 | 87.9 kB | |
StarBasic_Macros.zip | 2021-05-25 | 86.7 kB | |
Totals: 7 Items | 541.8 kB | 3 |
The files included in this software collection are published under MIT license:
Copyright (c) 2021-2022 Steffen Illhardt
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Brief
The ZIP archive contains 10 StarBasic modules and libraries for OpenOffice and LibreOffice, each of them is stored in an empty Base database which only serves the purpose of a container for the code. Furthermore this makes it easy to run the test macros which are shipped in the databases, too.
Most of the code wraps Windows API functions. The files containing Windows-specific code are tagged with a _W
suffix.
Detailed description
-
charset_W.odb
containing theWinCharset
module: There is only one public function which converts strings between different character sets. A lot of MIME names are supported to avoid forcing you to look up the right codepage ID. -
exec_stuff_W.odb
containing theWinExec
module: Execute Windows command lines in a cmd.exe process, or run an application. You may specify the work directory, you may hide the console window, you may run the application synchronously or asynchronously, you can check the return value of the process. -
ini_stuff_W.odb
containing theWinIniFile
module: Read data from, and write data to initialization (.ini) files. Strings, values convertible from and to to strings, binary data and array data is supported. Also, functions to serialize and deserialize arrays of strings are implemented. -
officewindow_W.odb
containing theWinOfficeWindow
module: Update the appearance of an OpenOffice or a LibreOffice window. Bring a window to top, hide, minimize, maximize, resize it. -
powerstat_W.odb
containing theWinPowerStat
class: Get information about the battery status. -
registry_stuff_W.odb
containing theWin32Registry
library: Query or update the Windows Registry. Query or update environment variables defined in the Windows Registry. -
sort_stuff.odb
containing theFastSort
library: Extensible implementation of Mergesort (stable sorting) and Quicksort (unstable sorting) for arrays, both with the aid of Insertionsort. These are more than 10 times faster than the BubbleSortList function which ships with OO and LO in the Tools library. -
timer.odb
containing theTimer
class: Just an auxiliary tool for measuring of time intervals. E.g. to determine the performance of code. -
u64_workaround.odb
containing theU64
module: Actually it doesn't only work around unsigned integers with a size of 64 bits. It's rather an auxiliary tool, aiming for conversions between signed and unsigned integer types (8, 16, 32, 64 bit size) using the rules of Two's Complement. -
winver_W.odb
containing theWinVer
module: Determine the current Windows version. Compare it with an expected version.
Change log
- 2022-08-01 v1.5 Add complementary Quicksort precedures to the existing Mergesort precedures
FastSort
library- Quicksort might have a better performance in case sorting is not required to be stable. Moreover, Quicksort does not obtain additional memory. (Public procedures have now prefix M for Mergesort and Q for Quicksort, respectively.)
- Furthermore: Procedures for jagged arrays are now more generic. They got an additional parameter to specify the index of the key element.
- 2022-07-26 v1.4 Remove comparer classes from the
FastSort
library- The overhead of referenced comparer classes is greater than having branching in only one _Less method. The performance gain is ~25%.
- 2022-07-23 v1.3 Refactor the
FastSort
library- Bugfix for 2D indexing.
- Update all occurrences of term
...ArrOfArr...
to...JaggedArr...
. - Move indexing for jagged arrays into
_Sort_Impl
to reduce the number of comparer classes. - Add more
...StrLogicalW...
sort routines to the public interface.
- 2022-06-29 v1.2
- Updae the performance test of sorting algorithms to reflect the screenshots postet in the ScriptForge thread.
- 2022-06-26 v1.1
- Add
SortStrLogicalW
(so far the first sorting function for Windows only) toFastSort
which behaves like sorting by file name in Windows Explorer. - Remove all
FreeLibrary
calls from the code, the garbage collector will do this more efficiently. (Up to 10% performance gain for some functions.) - Make
GetWinVer
both easier and even more reliable.
- Add
- 2021-05-25 Initial upload.