<?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>Clarion Edge</title>
	<atom:link href="http://www.clarionedge.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.clarionedge.com</link>
	<description>Get an Edge with Clarion!</description>
	<lastBuildDate>Thu, 29 Jul 2010 21:13:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tip# 2 &#8211; Just because it is enabled&#8230;</title>
		<link>http://www.clarionedge.com/uncategorized/tip-2-just-because-it-is-enabled.html</link>
		<comments>http://www.clarionedge.com/uncategorized/tip-2-just-because-it-is-enabled.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 21:13:55 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/uncategorized/tip-2-just-because-it-is-enabled.html</guid>
		<description><![CDATA[&#160;
Just because a menu is enabled doesn&#8217;t mean you should expect it to work. E.g. You cannot use import from TXA if you are currently editing a procedure.

]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<blockquote><p>Just because a menu is enabled doesn&#8217;t mean you should expect it to work. E.g. You cannot use import from TXA if you are currently editing a procedure.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/uncategorized/tip-2-just-because-it-is-enabled.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clarion7 conversion notes &#8211; Tip# 1 &#8211; Don&#8217;t click&#8230;</title>
		<link>http://www.clarionedge.com/uncategorized/clarion7-conversion-notes-tip-1-dont-click.html</link>
		<comments>http://www.clarionedge.com/uncategorized/clarion7-conversion-notes-tip-1-dont-click.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 21:12:06 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/uncategorized/clarion7-conversion-notes-tip-1-dont-click.html</guid>
		<description><![CDATA[Having recently begun a project to convert a large system from C6.3 to Clarion7 I thought it might be good to share a few of my experiences along the way  
These are just some [...]]]></description>
			<content:encoded><![CDATA[<p>Having recently begun a project to convert a large system from C6.3 to Clarion7 I thought it might be good to share a few of my experiences along the way <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>These are just some of the things I am stumbling across, your mileage may vary!</p>
<p>&#160;</p>
<h3>Tip# 1 &#8211; Don&#8217;t click&#8230;</h3>
<blockquote><p>After opening an application/solution/project/whatever don&#8217;t click on <strong>ANYTHING</strong> until the CPU has returned to idle.</p>
</blockquote>
<p>I have found that the IDE is very sensitive to a loss of focus. It doesn’t always happen but sometimes if you click or transfer focus at the wrong moment things will stop working. Safer to just wait!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/uncategorized/clarion7-conversion-notes-tip-1-dont-click.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>R.I.P. faq.clarionmag.com</title>
		<link>http://www.clarionedge.com/clarion/general/r-i-p-faq-clarionmag-com.html</link>
		<comments>http://www.clarionedge.com/clarion/general/r-i-p-faq-clarionmag-com.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 21:06:28 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Clarion]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/clarion/general/r-i-p-faq-clarionmag-com.html</guid>
		<description><![CDATA[I know it was a while ago now but I still feel the loss. Apparently the good folk at StackExchange decided there was not enough traffic. 
More info http://www.clarionmag.com/cmag/faq.html
]]></description>
			<content:encoded><![CDATA[<p>I know it was a while ago now but I still feel the loss. Apparently the good folk at <a href="http://stackexchange.com/">StackExchange</a> decided there was not enough traffic. </p>
<p>More info <a title="http://www.clarionmag.com/cmag/faq.html" href="http://www.clarionmag.com/cmag/faq.html">http://www.clarionmag.com/cmag/faq.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/general/r-i-p-faq-clarionmag-com.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clarion 6 Editor Tip &#8211; Ctrl+PgUp/PgDown</title>
		<link>http://www.clarionedge.com/clarion/general/clarion-6-editor-tip-ctrlpguppgdown.html</link>
		<comments>http://www.clarionedge.com/clarion/general/clarion-6-editor-tip-ctrlpguppgdown.html#comments</comments>
		<pubDate>Fri, 07 May 2010 11:02:07 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/clarion/general/clarion-6-editor-tip-ctrlpguppgdown.html</guid>
		<description><![CDATA[&#160;
This is something I hadn’t noticed before today. It may be common knowledge to others   
When editing an embed, if you hold down control key then PageUp and PageDown are restricted to the [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>This is something I hadn’t noticed before today. It may be common knowledge to others <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>When editing an embed, if you hold down control key then PageUp and PageDown are restricted to the current page instead of scrolling up/down. Kind of like Home/End for the visible area only. </p>
<p>Do you know of any other obscure keyboard tricks in the Clarion editor?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/general/clarion-6-editor-tip-ctrlpguppgdown.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problems with J-Blowfish</title>
		<link>http://www.clarionedge.com/clarion/problems-with-j-blowfish.html</link>
		<comments>http://www.clarionedge.com/clarion/problems-with-j-blowfish.html#comments</comments>
		<pubDate>Thu, 22 Apr 2010 09:46:00 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[3rd Party]]></category>
		<category><![CDATA[Clarion]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/?p=326</guid>
		<description><![CDATA[From http://www.strategyonline.co.za/accessories/jblowfish/
J-Blowfish is a Clarion wrapper (pure Clarion source, no black boxes) for the Blowfish  encryption algorithm. Most of this code was written by Andy Ireland  – we have added a helper class, examples, templates, [...]]]></description>
			<content:encoded><![CDATA[<p>From <a title="http://www.strategyonline.co.za/accessories/jblowfish/" href="http://www.strategyonline.co.za/accessories/jblowfish/">http://www.strategyonline.co.za/accessories/jblowfish/</a></p>
<blockquote><p>J-Blowfish is a Clarion wrapper (pure Clarion source, no black boxes) for the Blowfish  encryption algorithm. Most of this code was written by Andy Ireland  – we have added a helper class, examples, templates, etc.</p></blockquote>
<p>I learnt a lot looking into this code a few years ago (wow, it was 2006 looking at my notes!). At the time we needed an implementation of the Blowfish Encryption Algorithm to share encrypted data between a Clarion and Java application. J-Blowfish seemed like a great fit but unfortunately we found that it was not producing standard encrypted data and was also unable to decrypt anything produced by another implementation.</p>
<p>The solution at the time was to use a C DLL instead. This worked fine but seemed a bit ugly, I would have much preferred a pure clarion solution. Also, the code in  jblowfish.clw intrigued me.</p>
<p><strong>NOTE: This is just me poking around in things to learn something new. Don’t blame me if following anything in this blog sinks your submarine or whatever <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>
<h2>Here is what I found…</h2>
<p><em>(It is simpler to deal with hex output so that is the only section I have looked at but the results impact all encrypt/decrypt functions.) </em></p>
<h3>1st, Implementation problem:</h3>
<p><em>(In the &#8220;Main&#8221; procedure of BlowDemo.app) </em></p>
<p>In the demo supplied with J-Blowfish the local variable holding the key is not clipped. This means the actual key used for the Encryption is inclusive of the trailing spaces in the STRING.</p>
<p>Additionally, the blowfish <a href="http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation" target="_blank">encryption mode</a> implemented in J-Blowfish (which I believe is ECB) requires your data to be a multiple of 8 bytes. The original implementation will pad an <strong><em>extra</em></strong> 8 bytes if the data is already a multiple of 8.</p>
<p>Original:</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">RtnEncryptHex  <span style="color: #000080;">routine</span>
&nbsp;
  <span style="color: #008000;">! Set some properties</span>
  MyBlowfish.Key32 = loc:<span style="color: #000080;">Key</span>
  MyBlowfish.<span style="color: #000080;">Size</span> = <span style="color: #000080;">Len</span>(<span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Text</span>)) + (8-(<span style="color: #000080;">Len</span>(<span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Text</span>))%8))</pre></div></div>

<p>Suggested improvements:</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">RtnEncryptHex  <span style="color: #000080;">routine</span>
&nbsp;
  <span style="color: #008000;">! Set some properties</span>
  MyBlowfish.Key32 = <span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Key</span>) <span style="color: #008000;">! Because loc:Key is a string not cstring without the Clip() your key is including spaces</span>
&nbsp;
  <span style="color: #000080;">IF</span> <span style="color: #000080;">Len</span>(<span style="color: #000080;">Clip</span>(loc:<span style="color: #000080;">Text</span>))%8 &gt; 0
    <span style="color: #008000;">! Pad the data to the nearest 8 character block</span>
    MyBlowfish.<span style="color: #000080;">Size</span> = <span style="color: #000080;">len</span>(<span style="color: #000080;">clip</span>(loc:<span style="color: #000080;">Text</span>)) + (8-(<span style="color: #000080;">len</span>(<span style="color: #000080;">clip</span>(loc:<span style="color: #000080;">Text</span>))%8))
  <span style="color: #000080;">ELSE</span>
    <span style="color: #008000;">! If the data length is exactly a multiple of 8 then there is no need to pad another 8.</span>
    MyBlowfish.<span style="color: #000080;">Size</span> = <span style="color: #000080;">len</span>(<span style="color: #000080;">clip</span>(loc:<span style="color: #000080;">Text</span>))
  <span style="color: #000080;">END</span></pre></div></div>

<h3>2nd, Encryption problem (jblowfish.clw)</h3>
<p>The &#8220;BlowFish._Encrypt&#8221; method seems to be the culprit in the encryption errors I experienced.</p>
<p>In my testing I was using this data:</p>
<p><strong>key:</strong> &#8220;abc&#8221;</p>
<p><strong>plain text:</strong> &#8220;abcdefgh&#8221;</p>
<p><strong>encrypted result (other tools):</strong> &#8220;94c559d64e1251fb&#8221;</p>
<p>I discovered that if in the BlowDemo.exe I used this data, &#8220;dcbahgfe&#8221; I would get the correct result (almost&#8230; the result was also backwards &#8220;d659c594 fb51124e&#8221;)</p>
<p>So it came down to a problem with the way the data was being passed to the &#8220;self.BF_Encrypt(pWork, pWork2)&#8221; part of this method.</p>
<p>(note: the BF_Encrypt method is used successfully in the BlowFish.Initialise method, I checked the values being generated and they are all correct)</p>
<p>Basically I believe this is because the <a href="http://en.wikipedia.org/wiki/Endianness" target="_blank">Endianness</a> of clarion longs is different to whatever assumption is made in the algorithm J-.Blowfish is based upon.</p>
<p>This is what I came up with:</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">BlowFish._Encrypt <span style="color: #000080;">procedure</span>(<span style="color: #000080;">long</span> pData, <span style="color: #000080;">long</span> dwBytes)
&nbsp;
nBlocks                 <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
i                       <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
pWork                   <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
pWork2                  <span style="color: #000080;">long</span>,<span style="color: #000080;">auto</span>
bchar                   &amp;byte
block                   <span style="color: #000080;">string</span>(8)
block2                  <span style="color: #000080;">string</span>(8)
&nbsp;
  <span style="color: #000080;">code</span>
    <span style="color: #000080;">if</span> dwBytes % 8
      <span style="color: #000080;">return</span> false.
&nbsp;
    nBlocks = <span style="color: #000080;">bshift</span>(dwBytes, -3)
    pWork = pData
&nbsp;
    <span style="color: #000080;">loop</span> i = 1 <span style="color: #000080;">to</span> nBlocks
      pWork2 = pWork + 4
&nbsp;
      <span style="color: #008000;">! Reverse the order of the first 4 bytes </span>
      bchar &amp;= (pWork + 3)
      block[1] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 2)
      block[2] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 1)
      block[3] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 0)
      block[4] = <span style="color: #000080;">Chr</span>(bchar)
      <span style="color: #008000;">! Reverse the order of the next 4 bytes </span>
      bchar &amp;= (pWork + 7)
      block[5] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 6)
      block[6] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 5)
      block[7] = <span style="color: #000080;">Chr</span>(bchar)
      bchar &amp;= (pWork + 4)
      block[8] = <span style="color: #000080;">Chr</span>(bchar)
&nbsp;
      <span style="color: #008000;">!self.BF_Encrypt(pWork, pWork2) ! &lt;-- doesnt work</span>
      self.BF_Encrypt(<span style="color: #000080;">Address</span>(block), <span style="color: #000080;">Address</span>(block)+4)
&nbsp;
      <span style="color: #008000;">! Now swap them back again</span>
      block2[1] = block[4]
      block2[2] = block[3]
      block2[3] = block[2]
      block2[4] = block[1]
      block2[5] = block[8]
      block2[6] = block[7]
      block2[7] = block[6]
      block2[8] = block[5]
      <span style="color: #008000;">! And replace the data in &quot;BinData&quot; with the encrypted values</span>
      <span style="color: #000080;">Poke</span>(pWork, block2)
&nbsp;
      pWork += 8
    <span style="color: #000080;">end</span>
    <span style="color: #000080;">return</span> true</pre></div></div>

<h3>Other considerations:</h3>
<ul>
<li><strong>This only takes care of the Encryption phase something similar will need to happen in the Decrypt method.</strong></li>
<li>There may be better ways (band, bshift, bxor, whatever) to do this but it was late and this way is at least descriptive <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>I passed a few of the standard test vectors through the changed version and it seems to work correctly now. Most implementations have in them somewhere a self test method that uses these test vectors to prove they are running correctly:
<p><a href="http://www.schneier.com/blowfish.html">http://www.schneier.com/blowfish.html</a></p>
<p><a href="http://www.schneier.com/code/vectors.txt">http://www.schneier.com/code/vectors.txt</a></li>
<li>One thing I learned (amongst many!) whilst doing all this. It seems you can safely do a search replace in jpwbfish.inc and jpwbfish.clw to replace all ULONG&#8217;s with LONG&#8217;s. This may even result in some speed improvements as supposedly longs are faster then ulongs. Reason for this is that longs are 32 bit and that is sufficient for blowfish as it works in 32 bit words. It seemed weired to me at first, its like when you do this:</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">SomeProcedure <span style="color: #000080;">PROCEDURE</span>()
x <span style="color: #000080;">LONG</span>
  <span style="color: #000080;">CODE</span>
&nbsp;
  x = 2147483647 <span style="color: #008000;">! The highest value a long can take</span>
  <span style="color: #000080;">Message</span>(x) <span style="color: #008000;">! It will show &quot;2147483647&quot;</span>
  x += 1
  <span style="color: #000080;">Message</span>(x) <span style="color: #008000;">! It will show &quot;-2,147,483,648&quot;</span></pre></div></div>

<p>But blowfish doesn&#8217;t care about the +/- part as it is working directly on the bytes in the long, thus a LONG is sufficient.</p>
<p>(This explanation may be off on a few technical points but you get the drift?)</p>
<p><strong><em>I hope all the above makes (some) sense! </em></strong></p>
<p>-brahn</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/problems-with-j-blowfish.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun windows trick #42</title>
		<link>http://www.clarionedge.com/windows/fun-windows-trick-42.html</link>
		<comments>http://www.clarionedge.com/windows/fun-windows-trick-42.html#comments</comments>
		<pubDate>Tue, 29 Dec 2009 10:42:18 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/windows/fun-windows-trick-42.html</guid>
		<description><![CDATA[&#160;
This is something I discovered by accident a while ago, maybe you already know about it… 
Use the mouse to move a window around and then, while you still have the left mouse button held [...]]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<p>This is something I discovered by accident a while ago, maybe you already know about it… </p>
<p>Use the mouse to move a window around and then, while you still have the left mouse button held down, press the escape key. The window will be returned to its original position!</p>
<p>Ok, so it isn’t very useful but it was new to me <img src='http://www.clarionedge.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/windows/fun-windows-trick-42.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing Clarion6 IDE Fonts</title>
		<link>http://www.clarionedge.com/clarion/changing-clarion6-ide-fonts.html</link>
		<comments>http://www.clarionedge.com/clarion/changing-clarion6-ide-fonts.html#comments</comments>
		<pubDate>Sat, 12 Dec 2009 12:58:22 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Clarion]]></category>
		<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/uncategorized/changing-clarion6-ide-fonts.html</guid>
		<description><![CDATA[The inspiration for this post came from a newsgroup message I read yesterday by JP.
Clarion IDE Fonts &#38; save your eyes ? 17/12/2005 3:44:38 PM
I found that by careful tweaking of the registry values it [...]]]></description>
			<content:encoded><![CDATA[<p>The inspiration for this post came from a newsgroup message I read yesterday by JP.</p>
<blockquote><p>Clarion IDE Fonts &amp; save your eyes ? 17/12/2005 3:44:38 PM</p></blockquote>
<p>I found that by careful tweaking of the registry values it was possible to alter the fonts used by the Clarion IDE!</p>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes</pre></div></div>

<p>It’s not quite as straight forward as simply specifying the fonts you want as it seems that not all fonts will be accepted. I have no idea if this is the Clarion IDE or the windows font substitutions fault but I think it is best to take what you can get at this point!</p>
<p><span class="alert"><strong>Important Note</strong>:<br />
It is required to restart Windows to allow a new or changed font substitution to take effect.</span></p>
<p>First, lets go straight to the before and after pictures:</p>
<p><a href="http://www.clarionedge.com/wp-content/uploads/image23.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Before: Booooring!" src="http://www.clarionedge.com/wp-content/uploads/image_thumb15.png" border="0" alt="Before: Booooring!" width="240" height="231" /></a> <a href="http://www.clarionedge.com/wp-content/uploads/image24.png"><img style="border: 0px none; display: inline;" title="After: Fully Customized IDE!" src="http://www.clarionedge.com/wp-content/uploads/image_thumb16.png" border="0" alt="After: Fully Customized IDE!" width="240" height="231" /></a></p>
<p>And now for a little more detail on just how this works…</p>
<p><span id="more-298"></span></p>
<p>For demonstration purposed I have used Segeo Script in all these examples. You will have to play with it and work out what suits your tastes best.</p>
<p>The After pictures employes these techniques:</p>
<ul>
<li><a href="http://technet.microsoft.com/en-us/library/cc939627.aspx" target="_blank">Font substitution</a> to change the IDE fonts</li>
<li><a href="http://www.ingasoftplus.com/id70.htm" target="_blank">CWPlus</a> with custom <a href="http://www.clarionedge.com/clarion/3rd-party/cwplus-icon-set.html" target="_blank">ClarionEdge</a> icon set!</li>
<li>Custom background specified in the C60PE.ini/C60EE.ini file. (I think the one I am using here cam from <a href="http://www.1stlogodesign.com/free_wallpapers.htm" target="_blank">1stLogoDesign</a> at some point)</li>
</ul>
<h3>There are three main registry string that we are going to play with:</h3>
<ol>
<li>MS Shell Dlg</li>
<li>Helv</li>
<li>MS Sans Serif</li>
</ol>
<p>The last one, MS Sans Serif, is a <strong><em>new registry string</em></strong> that you will have to add to make this work.</p>
<h3>Helv</h3>
<p>This one covers most of the IDE &#8211; procedure Tree, template dialogs, etc</p>
<p><a href="http://www.clarionedge.com/wp-content/uploads/image6.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb1.png" border="0" alt="image" width="244" height="162" /></a> <a href="http://www.clarionedge.com/wp-content/uploads/image7.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb2.png" border="0" alt="image" width="244" height="163" /></a> <a href="http://www.clarionedge.com/wp-content/uploads/image8.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb3.png" border="0" alt="image" width="244" height="62" /></a></p>
<h3>New String: MS Sans Serif</h3>
<p>File picker, All the other IDE property boxes such as the Populate column toolbox and things like the main IDE Tabs.</p>
<p><a href="http://www.clarionedge.com/wp-content/uploads/image9.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb4.png" border="0" alt="image" width="244" height="142" /></a></p>
<p><a href="http://www.clarionedge.com/wp-content/uploads/image10.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb5.png" border="0" alt="image" width="244" height="113" /></a> <a href="http://www.clarionedge.com/wp-content/uploads/image11.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb6.png" border="0" alt="image" width="244" height="80" /></a> <a href="http://www.clarionedge.com/wp-content/uploads/image12.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb7.png" border="0" alt="image" width="244" height="237" /></a> <a href="http://www.clarionedge.com/wp-content/uploads/image13.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb8.png" border="0" alt="image" width="209" height="244" /></a></p>
<h3>Finally: MS Shell Dlg</h3>
<p>This one will change all window dialogs, you will notice it a lot more in other places than just the ClarionIDE</p>
<p>e.g.</p>
<p><a href="http://www.clarionedge.com/wp-content/uploads/image14.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb9.png" border="0" alt="image" width="244" height="237" /></a><a href="http://www.clarionedge.com/wp-content/uploads/image15.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" src="http://www.clarionedge.com/wp-content/uploads/image_thumb10.png" border="0" alt="image" width="244" height="199" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/changing-clarion6-ide-fonts.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A clarion version of System.AddMonths</title>
		<link>http://www.clarionedge.com/clarion/a-clarion-version-of-systemaddmonths.html</link>
		<comments>http://www.clarionedge.com/clarion/a-clarion-version-of-systemaddmonths.html#comments</comments>
		<pubDate>Fri, 20 Nov 2009 17:10:25 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Clarion]]></category>
		<category><![CDATA[Examples]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/uncategorized/a-clarion-version-of-systemaddmonths.html</guid>
		<description><![CDATA[Today at work I needed some code to Add “x” months to a given date. System.AddMonths looked like the kind of thing I was after but I needed it implemented in clarion code.
Not hard but [...]]]></description>
			<content:encoded><![CDATA[<p>Today at work I needed some code to Add “x” months to a given date. <a href="http://msdn.microsoft.com/en-us/library/system.datetime.addmonths.aspx" target="_blank">System.AddMonths</a> looked like the kind of thing I was after but I needed it implemented in clarion code.</p>
<p>Not hard but nice to have.</p>
<p>Thanks Mark for the assistance!</p>
<p>Some examples:</p>
<ol>
<li>05-Oct-2009 + 1 Month = 05-Nov-2009</li>
<li>31-Oct-2990 + 1 Month = 30-Nov-2009</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="clarion" style="font-family:monospace;">AddMonths <span style="color: #000080;">PROCEDURE</span>  (<span style="color: #000080;">LONG</span> pDate, <span style="color: #000080;">BYTE</span> pMonths) <span style="color: #008000;">!,LONG</span>
originalDay <span style="color: #000080;">BYTE</span>
returnDate  <span style="color: #000080;">LONG</span>
  <span style="color: #000080;">CODE</span>
  originalDay = <span style="color: #000080;">Day</span>(pDate)
&nbsp;
  returnDate = <span style="color: #000080;">Date</span>(<span style="color: #000080;">Month</span>(pDate) + pMonths, <span style="color: #000080;">Day</span>(pDate), <span style="color: #000080;">Year</span>(pDate))
&nbsp;
  <span style="color: #000080;">IF</span> <span style="color: #000080;">Day</span>(returnDate) &lt;&gt; originalDay
    returnDate = <span style="color: #000080;">Date</span>(<span style="color: #000080;">Month</span>(returnDate), 1,  <span style="color: #000080;">Year</span>(returnDate)) - 1
  <span style="color: #000080;">END</span>
&nbsp;
  <span style="color: #000080;">RETURN</span> returnDate</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/clarion/a-clarion-version-of-systemaddmonths.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>v5.3.1 of Textpad is out</title>
		<link>http://www.clarionedge.com/windows/tools/v531-of-textpad-is-out.html</link>
		<comments>http://www.clarionedge.com/windows/tools/v531-of-textpad-is-out.html#comments</comments>
		<pubDate>Fri, 16 Oct 2009 10:04:52 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/?p=259</guid>
		<description><![CDATA[This is just an incremental update on v5.3.0 but if you are not already on v5.3 then I think it is worth upgrading. Having the option to substitute TextPad for Notepad baked into the program [...]]]></description>
			<content:encoded><![CDATA[<p>This is just an incremental update on v5.3.0 but if you are not already on v5.3 then I think it is worth upgrading. Having the <strong>option to substitute TextPad for Notepad</strong> baked into the program alone is worth it!</p>
<p>Textpad, a great general purpose editor &#8211; <a href="http://www.textpad.com/download/index.html" target="_blank">http://www.textpad.com/download/index.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/windows/tools/v531-of-textpad-is-out.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally a decent looking clipboard manager</title>
		<link>http://www.clarionedge.com/windows/development/finally-a-decent-looking-clipboard-manager.html</link>
		<comments>http://www.clarionedge.com/windows/development/finally-a-decent-looking-clipboard-manager.html#comments</comments>
		<pubDate>Tue, 13 Oct 2009 17:08:57 +0000</pubDate>
		<dc:creator>brahn</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://www.clarionedge.com/?p=256</guid>
		<description><![CDATA[It has been ages since I have had a chance to post here so lets start of with a quick one.
I have just started using this and so far it looks really good and appears [...]]]></description>
			<content:encoded><![CDATA[<p>It has been ages since I have had a chance to post here so lets start of with a quick one.</p>
<p>I have just started using this and so far it looks really good and appears to still be in active dev &#8211; <a href="http://ditto-cp.sourceforge.net/" target="_blank">http://ditto-cp.sourceforge.net/</a></p>
<p>Yay!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clarionedge.com/windows/development/finally-a-decent-looking-clipboard-manager.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
