Difference between revisions of "Unit UltiboUtils"
From Ultibo.org
(3 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
---- | ---- | ||
− | '''Ultibo | + | '''Ultibo Utils unit''' |
− | + | ||
− | + | ||
=== Constants === | === Constants === | ||
Line 53: | Line 51: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 65: | Line 63: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 77: | Line 75: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 89: | Line 87: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 101: | Line 99: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 113: | Line 111: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 125: | Line 123: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 137: | Line 135: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 149: | Line 147: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 161: | Line 159: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 173: | Line 171: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 185: | Line 183: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 197: | Line 195: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 209: | Line 207: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 221: | Line 219: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 233: | Line 231: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 245: | Line 243: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 257: | Line 255: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 269: | Line 267: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 281: | Line 279: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 293: | Line 291: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 305: | Line 303: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 317: | Line 315: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 329: | Line 327: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 341: | Line 339: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 353: | Line 351: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 365: | Line 363: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 377: | Line 375: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 389: | Line 387: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 401: | Line 399: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 413: | Line 411: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 425: | Line 423: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 437: | Line 435: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 449: | Line 447: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 461: | Line 459: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 473: | Line 471: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 485: | Line 483: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 497: | Line 495: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 509: | Line 507: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 521: | Line 519: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 533: | Line 531: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 545: | Line 543: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 557: | Line 555: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 569: | Line 567: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 581: | Line 579: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 593: | Line 591: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 605: | Line 603: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 617: | Line 615: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 629: | Line 627: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 641: | Line 639: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 653: | Line 651: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 665: | Line 663: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 677: | Line 675: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 689: | Line 687: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 701: | Line 699: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 713: | Line 711: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function AllocateCommandLine(const ACommandLine:String; out AArgC:Integer):PPAnsiChar;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Allocate a C style command line and return ArgC and ArgV in the correct format</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! CommandLine | ||
+ | | The command line to be formatted into C style ArgV and ArgC | ||
+ | |- | ||
+ | ! ArgC | ||
+ | | The count of command line parameters in the result | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure ReleaseCommandLine(AArgV:PPAnsiChar);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Free a C command line allocated by AllocateCommandLine</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! ArgV | ||
+ | | The command line to be freed | ||
|- | |- | ||
|} | |} | ||
Line 725: | Line 750: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 737: | Line 762: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The returned buffer must be freed using FreeMem | | The returned buffer must be freed using FreeMem | ||
|- | |- | ||
Line 749: | Line 774: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 761: | Line 786: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The returned string must be freed using LocalFree | | The returned string must be freed using LocalFree | ||
|- | |- | ||
Line 768: | Line 793: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
− | <pre style="border: 0; padding-bottom:0px;">function DuplicateString(AString: | + | <pre style="border: 0; padding-bottom:0px;">function DuplicateString(AString:PAnsiChar):PAnsiChar;</pre> |
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The returned string must be freed using LocalFree | | The returned string must be freed using LocalFree | ||
|- | |- | ||
Line 785: | Line 810: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The returned string must be freed using LocalFree | | The returned string must be freed using LocalFree | ||
|- | |- | ||
Line 792: | Line 817: | ||
<br /> | <br /> | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
− | <pre style="border: 0; padding-bottom:0px;">function DuplicateMultiString(AString: | + | <pre style="border: 0; padding-bottom:0px;">function DuplicateMultiString(AString:PAnsiChar):PAnsiChar;</pre> |
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The returned string must be freed using LocalFree | | The returned string must be freed using LocalFree | ||
|- | |- | ||
Line 809: | Line 834: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| The returned string must be freed using LocalFree | | The returned string must be freed using LocalFree | ||
|- | |- | ||
Line 824: | Line 849: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 836: | Line 861: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 848: | Line 873: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 860: | Line 885: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If AliasCount is less than 0 then dont generate the numeric tail | | If AliasCount is less than 0 then dont generate the numeric tail | ||
|- | |- | ||
Line 872: | Line 897: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| If AliasCount is less than 0 then dont generate the numeric tail | | If AliasCount is less than 0 then dont generate the numeric tail | ||
|- | |- | ||
Line 884: | Line 909: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 896: | Line 921: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 908: | Line 933: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 923: | Line 948: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 935: | Line 960: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 947: | Line 972: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 959: | Line 984: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 971: | Line 996: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 983: | Line 1,008: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 995: | Line 1,020: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,007: | Line 1,032: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,019: | Line 1,044: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,031: | Line 1,056: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,043: | Line 1,068: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,055: | Line 1,080: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,067: | Line 1,092: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,079: | Line 1,104: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,091: | Line 1,116: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,103: | Line 1,128: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,115: | Line 1,140: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,127: | Line 1,152: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,139: | Line 1,164: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,151: | Line 1,176: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,163: | Line 1,188: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,175: | Line 1,200: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,187: | Line 1,212: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,199: | Line 1,224: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,211: | Line 1,236: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,223: | Line 1,248: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,235: | Line 1,260: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,247: | Line 1,272: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,262: | Line 1,287: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,274: | Line 1,299: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,286: | Line 1,311: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,298: | Line 1,323: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,310: | Line 1,335: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,325: | Line 1,350: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,337: | Line 1,362: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,349: | Line 1,374: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,361: | Line 1,386: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,373: | Line 1,398: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- | ||
Line 1,385: | Line 1,410: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! | + | ! Note |
| None documented | | None documented | ||
|- | |- |
Latest revision as of 03:55, 12 September 2024
Return to Unit Reference
Description
Ultibo Utils unit
Constants
BoolToStr constants
BOOLSTR_*
BOOLSTR_TRUEFALSE = 0;
|
|
BOOLSTR_YESNO = 1;
|
|
BOOLSTR_ZEROONE = 2;
|
Type definitions
None defined
Public variables
None defined
Function declarations
String functions
function GetFirstWord(var AValue:String; const ADelimiter:String):String;
Description: To be documented
Note | None documented |
---|
function GetLastWord(var AValue:String; const ADelimiter:String):String;
Description: To be documented
Note | None documented |
---|
function PadString(const AValue:String; AChar:Char;ALength:Integer):String;
Description: System StringOfChar may not handle Length < 0 correctly
Note | None documented |
---|
function StrOfChar(const AValue:String; ALength:Integer):String;
Description: Use System StringOfChar instead
Note | None documented |
---|
function StrToBool(const AValue:String):Boolean;
Description: To be documented
Note | None documented |
---|
function IntToStrLen(AValue:Integer; ADigits:Integer):String;
Description: To be documented
Note | None documented |
---|
function StrToLongWord(const AValue:String):LongWord;
Description: To be documented
Note | None documented |
---|
function BoolToStr(AValue:Boolean):String;
Description: To be documented
Note | None documented |
---|
function BoolToStrEx(AValue:Boolean; AType:Integer):String;
Description: To be documented
Note | None documented |
---|
function InFixStr(const Value:String):String;
Description: To be documented
Note | None documented |
---|
function InFixStrEx(const Value:String):String;
Description: To be documented
Note | None documented |
---|
function RemoveSpaces(const Text:String):String;
Description: To be documented
Note | None documented |
---|
function SpaceCount(const Text:String):Integer;
Description: To be documented
Note | None documented |
---|
function NormaliseSpaces(const Text:String):String;
Description: To be documented
Note | None documented |
---|
function NormaliseCase(const Text:String):String;
Description: To be documented
Note | None documented |
---|
function StringFill(const Text:String; Count:Integer):String;
Description: To be documented
Note | None documented |
---|
function RemoveQuotes(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function RemoveBraces(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function RemoveBrackets(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function RemoveSingleQuotes(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function RemoveCurlyBraces(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function IsAlpha(const AValue:String):Boolean;
Description: To be documented
Note | None documented |
---|
function IsNumeric(const AValue:String):Boolean;
Description: To be documented
Note | None documented |
---|
function RemoveNonAlpha(const Value:String):String;
Description: To be documented
Note | None documented |
---|
function AddQuotes(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function AddBraces(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function AddBrackets(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function AddSingleQuotes(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function AddCurlyBraces(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function NoOfChars(const AValue:String; AChar:Char):Integer;
Description: To be documented
Note | None documented |
---|
function ReplaceChar(const AValue:String; AChar,AReplace:Char):String;
Description: To be documented
Note | None documented |
---|
function EncodeString(const AValue,AKey:String):String;
Description: To be documented
Note | None documented |
---|
function DecodeString(const AValue,AKey:String):String;
Description: To be documented
Note | None documented |
---|
procedure DelimitStrings(AStrings:TStrings; var AString:String; const ADelimiter:String);
Description: To be documented
Note | None documented |
---|
procedure UndelimitString(const AString:String; AStrings:TStrings; const ADelimiter:String);
Description: To be documented
Note | None documented |
---|
procedure UndelimitQuotedString(const AString:String; AStrings:TStrings; const ADelimiter:String);
Description: To be documented
Note | None documented |
---|
function AddSlashes(const AFilePath:String):String;
Description: To be documented
Note | None documented |
---|
function AddTrailingSlash(const AFilePath:String):String;
Description: To be documented
Note | None documented |
---|
function AddLeadingSlash(const AFilePath:String):String;
Description: To be documented
Note | None documented |
---|
function StripSlashes(const AFilePath:String):String;
Description: To be documented
Note | None documented |
---|
function StripTrailingSlash(const AFilePath:String):String;
Description: To be documented
Note | None documented |
---|
function StripLeadingSlash(const AFilePath:String):String;
Description: To be documented
Note | None documented |
---|
function AddTrailingDot(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function AddLeadingDot(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function StripTrailingDot(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function StripLeadingDot(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function AddTrailingChar(const AFilePath,ASlashChar:String):String;
Description: To be documented
Note | None documented |
---|
function AddLeadingChar(const AFilePath,ASlashChar:String):String;
Description: To be documented
Note | None documented |
---|
function StripTrailingChar(const AFilePath,ASlashChar:String):String;
Description: To be documented
Note | None documented |
---|
function StripLeadingChar(const AFilePath,ASlashChar:String):String;
Description: To be documented
Note | None documented |
---|
function IsWildcard(const Value:String):Boolean;
Description: To be documented
Note | None documented |
---|
function UniqueName(const BaseName:String; CurrentNames:TStrings):String;
Description: To be documented
Note | None documented |
---|
function WildcardNameMatch(const Name,Wildcard:String; CaseSensitive:Boolean):Boolean;
Description: To be documented
Note | None documented |
---|
function AddQuotesIfSpaced(const AValue:String):String;
Description: To be documented
Note | None documented |
---|
function ExtractCommand(const ACommandLine:String):String;
Description: To be documented
Note | None documented |
---|
function ExtractParameters(const ACommandLine:String):String;
Description: To be documented
Note | None documented |
---|
function AllocateCommandLine(const ACommandLine:String; out AArgC:Integer):PPAnsiChar;
Description: Allocate a C style command line and return ArgC and ArgV in the correct format
CommandLine | The command line to be formatted into C style ArgV and ArgC |
---|---|
ArgC | The count of command line parameters in the result |
procedure ReleaseCommandLine(AArgV:PPAnsiChar);
Description: Free a C command line allocated by AllocateCommandLine
ArgV | The command line to be freed |
---|
function MultiStringToStrings(ABuffer:Pointer; ASize:Integer; AStrings:TStrings):Boolean;
Description: To be documented
Note | None documented |
---|
function StringsToMultiString(AStrings:TStrings; var ABuffer:Pointer; var ASize:Integer):Boolean;
Description: To be documented
Note | The returned buffer must be freed using FreeMem |
---|
function MultiStringToDelimited(ABuffer:PChar; ADelimiter:String):String;
Description: To be documented
Note | None documented |
---|
function DelimitedToMultiString(const AString:String; ADelimiter:String):PChar;
Description: To be documented
Note | The returned string must be freed using LocalFree |
---|
function DuplicateString(AString:PAnsiChar):PAnsiChar;
Description: To be documented
Note | The returned string must be freed using LocalFree |
---|
function DuplicateWideString(AString:PWideChar):PWideChar;
Description: To be documented
Note | The returned string must be freed using LocalFree |
---|
function DuplicateMultiString(AString:PAnsiChar):PAnsiChar;
Description: To be documented
Note | The returned string must be freed using LocalFree |
---|
function DuplicateMultiWideString(AString:PWideChar):PWideChar;
Description: To be documented
Note | The returned string must be freed using LocalFree |
---|
File functions
function IsRootDirectory(const Path:String):Boolean;
Description: To be documented
Note | None documented |
---|
function IsEightDotThree(const FileName:String):Boolean;
Description: To be documented
Note | None documented |
---|
function TruncateLongName(const FileName:String):String;
Description: To be documented
Note | None documented |
---|
function GenerateShortName(const FileName:String; AliasCount:Integer):String;
Description: To be documented
Note | If AliasCount is less than 0 then dont generate the numeric tail |
---|
function GenerateShortNameEx(const FileName:String; AliasCount:Integer; Hash:Word; UseHash:Boolean):String;
Description: To be documented
Note | If AliasCount is less than 0 then dont generate the numeric tail |
---|
function WildcardFileMatch(const FileName,Wildcard:String; CaseSensitive:Boolean):Boolean;
Description: To be documented
Note | None documented |
---|
function GetFileInfo(const FileName:String; var FileTime,FileSize:Integer; var FileAttr:LongWord):Boolean;
Description: To be documented
Note | None documented |
---|
function CompareFileInfo(const SourceFile,DestFile:String):Boolean;
Description: To be documented
Note | None documented |
---|
Date functions
function IsCurrentDate(ADate:TDateTime):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentTime(ATime:TDateTime):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentMinute(AMinute:Integer):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentHour(AHour:Integer):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentWeekDay(AWeekDay:Integer):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentDay(ADay:Integer):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentMonth(AMonth:Integer):Boolean;
Description: To be documented
Note | None documented |
---|
function IsCurrentYear(AYear:Integer):Boolean;
Description: To be documented
Note | None documented |
---|
function GetMinute(ADateTime:TDateTime):Integer;
Description: To be documented
Note | None documented |
---|
function GetHour(ADateTime:TDateTime):Integer;
Description: To be documented
Note | None documented |
---|
function GetWeekday(ADateTime:TDateTime):Integer;
Description: To be documented
Note | None documented |
---|
function GetDay(ADateTime:TDateTime):Integer;
Description: To be documented
Note | None documented |
---|
function GetMonth(ADateTime:TDateTime):Integer;
Description: To be documented
Note | None documented |
---|
function GetYear(ADateTime:TDateTime):Integer;
Description: To be documented
Note | None documented |
---|
function SecondsSince(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function MinutesSince(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function HoursSince(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function DaysSince(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function MonthsSince(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function YearsSince(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function DayOfYear(ADateTime:TDateTime):LongWord;
Description: To be documented
Note | None documented |
---|
function SubtractSeconds(ADateTime:TDateTime; ASeconds:LongWord):TDateTime;
Description: To be documented
Note | None documented |
---|
function TickCount:LongWord;
Description: Returns number of milliseconds since Ultibo started using GetTickCount
Note | None documented |
---|
function NormaliseDate(const ADate:String):String;
Description: To be documented
Note | None documented |
---|
function FormatEmailDate(ADateTime:TDateTime):String;
Description: To be documented
Note | None documented |
---|
function ShortMonthToMonth(const AShortMonth:String):LongWord;
Description: To be documented
Note | None documented |
---|
function LongMonthToMonth(const ALongMonth:String):LongWord;
Description: To be documented
Note | None documented |
---|
function TwoDigitYearToYear(AYear:LongWord):LongWord;
Description: To be documented
Note | None documented |
---|
Network functions
function CheckEmailAddress(const EmailAddress:String):Boolean;
Description: To be documented
Note | None documented |
---|
function StripEmailAddress(const EmailAddress:String):String;
Description: To be documented
Note | None documented |
---|
function FormatEmailAddress(const FullName,EmailAddress:String):String;
Description: To be documented
Note | None documented |
---|
function GetUserFromEmail(const EmailAddress:String):String;
Description: To be documented
Note | None documented |
---|
function GetDomainFromEmail(const EmailAddress:String):String;
Description: To be documented
Note | None documented |
---|
Miscellaneous functions
function CloneSid(ASid:Pointer):Pointer;
Description: To be documented
Note | None documented |
---|
function CloneDescriptor(ADescriptor:Pointer):Pointer;
Description: To be documented
Note | None documented |
---|
function CompareSid(ASid1,ASid2:Pointer):Boolean;
Description: Caller should first compare the Hashes
Note | None documented |
---|
function CompareDescriptor(ADescriptor1,ADescriptor2:Pointer):Boolean;
Description: Caller should first compare the Hashes
Note | None documented |
---|
function GenerateSidHash(ASid:Pointer; ASize:LongWord):LongWord;
Description: To be documented
Note | None documented |
---|
function GenerateDescriptorHash(ADescriptor:Pointer; ASize:LongWord):LongWord;
Description: To be documented
Note | None documented |
---|
Return to Unit Reference