<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1922776685535023939</id><updated>2012-02-17T03:40:40.179+01:00</updated><category term='mscrm'/><category term='mng'/><category term='javascript'/><category term='cache'/><category term='div'/><category term='avi'/><category term='web service'/><category term='video'/><category term='mame'/><category term='autosize'/><category term='datacontext'/><category term='textbox'/><category term='xmlhttprequest'/><title type='text'>G.B.Log</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-776640612681492916</id><published>2011-06-30T11:34:00.000+02:00</published><updated>2011-06-30T11:34:36.406+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mscrm'/><title type='text'>MSCRM Plugin - Create image for a reschedule event</title><content type='html'>If you need pre and/or post images for a "Reschedule" event in a CRM plug-in you can create a new "Update" step, add the needed image and then change the step to "Reschedule". Voila :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-776640612681492916?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/776640612681492916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2011/06/mscrm-plugin-create-image-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/776640612681492916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/776640612681492916'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2011/06/mscrm-plugin-create-image-for.html' title='MSCRM Plugin - Create image for a reschedule event'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-5527891055827740514</id><published>2011-02-16T22:42:00.003+01:00</published><updated>2011-02-18T00:40:24.177+01:00</updated><title type='text'>DemotiChrome: my first app is available on Chrome Web Store</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-WKEbPA7cz3E/TVxEdX9FrDI/AAAAAAAABA0/Vw77NLWa9Ms/s1600/6002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="258" src="http://3.bp.blogspot.com/-WKEbPA7cz3E/TVxEdX9FrDI/AAAAAAAABA0/Vw77NLWa9Ms/s320/6002.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I finally published my first app in the Chrome Web Store: &lt;a href="https://chrome.google.com/webstore/detail/ifbdbbhpoggidfaknjhcocjgkkeomldd" target="_blank"&gt;DemotiChrome&lt;/a&gt;! Is a little HTML5 experiment about canvas and XMLHttpRequest. It allows to create "&lt;a href="http://www.google.com/images?q=demotivational+posters" target="_blank"&gt;demotivational posters&lt;/a&gt;"&amp;nbsp;from any picture and to upload the result on Facebook or to share it on Twitter.&lt;br /&gt;It's free, so give it a try! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-5527891055827740514?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/5527891055827740514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2011/02/demotichrome-my-first-app-is-available.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/5527891055827740514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/5527891055827740514'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2011/02/demotichrome-my-first-app-is-available.html' title='DemotiChrome: my first app is available on Chrome Web Store'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-WKEbPA7cz3E/TVxEdX9FrDI/AAAAAAAABA0/Vw77NLWa9Ms/s72-c/6002.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-6614821904852491071</id><published>2010-11-16T00:23:00.000+01:00</published><updated>2010-11-16T00:23:26.177+01:00</updated><title type='text'>AEX's MNG2AVI 1.4</title><content type='html'>A little update to AEX MNG2AVI that gains ability to resize the output video. This is usefull converting MNG files that contain frames of different size.&lt;br /&gt;&lt;br /&gt;You can download it from&amp;nbsp;&lt;a href="http://www.arcade-extreme.com/download.aspx?file=aexmng2avi.zip"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-6614821904852491071?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/6614821904852491071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2010/11/aexs-mng2avi-14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/6614821904852491071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/6614821904852491071'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2010/11/aexs-mng2avi-14.html' title='AEX&apos;s MNG2AVI 1.4'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-7366414891482253802</id><published>2010-06-04T22:41:00.001+02:00</published><updated>2010-06-04T22:42:09.366+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='autosize'/><category scheme='http://www.blogger.com/atom/ns#' term='div'/><category scheme='http://www.blogger.com/atom/ns#' term='textbox'/><title type='text'>Autosize textbox with DIVs</title><content type='html'>A customer asked for a grid to enter products with a long description. The textbox should adapt to its content and for a nicer effect, all the textboxes on the same row should resize according to the first one.&lt;br /&gt;A good way (IMO) to implement this are DIVs with &lt;b&gt;contenteditable="true"&lt;/b&gt;. In this example I created a function named ResizeDiv to which I can pass a free number of arguments. The first one is the main div, while the others are divs on the same row that I want to resize according to the main one. The function is called from onkeyup event of the description textbox, from onresize of the body and after the render of the page to manage non empty textboxes.&lt;br /&gt;I tested this on Chrome, Firefox and IE (with a lot of hacks of course...).&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.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; }&lt;/style&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; offset = 2;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;        &lt;span class="kwrd"&gt;function&lt;/span&gt; ResizeDiv() {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (arguments.length &amp;gt; 1) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;                &lt;span class="kwrd"&gt;var&lt;/span&gt; h = document.getElementById(arguments[0]).offsetHeight;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;                &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;var&lt;/span&gt; x = 1; x &amp;lt; arguments.length; x++) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (x != 0)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;                        document.getElementById(arguments[x]).style.height = h - offset;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;                }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;            }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; ResizeAll = &lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;            ResizeDiv(&lt;span class="str"&gt;"indiv1"&lt;/span&gt;, &lt;span class="str"&gt;"outdiv1"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;            ResizeDiv(&lt;span class="str"&gt;"indiv2"&lt;/span&gt;, &lt;span class="str"&gt;"outdiv2"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;    &amp;lt;style&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        div.textarea&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;        {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;            display: block;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            border: 1px solid;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;            max-height: 80px;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;            overflow: scroll;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;            overflow-x: hidden;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;        }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;    &amp;lt;/style&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;    &amp;lt;!--[&lt;span class="kwrd"&gt;if&lt;/span&gt; IE]&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;        &amp;lt;style type=&lt;span class="str"&gt;"text/css"&lt;/span&gt; media=&lt;span class="str"&gt;"screen"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;            div.maxi&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;            {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;                height:expression(&lt;span class="kwrd"&gt;this&lt;/span&gt;.scrollHeight &amp;gt; 80 ? &lt;span class="str"&gt;"80px"&lt;/span&gt; : &lt;span class="str"&gt;"auto"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;            }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;        &amp;lt;/style&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;        &amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;            &lt;span class="rem"&gt;//IE hack&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;            offset = 0;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;        &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;    &amp;lt;![endif]--&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;&amp;lt;/head&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;&amp;lt;!--[&lt;span class="kwrd"&gt;if&lt;/span&gt; !IE]&amp;gt;--&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;&amp;lt;body onresize=&lt;span class="str"&gt;"ResizeAll();"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  49:  &lt;/span&gt;&amp;lt;!--&amp;lt;![endif]--&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  50:  &lt;/span&gt;&amp;lt;!--[&lt;span class="kwrd"&gt;if&lt;/span&gt; IE]&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  51:  &lt;/span&gt;&amp;lt;body onload=&lt;span class="str"&gt;"setInterval(ResizeAll, 100);"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  52:  &lt;/span&gt;&amp;lt;![endif]--&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  53:  &lt;/span&gt;    &amp;lt;div contenteditable=&lt;span class="str"&gt;"true"&lt;/span&gt; id=&lt;span class="str"&gt;"indiv1"&lt;/span&gt; onkeyup=&lt;span class="str"&gt;"ResizeAll();"&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"textarea maxi"&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  54:  &lt;/span&gt;        style=&lt;span class="str"&gt;"float: left; width: 49%;"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  55:  &lt;/span&gt;        A text, within literary theory, &lt;span class="kwrd"&gt;is&lt;/span&gt; a coherent set of symbols that transmits some&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  56:  &lt;/span&gt;        kind of informative message.&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  57:  &lt;/span&gt;    &amp;lt;div contenteditable=&lt;span class="str"&gt;"false"&lt;/span&gt; id=&lt;span class="str"&gt;"outdiv1"&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"textarea"&lt;/span&gt; style=&lt;span class="str"&gt;"float: left; width: 50%;"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  58:  &lt;/span&gt;        outdiv1&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  59:  &lt;/span&gt;    &amp;lt;div contenteditable=&lt;span class="str"&gt;"true"&lt;/span&gt; id=&lt;span class="str"&gt;"indiv2"&lt;/span&gt; onkeyup=&lt;span class="str"&gt;"ResizeAll();"&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"textarea maxi"&lt;/span&gt; style=&lt;span class="str"&gt;"float: left;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  60:  &lt;/span&gt;        width: 49%;"&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  61:  &lt;/span&gt;        A text, within literary theory, &lt;span class="kwrd"&gt;is&lt;/span&gt; a coherent set of symbols that transmits some&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  62:  &lt;/span&gt;        kind of informative message.&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  63:  &lt;/span&gt;    &amp;lt;div contenteditable=&lt;span class="str"&gt;"false"&lt;/span&gt; id=&lt;span class="str"&gt;"outdiv2"&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt;=&lt;span class="str"&gt;"textarea"&lt;/span&gt; style=&lt;span class="str"&gt;"float: left; width: 50%;"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  64:  &lt;/span&gt;        outdiv2&amp;lt;/div&amp;gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  65:  &lt;/span&gt;    &amp;lt;script type=&lt;span class="str"&gt;"text/javascript"&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  66:  &lt;/span&gt;        ResizeAll();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  67:  &lt;/span&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  68:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  69:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-7366414891482253802?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/7366414891482253802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2010/06/autosize-textbox-with-divs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/7366414891482253802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/7366414891482253802'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2010/06/autosize-textbox-with-divs.html' title='Autosize textbox with DIVs'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-4715217160284232100</id><published>2010-05-14T12:19:00.000+02:00</published><updated>2010-05-14T12:19:47.061+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='xmlhttprequest'/><category scheme='http://www.blogger.com/atom/ns#' term='web service'/><title type='text'>Call web service from javascript</title><content type='html'>To call a simple web service with parameters and returing a single value you can use a GET request like&amp;nbsp;&lt;b&gt;http://mysite/mywebservice.aspx?myparameter=myvalue&lt;/b&gt;. To do so I use a generic function:&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;.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; }&lt;/style&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt; &lt;span class="attr"&gt;language&lt;/span&gt;&lt;span class="kwrd"&gt;="JavaScript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;var&lt;/span&gt; xmlHttp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;&lt;span class="rem"&gt;//Call a simple webmethod with parameters returning a single string&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; CallSimpleWebService(FunctionName, ParameterNameList, ParameterValueList, ServiceURL) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="kwrd"&gt;var&lt;/span&gt; CompleteURL = ServiceURL + &lt;span class="str"&gt;'/'&lt;/span&gt; + FunctionName + &lt;span class="str"&gt;'?'&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="kwrd"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; ParameterNameList.length; i++) {&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;        CompleteURL = CompleteURL + ParameterNameList[i] + &lt;span class="str"&gt;"="&lt;/span&gt; + ParameterValueList[i];&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (i != ParameterNameList.length - 1)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;            CompleteURL = CompleteURL + &lt;span class="str"&gt;"&amp;amp;"&lt;/span&gt;;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;    &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;    xmlHttp = &lt;span class="kwrd"&gt;new&lt;/span&gt; XMLHttpRequest();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    xmlHttp.open(&lt;span class="str"&gt;"get"&lt;/span&gt;, CompleteURL, &lt;span class="kwrd"&gt;false&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt;    xmlHttp.setRequestHeader(&lt;span class="str"&gt;"Host"&lt;/span&gt;, &lt;span class="str"&gt;"localhost"&lt;/span&gt;);&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    xmlHttp.onreadystatechange = doUpdate;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;    xmlHttp.send();&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;}&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;&lt;span class="kwrd"&gt;function&lt;/span&gt; doUpdate() {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;    debugger;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (xmlHttp.readyState == 4) {&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; responseElement = xmlHttp.responseXML.getElementsByTagName(&lt;span class="str"&gt;"string"&lt;/span&gt;)[0];&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;        &lt;span class="kwrd"&gt;var&lt;/span&gt; exch = responseElement.firstChild.nodeValue;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;        alert(exch);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;    }&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;}&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;CallSimpleWebService(&lt;span class="str"&gt;"MyFunction"&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; Array(&lt;span class="str"&gt;"MyPar1"&lt;/span&gt;, &lt;span class="str"&gt;"MyPar2"&lt;/span&gt;), &lt;span class="kwrd"&gt;new&lt;/span&gt; Array(MyVal1, &lt;span class="str"&gt;"MyVal2"&lt;/span&gt;), &lt;span class="str"&gt;"http://mysite/mywebservice.asmx"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;span class="Apple-style-span" style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span class="lnum"&gt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;I hope this can be useful.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-4715217160284232100?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/4715217160284232100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2010/05/call-web-service-from-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/4715217160284232100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/4715217160284232100'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2010/05/call-web-service-from-javascript.html' title='Call web service from javascript'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-5556331319378033432</id><published>2010-05-11T18:02:00.013+02:00</published><updated>2010-06-22T16:00:55.645+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='datacontext'/><category scheme='http://www.blogger.com/atom/ns#' term='mscrm'/><category scheme='http://www.blogger.com/atom/ns#' term='cache'/><title type='text'>Empty CRM Client DataContext cache</title><content type='html'>I don't really know if this is the right way to do it, but if you run a query with the new CrmDataContext (or XrmDataContext or Entities.DataContext) results are cached. So if a user modify something and you run your query again, results do not consider the last changes.&lt;br /&gt;I found that you can empty that cache with something like this:&lt;br /&gt;&lt;style type="text/css"&gt;.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; }&lt;/style&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;BaseCache baseCache = CacheManager.GetBaseCache();&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;&lt;span class="kwrd"&gt;foreach&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt; X &lt;span class="kwrd"&gt;in&lt;/span&gt; from X &lt;span class="kwrd"&gt;in&lt;/span&gt; baseCache&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;                     &lt;span class="kwrd"&gt;where&lt;/span&gt; X.Key.Contains(&lt;span class="str"&gt;"adxdependency:crm:entity:"&lt;/span&gt;)&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;                     select X.Key)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    baseCache.Remove(X);&lt;/pre&gt;&lt;/div&gt;If someone knows a better solution...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;edit (22.06.2010)&lt;/b&gt;: as&lt;b&gt; sebwaks&lt;/b&gt; suggested, if you want to remove a specific entity from the cache you can use a single line:&lt;br /&gt;&lt;br /&gt;&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;CacheManager.GetBaseCache().Remove(&lt;span class="str"&gt;"adxdependency:crm:entity:entityname"&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-5556331319378033432?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/5556331319378033432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2010/05/empty-xrm-client-cache.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/5556331319378033432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/5556331319378033432'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2010/05/empty-xrm-client-cache.html' title='Empty CRM Client DataContext cache'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1922776685535023939.post-3412347950633923402</id><published>2010-05-10T13:59:00.002+02:00</published><updated>2010-05-29T01:09:19.987+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='mng'/><category scheme='http://www.blogger.com/atom/ns#' term='mame'/><category scheme='http://www.blogger.com/atom/ns#' term='avi'/><title type='text'>AEX's MGN2AVI 1.3 - Convert MNG to AVI</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;a href="http://img443.imageshack.us/i/aexmng2avi12ow5.jpg/" target="_blank"&gt;&lt;img border="0" src="http://img443.imageshack.us/img443/1860/aexmng2avi12ow5.th.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div"&gt;This little piece of software allows to convert MNG video recorded by MAME to common AVI files. It is not intended to decode every MNG file, but only ones made with -mngwrite MAME command (they are simple sequences of PNG images). It also have limited and video only playback capabilities.&lt;br /&gt;&lt;/div"&gt;&lt;div style="text-align: justify;"&gt;It’s written with C#.Net so you need .Net Framework 2.0 to make it work. Enjoy!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.arcade-extreme.com/download.aspx?file=aexmng2avi.zip"&gt;Download&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1922776685535023939-3412347950633923402?l=g-b-log.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://g-b-log.blogspot.com/feeds/3412347950633923402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://g-b-log.blogspot.com/2010/05/aexs-mgn2avi-13.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/3412347950633923402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1922776685535023939/posts/default/3412347950633923402'/><link rel='alternate' type='text/html' href='http://g-b-log.blogspot.com/2010/05/aexs-mgn2avi-13.html' title='AEX&apos;s MGN2AVI 1.3 - Convert MNG to AVI'/><author><name>Jack</name><uri>http://www.blogger.com/profile/07712767860051659142</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
