<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Prem Prakash</title><subtitle type="html" /><id>http://blogs.msdn.com/b/premp/atom.aspx</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/premp/" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/b/premp/atom.aspx" /><generator uri="http://telligent.com" version="5.6.50428.7875">Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><updated>2010-05-12T16:36:00Z</updated><entry><title>Linklist in Javascript</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/premp/archive/2010/10/02/linklist-in-javascript.aspx" /><id>http://blogs.msdn.com/b/premp/archive/2010/10/02/linklist-in-javascript.aspx</id><published>2010-10-02T10:03:00Z</published><updated>2010-10-02T10:03:00Z</updated><content type="html">&lt;p&gt;This is pretty straight forward.. Save the following code&amp;nbsp;snippet as&amp;nbsp;a html file and run it inside your IE&amp;nbsp;browser.&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="html"&gt;&amp;lt;html&amp;gt;
&lt;br /&gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Javascript link list&amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
&lt;br /&gt;&amp;lt;body&amp;gt;
&lt;br /&gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
&lt;br /&gt;&amp;lt;span id="desc"&amp;gt;Enter data:&amp;lt;/span&amp;gt;&amp;amp;nbsp;
&lt;br /&gt;&amp;lt;input type="text" id="datatxt" /&amp;gt;
&lt;br /&gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
&lt;br /&gt;&amp;lt;input type="button" id="addbtn" value="Add to List" onclick="AddToList();" /&amp;gt;
&lt;br /&gt;&amp;amp;nbsp;
&lt;br /&gt;&amp;lt;input type="button" id="printbtn" value="Print List" onclick="PrintList();"/&amp;gt;
&lt;br /&gt;&amp;amp;nbsp;
&lt;br /&gt;&amp;lt;input type="button" id="countbtn" value="Count List" onclick="GetCount();" /&amp;gt;
&lt;br /&gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
&lt;br /&gt;&amp;lt;span id="result"&amp;gt;&amp;lt;/span&amp;gt;
&lt;br /&gt;&amp;lt;script language="javascript" type="text/javascript"&amp;gt;
&lt;br /&gt;    function LinkList() {
&lt;br /&gt;        var count = 0;
&lt;br /&gt;        var head = null;
&lt;br /&gt;        function Node() {
&lt;br /&gt;            var Data = null;
&lt;br /&gt;            var Next = null;
&lt;br /&gt;        }
&lt;br /&gt;        this.Count = function () {
&lt;br /&gt;            return count;
&lt;br /&gt;        }
&lt;br /&gt;        this.Add = function (data) {
&lt;br /&gt;            var nd = new Node();
&lt;br /&gt;            nd.Data = data;
&lt;br /&gt;            if (head) {
&lt;br /&gt;                nd.Next = head;
&lt;br /&gt;            }
&lt;br /&gt;            head = nd;
&lt;br /&gt;            count++;
&lt;br /&gt;        }
&lt;br /&gt;        this.Traverse = function () {
&lt;br /&gt;            var result = "";
&lt;br /&gt;            var current = head;
&lt;br /&gt;            while (current) {
&lt;br /&gt;                result = result + " --&amp;gt; " + current.Data;
&lt;br /&gt;                current = current.Next;
&lt;br /&gt;            }
&lt;br /&gt;            return result;
&lt;br /&gt;        }
&lt;br /&gt;    }
&lt;br /&gt;var mylist = new LinkList();
&lt;br /&gt;
&lt;br /&gt;function AddToList() {
&lt;br /&gt;    var txtCtrl = document.getElementById('datatxt');
&lt;br /&gt;    var resCtrl = document.getElementById('result');
&lt;br /&gt;    if (txtCtrl &amp;amp;&amp;amp; txtCtrl.value.length &amp;gt; 0) {
&lt;br /&gt;        mylist.Add(txtCtrl.value);
&lt;br /&gt;        if (resCtrl) {
&lt;br /&gt;            resCtrl.innerHTML = "&amp;lt;b&amp;gt;" + txtCtrl.value + "&amp;lt;/b&amp;gt; added to list.";
&lt;br /&gt;        }
&lt;br /&gt;        txtCtrl.value = '';
&lt;br /&gt;    }
&lt;br /&gt;}
&lt;br /&gt;function PrintList() {
&lt;br /&gt;    var resCtrl = document.getElementById('result');
&lt;br /&gt;    if (resCtrl) {
&lt;br /&gt;        if (mylist.Count() &amp;gt; 0) {
&lt;br /&gt;            resCtrl.innerHTML = mylist.Traverse();
&lt;br /&gt;        }
&lt;br /&gt;        else {
&lt;br /&gt;            resCtrl.innerHTML = "List is empty.";
&lt;br /&gt;        }
&lt;br /&gt;    }
&lt;br /&gt;    var txtCtrl = document.getElementById('datatxt');
&lt;br /&gt;    if (txtCtrl) {
&lt;br /&gt;        txtCtrl.value = '';
&lt;br /&gt;    }
&lt;br /&gt;}
&lt;br /&gt;function GetCount() {
&lt;br /&gt;    var resCtrl = document.getElementById('result');
&lt;br /&gt;    if (resCtrl) {
&lt;br /&gt;        resCtrl.innerHTML = "List has &amp;lt;b&amp;gt;" + mylist.Count() + "&amp;lt;/b&amp;gt; items.";
&lt;br /&gt;    }
&lt;br /&gt;    var txtCtrl = document.getElementById('datatxt');
&lt;br /&gt;    if (txtCtrl) {
&lt;br /&gt;        txtCtrl.value = '';
&lt;br /&gt;    }
&lt;br /&gt;}
&lt;br /&gt;&amp;lt;/script&amp;gt;
&lt;br /&gt;&amp;lt;/body&amp;gt;
&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10070623" width="1" height="1"&gt;</content><author><name>Prem Prakash</name><uri>http://blogs.msdn.com/premp/ProfileUrlRedirect.ashx</uri></author><category term="linklist in javascript" scheme="http://blogs.msdn.com/b/premp/archive/tags/linklist+in+javascript/" /></entry><entry><title>Communication between Iframes</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/premp/archive/2010/10/02/communication-between-iframes.aspx" /><id>http://blogs.msdn.com/b/premp/archive/2010/10/02/communication-between-iframes.aspx</id><published>2010-10-02T07:26:00Z</published><updated>2010-10-02T07:26:00Z</updated><content type="html">&lt;p&gt;In cases when we host different applications within Iframe on a web&amp;nbsp;page, we often need them to communicate with each other or just be able to communicate with its host parent.&lt;/p&gt;
&lt;p&gt;The basic to have this communication happen is by ensuring that the &lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="js"&gt;document.domain&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;property of both communicating&amp;nbsp;parties are same. &lt;/p&gt;
&lt;p&gt;Consider this, say&amp;nbsp;parent page is &lt;a href="http://parent.example.com/mypage.aspx"&gt;http://parent.example.com/mypage.aspx&lt;/a&gt; . This page host another application in an Iframe. To&amp;nbsp;have parent and hosted application able to communicate with each other we need to have IFrame application be in either a subdomain of parent.example.com (like &lt;a href="http://sub.parent.example.com/myapp.aspx"&gt;http://sub.parent.example.com/myapp.aspx&lt;/a&gt;) or in parallel to parent.example.com (like &lt;a href="http://sub.example.com/myapp.aspx"&gt;http://sub.example.com/myapp.aspx&lt;/a&gt; ).&lt;/p&gt;
&lt;p&gt;Once we setup both applications as mentioned&amp;nbsp;above; we can then set the document.domain property to parent.example.com (in case IFrame application is hosted in a subdomain like &lt;a href="http://sub.parent.example.com/myapp.aspx"&gt;http://sub.parent.example.com/myapp.aspx&lt;/a&gt;)&amp;nbsp;or we need to set the document.domain&amp;nbsp;to example.com (in case the Iframe application is hosted in a parallel domain like &lt;a href="http://sub.example.com/myapp.aspx"&gt;http://sub.example.com/myapp.aspx&lt;/a&gt;&amp;nbsp;)&lt;/p&gt;
&lt;p&gt;We can do so by calling a script function at onload event handler of both parent page and on page which is to be hosted inside the iframe, or by simply doing something like this.&lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="html"&gt;&amp;lt;html&amp;gt;
&lt;br /&gt;&amp;lt;body&amp;gt;
&lt;br /&gt;&amp;lt;script language="javascript" type="text/javascript"&amp;gt;
&lt;br /&gt;  document.domain = "somevaliddomain";
&lt;br /&gt;&amp;lt;/script&amp;gt;
&lt;br /&gt;
&lt;br /&gt;.. all other stuff
&lt;br /&gt;
&lt;br /&gt;&amp;lt;/body&amp;gt;
&lt;br /&gt;&amp;lt;/html&amp;gt;
&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;now, parent and iframe document can communicate without any hassle.&lt;br /&gt;for example iframe document can now call any javascript method on its parent, passing&amp;nbsp;any&amp;nbsp;required data,&amp;nbsp;like shown here &lt;/p&gt;
&lt;pre class="scroll"&gt;&lt;code class="cplusplus"&gt;&amp;lt;script language="javascript" type="text/javascipt"&amp;gt;
&lt;br /&gt;var someValueFromIframe = "test data";
&lt;br /&gt;if(parent &amp;amp;&amp;amp; parent.SomeFunc &amp;amp;&amp;amp; typeof(parent.SomeFunc) == "function")
&lt;br /&gt;{
&lt;br /&gt;parent.SomeFunc(someValueFromIframe); // passing to parenthost
&lt;br /&gt;}
&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class="scroll"&gt;&lt;code class="cplusplus"&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class="scroll"&gt;&lt;code class="cplusplus"&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10070604" width="1" height="1"&gt;</content><author><name>Prem Prakash</name><uri>http://blogs.msdn.com/premp/ProfileUrlRedirect.ashx</uri></author><category term="iframe communication" scheme="http://blogs.msdn.com/b/premp/archive/tags/iframe+communication/" /><category term="javascript iframe communication" scheme="http://blogs.msdn.com/b/premp/archive/tags/javascript+iframe+communication/" /><category term="communication between iframes" scheme="http://blogs.msdn.com/b/premp/archive/tags/communication+between+iframes/" /></entry><entry><title>Paint for MS Dos</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/b/premp/archive/2010/05/12/ms-dos-16-bit-paint.aspx" /><id>http://blogs.msdn.com/b/premp/archive/2010/05/12/ms-dos-16-bit-paint.aspx</id><published>2010-05-12T23:36:00Z</published><updated>2010-05-12T23:36:00Z</updated><content type="html">&lt;P&gt;Here is the link to page for Paint application&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/premp/pages/paint-for-ms-dos.aspx" mce_href="http://blogs.msdn.com/premp/pages/paint-for-ms-dos.aspx"&gt;http://blogs.msdn.com/premp/pages/paint-for-ms-dos.aspx&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P minmax_bound="true"&gt;The source&amp;nbsp;is in ANSI&amp;nbsp;C langauge and will require a C compiler to get it compiled.. Also, if you are running it on Windows Vista or higher, you will need Dos emulators like DosBox.. &amp;nbsp;Enjoy... &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10012129" width="1" height="1"&gt;</content><author><name>Prem Prakash</name><uri>http://blogs.msdn.com/premp/ProfileUrlRedirect.ashx</uri></author><category term="Paint in C" scheme="http://blogs.msdn.com/b/premp/archive/tags/Paint+in+C/" /><category term="Graphics in C" scheme="http://blogs.msdn.com/b/premp/archive/tags/Graphics+in+C/" /><category term="C programs" scheme="http://blogs.msdn.com/b/premp/archive/tags/C+programs/" /><category term="Fun Projects in C" scheme="http://blogs.msdn.com/b/premp/archive/tags/Fun+Projects+in+C/" /><category term="Paint application in C" scheme="http://blogs.msdn.com/b/premp/archive/tags/Paint+application+in+C/" /><category term="Paint for Dos" scheme="http://blogs.msdn.com/b/premp/archive/tags/Paint+for+Dos/" /><category term="Source code in c for dos paint" scheme="http://blogs.msdn.com/b/premp/archive/tags/Source+code+in+c+for+dos+paint/" /></entry></feed>