Handling Long INI File Entries

Handling Long INI File Entries

INI file entries can be so extremely long that the normal way of sizinga string before retrieving the entry may not be sufficient. This most frequentlyis true when retrieving the keyword names for an entire INI file section.Many programmers code something like this:

 IniEntry = Space$(512) ' let's hope 512 is big enoughResult = GetProfileString(Section, _	KeyWord, "", IniEntry, Len(IniEntry))If Result > 0 Then		IniEntry = Left$(IniEntry, Result)

However, there is no indication that the returned string may have beentruncated. This technique will accommodate any length INI string:

 IniEntry = ""Do	IniEntry = IniEntry + Space$(512)	Result = GetProfileString(Section, _		KeyWord, "", IniEntry, Len(IniEntry))Loop Until Right$(IniEntry, 1) = " "

If IniEntry is not long enough, the rightmost character will containa null character, so the loop will repeat until the rightmost characterremains as a space. The same technique works when retrieving all keywords of a section likethis:

 KeyWords = ""Do	KeyWords = KeyWords + Space$(512)	Result = GetProfileString(Section, 0, "", _ 		KeyWords, Len(KeyWords))Loop Until Right$(KeyWords, 1) = " "

This assumes that the “KeyWord” parameter for GetProfileStringhas been declared as:

 ByVal lpKeyWord As Any
See also  How HealthStream Learning Center Supports Healthcare Education and Compliance

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist