! 發展單位:風禹科技驗證有限公司 ! 撰寫人:鄭子璉(Tzu-Lien, Cheng, 璉璉) ,成大水博肄,微軟最有價值專家 ! Web: http://tlcheng.twbbs.org/TLCheng/ E-Mail: qvb3377@ms5.hinet.net ! -------------------------------------------------------------------------------------- Module modProFile Use modStrTools Use kernel32 Integer, Private, Parameter :: ProFile_BufferSize = 16384 Contains Integer Function GetPrivateProfileRealArray(lpAppName, lpKeyName, lpFileName, arrData) Character*(*) :: lpAppName, lpKeyName, lpFileName Integer :: i, nSize, nCount, nLen, nScan, nLoc Real, Allocatable :: arrData(:) Character*(ProFile_BufferSize) :: IniBuffer nSize = Len(IniBuffer) nLen = GetPrivateProfileString(lpAppName, lpKeyName, '', IniBuffer, nSize, lpFileName) GetPrivateProfileRealArray = SplitToReal(arrData, IniBuffer(1:nLen)) End Function Integer Function MyGetPrivateProfileString(lpAppName, lpKeyName, lpFileName, IniBuffer, lpDefault) Character*(*) :: lpAppName, lpKeyName, lpFileName, lpDefault Integer :: nSize, summy Optional :: lpDefault Character*(*) :: IniBuffer nSize = Len(IniBuffer) summy = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, IniBuffer, nSize, lpFileName) IniBuffer = IniBuffer(1:summy) MyGetPrivateProfileString = summy End Function Integer Function MyGetPrivateProfileInt(lpAppName, lpKeyName, lpFileName, lpDefault) Character*(*) :: lpAppName, lpKeyName, lpFileName Integer :: lpDefault Optional :: lpDefault MyGetPrivateProfileInt = GetPrivateProfileInt(lpAppName, lpKeyName, lpDefault, lpFileName) End Function Real Function MyGetPrivateProfileReal(lpAppName, lpKeyName, lpFileName, lpDefault) Character*(*) :: lpAppName, lpKeyName, lpFileName, lpDefault Optional :: lpDefault Character*(32) :: IniBuffer Integer :: summy nSize = Len(IniBuffer) summy = GetPrivateProfileString(lpAppName, lpKeyName, lpDefault, IniBuffer, nSize, lpFileName) IniBuffer = IniBuffer(1:summy) MyGetPrivateProfileReal = StringToReal(IniBuffer) End Function End Module