Note regarding InstallScript versions: The samples on this page have been developed with various versions of InstallShield. Some of them require a minimum InstallShield version or may only work in the one version they have been created for. Often it will be possible to make them compatible with other InstallShield versions. |
Here's an IS5 function that changes all backslashes (\) to foreward (/) slashes in a path. Useful when configuring some webservers, java related stuff, etc. Test program included...
prototype SlashSwitch(STRING, BYREF STRING);
slashswitch.zip (449 Bytes) Provided by Brian Bergstrom
This routine replaces InstallShield's StrCompare function which is not case sensitive (which is required for passwords). It compares string length first, then the string content, byte by byte.
prototype CompareStrings(STRING, STRING)
comparestrings.zip (749 Bytes) Provided by Tom LaRoche
Another solution would be to call the lstrcmp WinAPI. It returns 0 if the strings are identical:
prototype INT KERNEL.lstrcmp(STRING, STRING);
If you call StrGetTokens with "\n" as delimiter, a 0x0d character is appended to the tokens. This wrapper for StrGetTokens removes the trailing 0x0d characters from the tokens.
prototype MyStrGetTokens(BYREF LIST, STRING, STRING);
MyStrGetTokens.zip Written by Stephan Hagedorn
File size: 788 bytes Last update: 2000-11-10
This subroutine returns the nPiece-th piece of string szString, delimited by szDelim, in szPiece. For example,
GetSystemInfo (DATE, szDate, nNotUsed); // "3-12-1999"
StrPiece (szDayOfMonth, szDate, "-", 2); // "12"
Now szDayofMonth contains the day of the month.
prototype StrPiece (BYREF STRING, STRING, STRING, NUMBER);
strpiece.zip Written by Alan Frank
File size: 735 bytes Last update: 03/22/1999
This function parses the date returned by GetSystemInfo into different, predefined formats.
prototype FormatDate( STRING, NUMBER, STRING, BYREF STRING);
FormatDate.zip (6.405 Bytes) Provided by Andy Piper
This function takes a number variable and returns a string properly formatted with commas. That is, the number 1234567 is returned as a string "1,234,567".
prototype FormatNumber( NUMBER, BYREF STRING );
FormatNumber.zip Written by Christine Madsen
File size: 511 bytes Last update: 2001-06-22
Here is a function that generates a checksum from a string, for example the user's name. This can be very useful for taking the users name from a registration dialog and the serial number with either characters or numbers and compare them for validation. If a software developer wants to issue a different password that was contingent on the users name and company name, it would be very easy to do as you can imagine. The function was written as a companion to the Registration Dialog with Dynamic Serial Number Validation.
prototype String2Password( BYREF NUMBER, STRING );
string2password.zip (551 Bytes) Provided by Dave Collins
InstallShield's path buffer functions (PathAdd, PathDelete, PathGet, etc.) only work with short path names in 8.3 form. These wrapper functions call LongPathToShortPath before the path buffer function, and LongPathFromShortPath afterwards. The wrappers take the same parameters as the original functions, so you can easily replace them.
prototype MyPathSet(STRING); prototype MyPathGet(BYREF STRING); prototype MyPathAdd(STRING, STRING, NUMBER, NUMBER); prototype MyPathDelete(STRING, NUMBER); prototype MyPathFind(STRING, BYREF STRING, NUMBER, NUMBER); prototype MyPathMove(STRING, STRING, NUMBER, NUMBER, NUMBER); prototype MyPathClear();
mypath.zip Written by Stephan Hagedorn
File size: 1.537 bytes Last update: 2000-11-10
Special version for IPSE 6.x to work around a bug in the PathAdd function.
Fixed handling of trailing backslashes
MyPathIS6.zip Written by Stephan Hagedorn
File size: 3.661 bytes Last update: 2001-09-15
The tokens in a multiline registry string are separated by NULL characters, but InstallShield can't handle strings that contain NULLs. The solution: Use a different delimiting character, and replace this with NULLs immediately before you call the registy function.
prototype ChangeToNulls(BYREF STRING, STRING);
changetonulls.zip Written by Ed Smiley
File size: 882 bytes Last update: 05/27/1999
This is a function to find and repplace a string in a file. It takes 3 string
args, 1st one being the file to examine, 2nd
string to search for, 3rd the string to replace with.
StrReplaceInFile.zip Written by
Dinesh Patel
File size: 1.212 bytes Last update: 2003-03-21
This code replaces a whole string within a string. Several supporting routines are provided so that _StrReplace will compile and be usable in its submitted form. So that some of these ancillary routines would not be "lonely," some of their siblings even though they are not all necessary for _StrReplace.
prototype _StrReplace ( BYREF STRING, STRING, STRING, BYREF LONG, LONG );
StrReplace.zip Written by James Frater
File size: 2.501 bytes Last update: 03/15/1999
All whitespace characters (blanks and tabs) will be eliminated from the string.
prototype OmaStrCutSpaces (STRING, BYREF STRING);
OmaStrCutSpaces.zip Written by Jussi T. Rajala
File size: 777 bytes Last update: 2000-01-29
Whitespaces (blanks and tabs) will be eliminated in the beginning and end from the given string.
prototype stdmiscStringTrim(BYREF STRING);
stdmiscstringtrim.zip (715 Bytes) Provided by Richard Lippmann
Sometimes an API call requires or returns a pointer to a string. In IS5/6 indirection is only possible for number variables. The PointerToStr function serves as indirection for strings, so you can obtain the string value stored at the memoty location referenced by a pointer variable. Example:
STRING svText ; POINTER psvText ; psvText = &svText; PointerToStr(svText,psvText);
prototype PointerToStr(BYREF STRING, POINTER)
PointerToStr.zip Written by Ide Nentjes
File size: 768 bytes Last update: 2001-08-04
FixList is a function that will take a stringlist and do the following:
prototype FixList(BYREF LIST, NUMBER);
FixList.zip (1.971 Bytes) Provided by Christine Madsen
This function tests whether a string contains only characters from the set "abcdefghijklmnopqrstuvwxyz_0123456789"
prototype IsAlphanumeric (STRING);
isalfnum.zip Written by Alan Frank
File size: 581 bytes Last update: 03/22/1999
News | Discussions | Windows Installer | Related Tools | More Help | InstallScript | About InstallSite | Shop | Site Search | |
Neuigkeiten | Diskussionsgruppen | Windows Installer | MSI FAQ | Artikel | Shop | Suche |
Copyright © by InstallSite Stefan
Krueger. All rights reserved. Legal
information.
Impressum/Imprint
Datenschutzerklärung/Privacy Policy
By using this site you agree to the license
agreement. Webmaster contact