<?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>afasyah.web.id &#187; ASP.NET MVC</title>
	<atom:link href="http://afasyah.web.id/category/asp-net-mvc/feed/" rel="self" type="application/rss+xml" />
	<link>http://afasyah.web.id</link>
	<description>Me, Myself and a Wordpress</description>
	<lastBuildDate>Tue, 26 Oct 2010 10:41:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Membuat Accelerator untuk Internet Explorer 8 &#8211; Code Converter</title>
		<link>http://afasyah.web.id/asp-net-mvc/membuat-accelerator-untuk-internet-explorer-8/</link>
		<comments>http://afasyah.web.id/asp-net-mvc/membuat-accelerator-untuk-internet-explorer-8/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 17:21:50 +0000</pubDate>
		<dc:creator>danni</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[IE 8]]></category>
		<category><![CDATA[Accelerator]]></category>

		<guid isPermaLink="false">http://afasyah.web.id/?p=28</guid>
		<description><![CDATA[BTW, post ini merupakan studi kasus dari artikel yang telah dibuat sebelumnya di geeks. Tentang Accelerator Accelerator, yang pada Internet Explorer 8 beta disebut dengan Activities, adalah suatu konsep baru yang memungkinkan user untuk berinteraksi dengan web service atau aplikasi dari kebiasan browsing Anda (di internet). Maksudnya, katakanlah Anda kesulitan dengan bahasa Inggris, dan ketika browsing sebuah halaman web dan menemukan kalimat yang tidak Anda kenal (mungkin) seringkali Anda meng-copy kalimat tersebut kemudian membuka website [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://afasyah.web.id/wp-content/uploads/2009/07/cstovb.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="cstovb" src="http://afasyah.web.id/wp-content/uploads/2009/07/cstovb_thumb.jpg" border="0" alt="cstovb" width="437" height="345" /></a></p>
<p>BTW, post ini merupakan studi kasus dari artikel yang telah dibuat sebelumnya di <a href="http://geeks.netindonesia.net/blogs/danni/archive/2009/06/05/c-vb-c-code-converter-internet-explorer-8-accelerator.aspx" target="_blank">geeks</a>.</p>
<h3>Tentang Accelerator</h3>
<p>Accelerator, yang pada Internet Explorer 8 beta disebut dengan Activities, adalah suatu konsep baru yang memungkinkan user untuk berinteraksi dengan web service atau aplikasi dari kebiasan browsing Anda (di internet). Maksudnya, katakanlah Anda kesulitan dengan bahasa Inggris, dan ketika browsing sebuah halaman web dan menemukan kalimat yang tidak Anda kenal (mungkin) seringkali Anda meng-<em>copy</em> kalimat tersebut kemudian membuka website atau program lain untuk menterjemahkan, <em>paste</em> kalimat tadi dan bum! Anda mendapatkan kalimat yang sudah diterjemahkan.</p>
<p>Proses diatas sebetulnya sederhana tapi sebetulnya membutuhkan beberapa tahapan:</p>
<ol>
<li><em>Copy</em> kalimat ke clipboard</li>
<li>Buka Website/Program lain untuk menterjemahkan.</li>
<li><em>Paste </em>kalimat tadi.</li>
<li>Eksekusi untuk mendapatkan apa yang Anda inginkan.</li>
</ol>
<p>Nah, dengan Acceleratornya IE8, tahapan diatas jadi lebih mudah lagi, cukup (1) sorot kalimat yang akan ditranslate (2) Klik kanan atau klik icon biru untuk menampilkan daftar Accelerator yang tersedia di PC Anda, dan (3) Pilih/klik pada menu Accelerator untuk translate.</p>
<p>Jika Accelerator mendukung mode Preview, sebetulnya ketika menyorot Accelerator untuk Translate hasilnya dapat Anda lihat langsung tanpa harus browser membuka tab baru.</p>
<p><img src="http://i.msdn.microsoft.com/Cc289775.ie8_accelerators_map(en-us,VS.85).jpg" alt="" /></p>
<blockquote><p>Walaupun bisa menampilkan jendela preview, ternyata fitur preview ini masih mempunyai kekurangan,</p></blockquote>
<p>Fitur preview ini sangatlah bagus, tapi menurut dokumentasinya, fitur ini masih mempunyai kekurangan, diantaranya ukuran yang terbatas (sekitar 320×240 pixel), diluar itu konten akan kepotong, juga tidak disarankan untuk menampilkan scrollbar pada jendela preview ini.</p>
<h3>Tentang Code Converter</h3>
<p>Untuk mempelajari teknologi baru seperti Accelerator ini tidaklah seru kalo tidak dengan membuat satu produk yang bermanfaat. Dan salah satu yang menjadi kandidat adalah <strong>code converter</strong>. Mengapa ? jika Anda sebagai VB developer mungkin bisa jadi tahu kalau artikel-artikel di internet kebanyakan kodenya dibuat pake C#. Kalo sampai beberapa baris mungkin masi ok lah, masi bisa dicerna tapi kalo sudah puluhan baris dan kompleks si… gile dah.</p>
<p>Nah disinilah Accelerator-nya si IE ini bisa bermanfaat. Jadinya kalo nemu kode C# tinggal sorot aja, pilih menu “Convert C# to VB” maka kode VB-nya akan tampil di window preview. Untuk lebih detailnya, Anda dapat juga meng-klik menu “Convert C# to VB” dan kode VB-nya akan ditampilkan di halaman tersendiri.</p>
<p>Untuk membuat code converter tidaklah sulit karena sebetulnya sudah ada <em>engine</em> untuk itu, yaitu <a href="http://www.sharpdevelop.net/" target="_blank">NRefactory</a>* buatan <a href="http://www.sharpdevelop.net/" target="_blank">SharpDevelop</a>, bahkan beberapa online converter yang populer seperti milik telerik, dsb. sebetulnya dibuat dengan memanfaatkan engine yang sama.</p>
<p>* NRefactory (assembly-nya punya nama <strong>ICSharpCode.NRefactory.dll</strong>) dapat Anda temukan jika Anda sudah memasang SharpDevelop di PC Anda.</p>
<p>Contoh kode untuk konversi dari C# ke VB menggunakan NRefactory:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #0000ff">Imports</span> ICSharpCode.NRefactory</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #0000ff">Imports</span> ICSharpCode.NRefactory.Ast</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #0000ff">Imports</span> ICSharpCode.NRefactory.Parser</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #0000ff">Imports</span> ICSharpCode.NRefactory.PrettyPrinter</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #0000ff">Imports</span> ICSharpCode.NRefactory.Visitors</pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #008000">''' &lt;summary&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #008000">''' Konversi dari C# ke VB</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #008000">''' &lt;/summary&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #008000">''' &lt;param name="input"&gt;Blok kode&lt;/param&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #008000">''' &lt;param name="errorMsg"&gt;Pesan error&lt;/param&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #008000">''' &lt;returns&gt;String&lt;/returns&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #008000">''' &lt;remarks&gt;&lt;/remarks&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #0000ff">Private</span> <span style="color: #0000ff">Function</span> ConvertCSharpToVB(<span style="color: #0000ff">ByVal</span> input <span style="color: #0000ff">As</span> <span style="color: #0000ff">String</span>, <span style="color: #0000ff">ByRef</span> errorMsg <span style="color: #0000ff">As</span> <span style="color: #0000ff">String</span>) <span style="color: #0000ff">As</span> <span style="color: #0000ff">String</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    <span style="color: #0000ff">Dim</span> parser <span style="color: #0000ff">As</span> SnippetParser = <span style="color: #0000ff">New</span> SnippetParser(SupportedLanguage.CSharp)</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">Dim</span> node <span style="color: #0000ff">As</span> INode</pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">Try</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">        node = parser.Parse(input)</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">Catch</span> ex <span style="color: #0000ff">As</span> Exception</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">        errorMsg = parser.Errors.ErrorOutput</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">        <span style="color: #0000ff">Return</span> <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    <span style="color: #0000ff">End</span> <span style="color: #0000ff">Try</span></pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    <span style="color: #0000ff">If</span> (parser.Errors.Count &gt; 0) <span style="color: #0000ff">Then</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">        errorMsg = parser.Errors.ErrorOutput</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">        <span style="color: #0000ff">Return</span> <span style="color: #006080">""</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">End</span> <span style="color: #0000ff">If</span></pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    PreprocessingDirective.CSharpToVB(parser.Specials)</pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    node.AcceptVisitor(<span style="color: #0000ff">New</span> CSharpConstructsConvertVisitor(), <span style="color: #0000ff">Nothing</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    node.AcceptVisitor(<span style="color: #0000ff">New</span> ToVBNetConvertVisitor(), <span style="color: #0000ff">Nothing</span>)</pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    <span style="color: #0000ff">Dim</span> output <span style="color: #0000ff">As</span> VBNetOutputVisitor = <span style="color: #0000ff">New</span> VBNetOutputVisitor()</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    Using (SpecialNodesInserter.Install(parser.Specials, output))</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">        node.AcceptVisitor(output, <span style="color: #0000ff">Nothing</span>)</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">End</span> Using</pre>
<p><!--CRLF--></p>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">Return</span> output.Text</pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #0000ff">End</span> Function</pre>
<p><!--CRLF--></div>
</div>
<h3>Membuat Accelerator</h3>
<p>Untuk Accelerator ini dibuat website yang berfungsi sebagai penyedia jasa konversi kode diatas. Website ini dibuat menggunakan ASP.NET MVC tapi sebetulnya pake WebForm bisa juga,</p>
<p>“Inti” dari konversi kode ini sebetulnya ada di pada 2 form berikut :</p>
<p>Form Preview</p>
<div id="codeSnippetWrapper">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">form</span> <span style="color: #ff0000">action</span><span style="color: #0000ff">="http://localhost:1800/convert/preview"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="f"</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">="cstovb"</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060">   3:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="c"</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060">   4:</span> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></div>
</div>
<p>Form Convert</p>
<div id="codeSnippetWrapper">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060">   1:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">form</span> <span style="color: #ff0000">action</span><span style="color: #0000ff">="http://localhost:1800/convert"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="f"</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">="cstovb"</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060">   3:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">input</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">="text"</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="c"</span> <span style="color: #0000ff">/&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum4" style="color: #606060">   4:</span> <span style="color: #0000ff">&lt;/</span><span style="color: #800000">form</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></div>
</div>
<p>Jika Anda perhatikan form diatas menggunakan 2 parameter, yaitu f/format dan c/code untuk kode yang akan dikonversi. Jika kode diatas kita buat kedalam format OpenService yang digunakan oleh Accelerator maka akan menjadi file xml dengan isi sebagai berikut (file ini kemudian diberi nama <strong>cstovb-accelerator.xml</strong>):</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span style="color: #0000ff">&lt;?</span><span style="color: #800000">xml</span> <span style="color: #ff0000">version</span><span style="color: #0000ff">="1.0"</span> <span style="color: #ff0000">encoding</span><span style="color: #0000ff">="UTF-8"</span> ?<span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #0000ff">&lt;</span><span style="color: #800000">openServiceDescription</span> <span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://www.microsoft.com/schemas/openservicedescription/1.0"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">homepageUrl</span><span style="color: #0000ff">&gt;</span>http://localhost:1800<span style="color: #0000ff">&lt;/</span><span style="color: #800000">homepageUrl</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">display</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">name</span><span style="color: #0000ff">&gt;</span>Convert C# to VB<span style="color: #0000ff">&lt;/</span><span style="color: #800000">name</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">icon</span><span style="color: #0000ff">&gt;</span>http://localhost:1800/favicon.ico<span style="color: #0000ff">&lt;/</span><span style="color: #800000">icon</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">display</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">  <span style="color: #0000ff">&lt;</span><span style="color: #800000">activity</span> <span style="color: #ff0000">category</span><span style="color: #0000ff">="C# Converter"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">    <span style="color: #0000ff">&lt;</span><span style="color: #800000">activityAction</span> <span style="color: #ff0000">context</span><span style="color: #0000ff">="selection"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">preview</span> <span style="color: #ff0000">method</span><span style="color: #0000ff">="post"</span> <span style="color: #ff0000">action</span><span style="color: #0000ff">="http://localhost:1800/convert/preview"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">parameter</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="f"</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">="cstovb"</span> <span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">parameter</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">parameter</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="c"</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">="{selection}"</span> <span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">parameter</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">      <span style="color: #0000ff">&lt;/</span><span style="color: #800000">preview</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">      <span style="color: #0000ff">&lt;</span><span style="color: #800000">execute</span> <span style="color: #ff0000">method</span><span style="color: #0000ff">="post"</span> <span style="color: #ff0000">action</span><span style="color: #0000ff">="http://localhost:1800/convert"</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">parameter</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="f"</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">="cstovb"</span> <span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">parameter</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">        <span style="color: #0000ff">&lt;</span><span style="color: #800000">parameter</span> <span style="color: #ff0000">name</span><span style="color: #0000ff">="c"</span> <span style="color: #ff0000">value</span><span style="color: #0000ff">="{selection}"</span> <span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">parameter</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">      <span style="color: #0000ff">&lt;/</span><span style="color: #800000">execute</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">activityAction</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;">  <span style="color: #0000ff">&lt;/</span><span style="color: #800000">activity</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span style="color: #0000ff">&lt;/</span><span style="color: #800000">openServiceDescription</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></div>
</div>
<p><strong>Catatan</strong> : URL yang digunakan diatas adalah URL di pc lokal. {selection} adalah string yang dikirimkan oleh accelerator.</p>
<p>Agar pengunjung dapat menambahkan Accelerator yang kita buat ini, dibuat link untuk instalasinya sebagai berikut:</p>
<div id="codeSnippetWrapper" style="border: 1px solid silver; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; direction: ltr; max-height: 200px; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<div id="codeSnippet" style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span id="lnum1" style="color: #606060">   1:</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: #f4f4f4; text-align: left;"><span id="lnum2" style="color: #606060">   2:</span> <span style="color: #0000ff">&lt;</span><span style="color: #800000">button</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="cstovb"</span> <span style="color: #ff0000">onclick</span><span style="color: #0000ff">="javascript:window.external.addservice('cstovb-accelerator.xml')"</span><span style="color: #0000ff">&gt;</span>Install C# to VB Converter - Accelerator<span style="color: #0000ff">&lt;/</span><span style="color: #800000">button</span><span style="color: #0000ff">&gt;</span></pre>
<p><!--CRLF--></p>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; direction: ltr; line-height: 12pt; font-family: 'Courier New',courier,monospace; background-color: white; text-align: left;"><span id="lnum3" style="color: #606060">   3:</span></pre>
<p><!--CRLF--></div>
</div>
<p>Setelah dijalankan, aplikasi ini akan tampil seperti gambar diatas.</p>
]]></content:encoded>
			<wfw:commentRss>http://afasyah.web.id/asp-net-mvc/membuat-accelerator-untuk-internet-explorer-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Konversi dataset ke JSON</title>
		<link>http://afasyah.web.id/aspnet/konversi-dataset-ke-json/</link>
		<comments>http://afasyah.web.id/aspnet/konversi-dataset-ke-json/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 12:04:07 +0000</pubDate>
		<dc:creator>danni</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Dataset]]></category>
		<category><![CDATA[Javasript]]></category>

		<guid isPermaLink="false">http://afasyah.web.id/konversi-dataset-ke-json/</guid>
		<description><![CDATA[Kode berikut berguna untuk mengkonversi dataset ke format JSON, untuk gampangnya, serialisasi ke JSON menggunakan library JSON.NET, di websitenya ada beberapa versi tergantung versi .net framework yang digunakan. BTW, ini kodenya : Output yang dihasilkan adalah sebagai berikut (setelah dirapikan):]]></description>
			<content:encoded><![CDATA[<p>Kode berikut berguna untuk mengkonversi dataset ke format JSON, untuk gampangnya, serialisasi ke <a href="http://id.wikipedia.org/wiki/JSON" target="_blank">JSON</a> menggunakan library <a href="http://james.newtonking.com/pages/json-net.aspx" target="_blank">JSON.NET</a>, di websitenya ada beberapa versi tergantung versi .net framework yang digunakan. BTW, ini kodenya :</p>
<pre class="brush: vb; title: ; notranslate">
Imports Newtonsoft.Json

	Private Function GetCustomer() As String

		Dim retVal As String = &quot;&quot;
		Dim ds As DataSet = DAL.Customer.GetCustomers

		If ds IsNot Nothing AndAlso ds.Tables(0).Rows.Count &gt; 0 Then

		Dim custList As New List(Of Hashtable)()

		For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
			 Dim ht As New Hashtable()
			 Dim row As DataRow = TryCast(ds.Tables(0).Rows(i), DataRow)
			 ht(&quot;IDCustomer&quot;) = Convert.ToString(row(&quot;IDCustomer&quot;))
			 ht(&quot;CustomerName&quot;) = Convert.ToString(row(&quot;CustomerName&quot;))
			 custList.Add(ht)
		Next

		retVal = JavaScriptConvert.SerializeObject(custList)

		End If

		Return retVal

End Function
</pre>
<p>Output yang dihasilkan adalah sebagai berikut (setelah dirapikan):</p>
<pre class="brush: jscript; title: ; notranslate">
[
{&quot;IDCustomer&quot;:&quot;1&quot;,&quot;CustomerName&quot;:&quot;Unyil&quot;},
{&quot;IDCustomer&quot;:&quot;2&quot;,&quot;CustomerName&quot;:&quot;Cuplis&quot;},
{&quot;IDCustomer&quot;:&quot;3&quot;,&quot;CustomerName&quot;:&quot;Ableh&quot;}
]
</pre>
]]></content:encoded>
			<wfw:commentRss>http://afasyah.web.id/aspnet/konversi-dataset-ke-json/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Running ASP.NET MVC website on Windows XP/IIS 5.1</title>
		<link>http://afasyah.web.id/asp-net-mvc/running-asp-net-mvc-website-on-windows-xp/</link>
		<comments>http://afasyah.web.id/asp-net-mvc/running-asp-net-mvc-website-on-windows-xp/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 02:24:42 +0000</pubDate>
		<dc:creator>danni</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[cassini web server]]></category>

		<guid isPermaLink="false">http://afasyah.web.id/?p=17</guid>
		<description><![CDATA[If your development environment is still using Windows XP Pro and need to run ASP.NET MVC web application, probably you are running the app from the Visual Studio IDE. Why not using IIS ? Well, technically it is possible to run ASP.NET MVC web application on IIS 5.1 but requires too many action as described in this post. If those steps is too cumbersome for you then you can consider using Ultidev’s Cassini web server. [...]]]></description>
			<content:encoded><![CDATA[<p>If your development environment is still using Windows XP Pro and need to run ASP.NET MVC web application, probably you are running the app from the Visual Studio IDE. Why not using IIS ? Well, technically it is possible to run ASP.NET MVC web application on IIS 5.1 but requires too many action as described in this <a href="http://itscommonsensestupid.blogspot.com/2008/11/deploy-aspnet-mvc-app-on-windows-xp-iis.html" target="_blank">post</a>.</p>
<p>If those steps is too cumbersome for you then you can consider using <a href="http://ultidev.com/products/Cassini/index.htm" target="_blank">Ultidev’s Cassini web server</a>. It’s a small download and you can get a powerful ASP.NET (MVC) compatible web server in just 2 easy steps:</p>
<p>1. Open cassini web server and setup your app.</p>
<p>Go to “Start | Programs | Ultidev | Cassini Web Server | Cassini Web Server Explorer”. Click the “Register Application” button and insert the detail info of your app and click the “save” button.</p>
<p><a href="http://afasyah.web.id/wp-content/uploads/2009/06/cassini1.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Setting Cassini" src="http://afasyah.web.id/wp-content/uploads/2009/06/cassini1_thumb.jpg" border="0" alt="Setting Cassini" width="437" height="381" /></a></p>
<p>2. Click on the application name and you’re ready to go.</p>
<p><a href="http://afasyah.web.id/wp-content/uploads/2009/06/cassini2.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Running our web app" src="http://afasyah.web.id/wp-content/uploads/2009/06/cassini2_thumb.jpg" border="0" alt="Running our web app" width="438" height="221" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://afasyah.web.id/asp-net-mvc/running-asp-net-mvc-website-on-windows-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

