FUNCTION IniRead OPTIONAL(sInFileName$, sSection$, sKey$, sIfNotFound$ = "") AS STRING 'Get the fullpathname (ini functions need a full path) LOCAL sFileName AS STRING LOCAL sFilePart AS CHAR PTR GetFullPathName(sInFileName, MAX_PATH, sFileName, &sFilePart) LOCAL iBuff AS INTEGER iBuff = 32767 IF OSVERSION > 3 THEN iBuff = LOF(sFileName$) + 1 LOCAL DYNAMIC szBuffer[iBuff] AS CHAR LOCAL iRes AS INTEGER iRes = GetPrivateProfileString(sSection, sKey, sIfNotFound$, szBuffer, iBuff, sFileName) IF iRes = 0 THEN FUNCTION = sIfNotFound$ FUNCTION = szBuffer$ END FUNCTION