Selasa, 16 Juni 2009

Mengakses INI File dengan C Sharp

Pendahuluan

Class C# di bawah ini berguna untuk mengakses file Ini yang memanfaatkan 2 functions dari KERNEL32.dll, yaitu : WritePrivateProfileString dan GetPrivateProfileString

Namespaces yang diperlukan System.Runtime.InteropServices dan System.Text

Class

using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Ini
{
/// <summary>
/// Create a New INI file to store or load data
/// </summary>

public class IniFile
{
public string path;

[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section,
string key,string val,string filePath);
[DllImport("kernel32")]
private static extern int GetPrivateProfileString(string section,
string key,string def, StringBuilder retVal,
int size,string filePath);

/// <summary>
/// INIFile Constructor.
/// </summary>
/// <PARAM name="INIPath"></PARAM>

public IniFile(string INIPath)
{
path = INIPath;
}

/// <summary>
/// Write Data to the INI File
/// </summary>
/// <PARAM name="Section"></PARAM>
/// Section name
/// <PARAM name="Key"></PARAM>
/// Key Name
/// <PARAM name="Value"></PARAM>
/// Value Name

public void IniWriteValue(string Section,string Key,string Value)
{
WritePrivateProfileString(Section,Key,Value,this.path);
}

/// <summary>
/// Read Data Value From the Ini File
/// </summary>
/// <PARAM name="Section"></PARAM>
/// <PARAM name="Key"></PARAM>
/// <PARAM name="Path"></PARAM>
/// <returns></returns>

public string IniReadValue(string Section,string Key)
{
StringBuilder temp = new StringBuilder(255);
int i = GetPrivateProfileString(Section,Key,"",temp,
255, this.path);
return temp.ToString();

}
}
}


Menggunakan class



Langkah yang diperlukan untuk menggunakan class Ini:




  1. Pada definisi project namespace tambahkan:



    using Ini;



  2. Buat object berjenis INIFile seperti ini:




    INIFile ini = new INIFile("C:\\test.ini");



  3. Gunakan IniWriteValue untuk menulis nilai baru pada suatu key dalam sebuah section atau gunakan IniReadValue untuk membaca suatu value dari sebuah key dalam suatu Section.


  4. Misalnya isi dari test.ini adalah sbb:
    [database]
    conn=mssql



  5. Maka untuk membaca nilai dari key conn, dapat digunakan perintah sbb:
    string conn = ini.IniReadValue("database", "conn");




Akhmad Daniel Sembiring

vITraining.com


Ligarwangi.com - toserba online



 



Sumber: www.codeproject.com

Tidak ada komentar: