68 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*********************************************************************************************
 | |
|  * Copyright 2003 - Volian Enterprises, Inc. All rights reserved.
 | |
|  * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | |
|  * ------------------------------------------------------------------------------
 | |
|  * $Workfile: IniFileIO.cpp $     $Revision: 4 $
 | |
|  * $Author: Jsj $   $Date: 1/07/04 12:08p $
 | |
|  *
 | |
|  * $History: IniFileIO.cpp $
 | |
|  * 
 | |
|  * *****************  Version 4  *****************
 | |
|  * User: Jsj          Date: 1/07/04    Time: 12:08p
 | |
|  * Updated in $/LibSource/IniFileIO
 | |
|  * was not returning found strings
 | |
|  * 
 | |
|  * *****************  Version 3  *****************
 | |
|  * User: Jsj          Date: 12/16/03   Time: 11:44a
 | |
|  * Updated in $/LibSource/IniFileIO
 | |
|  * modified to all use in .net 1.0 and .net 1.1
 | |
|  *********************************************************************************************/
 | |
| // This is the main DLL file.
 | |
| #include "stdafx.h"
 | |
| #include "IniFileIO.h"
 | |
| 
 | |
| using namespace IniFileIO;
 | |
| 
 | |
| String *INIFile::GetINIKeyValueStr(String *SectName, String *KeyName, String *DefaultValue, unsigned BufSize, String *IniFileName)
 | |
| {
 | |
| 	unsigned rtval;
 | |
| 	LPCTSTR tmpSectName;
 | |
| 	LPCTSTR tmpKeyName;
 | |
| 	LPCTSTR tmpDefaultValue;
 | |
| 	LPSTR tmpReturnBuff;
 | |
| 	LPCTSTR tmpIniFileName;
 | |
| 	ValueString = new String(NULL,BufSize+1);
 | |
| 	tmpSectName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(SectName)));
 | |
| 	tmpKeyName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(KeyName)));
 | |
| 	tmpDefaultValue = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(DefaultValue)));
 | |
| 	tmpReturnBuff = static_cast<LPSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(ValueString)));
 | |
| 	tmpIniFileName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(IniFileName)));
 | |
| 
 | |
| 	rtval = GetPrivateProfileString(tmpSectName,tmpKeyName,tmpDefaultValue,tmpReturnBuff,BufSize,tmpIniFileName);
 | |
| 	ValueString = new String(tmpReturnBuff);
 | |
| 	return ValueString;
 | |
| 
 | |
| }
 | |
| 
 | |
| bool INIFile::WriteINIKeyValueStr(String *SectName, String *KeyName, String *KeyValue, String *IniFileName)
 | |
| {
 | |
| 	bool rtval;
 | |
| 
 | |
| 	LPCTSTR tmpSectName;
 | |
| 	LPCTSTR tmpKeyName;
 | |
| 	LPCTSTR tmpKeyValue;
 | |
| 	LPCTSTR tmpIniFileName;
 | |
| 	tmpSectName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(SectName)));
 | |
| 	tmpKeyName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(KeyName)));
 | |
| 	tmpKeyValue = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(KeyValue)));
 | |
| 	tmpIniFileName = static_cast<LPCTSTR>(static_cast<void*>(Marshal::StringToCoTaskMemAnsi(IniFileName)));
 | |
| 
 | |
| 	rtval = WritePrivateProfileString(tmpSectName,tmpKeyName,tmpKeyValue,tmpIniFileName);
 | |
| 	
 | |
| 	Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpSectName));
 | |
| 	Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpKeyName));
 | |
| 	Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpKeyValue));
 | |
| 	Marshal::FreeCoTaskMem(System::IntPtr((void*)tmpIniFileName));
 | |
| 	return rtval;
 | |
| }
 |