<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.1" -->
<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/"
	>

<channel>
	<title>moopoo.net</title>
	<link>http://moopoo.net</link>
	<description>Fishing, technology and anything else</description>
	<pubDate>Mon, 21 Jan 2008 20:52:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.1</generator>
	<language>en</language>
			<item>
		<title>Using the Rive Hooktyer</title>
		<link>http://moopoo.net/fishing/using-the-rive-hooktyer/</link>
		<comments>http://moopoo.net/fishing/using-the-rive-hooktyer/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 20:49:49 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Fishing]]></category>

		<category><![CDATA[rive hooktier rigs]]></category>

		<guid isPermaLink="false">http://moopoo.net/fishing/using-the-rive-hooktyer/</guid>
		<description><![CDATA[The Rive hooktyer is a great system for getting your hooklengths the perfect length every time, but it can be tricky to get going with, especially with the instruction supplied in French and the diagrams not particularly helpful. Well fear not, this guide will help you.
Firstly tie set the length bar on the tyer to [...]]]></description>
			<content:encoded><![CDATA[<p>The Rive hooktyer is a great system for getting your hooklengths the perfect length every time, but it can be tricky to get going with, especially with the instruction supplied in French and the diagrams not particularly helpful. Well fear not, this guide will help you.</p>
<p>Firstly tie set the length bar on the tyer to the length you require. To speed up the process and reduce line wastage I tie as many loops on the line as I require enabling me to quickly cut off the line above the loop when I need to tie the next hook. Remember to leave enough extra line between each loop for tying.</p>
<p>&#160;<img src="http://moopoo.net/images/rivehooktier/1.jpg" /> </p>
<p>Insert the brass pin through the hole and put the hook in with the shank at the bottom. </p>
<p><img src="http://moopoo.net/images/rivehooktier/2.jpg" /> </p>
<p>Attach the loop to the end of the tyer and and wrap the line around the far side of the pin and beginning whipping the line around the hook, making sure the the line comes off the front of the shank as you tie.</p>
<p><img src="http://moopoo.net/images/rivehooktier/3.jpg" /> </p>
<p>Whip down the shank for as many turns as are required then pass the line between the flat side of the brass pin and the bent pin.</p>
<p><img alt="Photograph of hook ready for the tag to be trimmed" src="http://moopoo.net/images/rivehooktier/4.jpg" /> </p>
<p>Keeping the line under tension, remove the brass pin pulling through the line with it, again making sure you keep tension on as the line comes through the other side.</p>
<p>Moisten the knot and slowly pull from the top side to tighten the knot. </p>
<p><img alt="The finished hook" src="http://moopoo.net/images/rivehooktier/5.jpg" /> </p>
<p>Job done. Once you have tighened the knot, trim the tag to size and the hooklength is the the perfect length.</p>
<p>After a bit of practice you should be able to tie many hooklengths in no time at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/fishing/using-the-rive-hooktyer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Backing out a webpart</title>
		<link>http://moopoo.net/web-development/backing-out-a-webpart/</link>
		<comments>http://moopoo.net/web-development/backing-out-a-webpart/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 14:45:43 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Sharepoint]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[MOSS]]></category>

		<category><![CDATA[web parts]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/web-development/backing-out-a-webpart/</guid>
		<description><![CDATA[Backing out a webpart is a relatively straight forward process using the following command.

stsadm -o deletewppack -name simplewebpartcab.cab -url http://mossurl

]]></description>
			<content:encoded><![CDATA[<p>Backing out a webpart is a relatively straight forward process using the following command.</p>

<div class="wp_syntax"><div class="code"><pre class="dos">stsadm -o deletewppack -name simplewebpartcab.cab -url http://mossurl</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/web-development/backing-out-a-webpart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Deploying WebParts</title>
		<link>http://moopoo.net/web-development/deploying-webparts/</link>
		<comments>http://moopoo.net/web-development/deploying-webparts/#comments</comments>
		<pubDate>Tue, 13 Nov 2007 16:17:24 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Sharepoint]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[moss2007]]></category>

		<category><![CDATA[web parts]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/web-development/deploying-webparts/</guid>
		<description><![CDATA[This is a tutorial for deploying webparts to Sharepoint MOSS 2007 by creating a solution package and deploying using stsadm.
Assembly Info
Create your webpart in the normal way then add the following line to the AssemblyInfo.cs file

&#91;assembly: System.Security.AllowPartiallyTrustedCallers&#40;&#41;&#93;

Web Part
Next,  add the following above the class declaration in your web part:

&#91;XmlRoot&#40;Namespace = &#34;MyWebParts&#34;&#41;&#93;

The value of the [...]]]></description>
			<content:encoded><![CDATA[<p>This is a tutorial for deploying webparts to Sharepoint MOSS 2007 by creating a solution package and deploying using stsadm.</p>
<h3>Assembly Info</h3>
<p>Create your webpart in the normal way then add the following line to the AssemblyInfo.cs file</p>

<div class="wp_syntax"><div class="code"><pre class="csharp"><span style="color: #000000;">&#91;</span>assembly: <span style="color: #000000;">System</span>.<span style="color: #0000FF;">Security</span>.<span style="color: #0000FF;">AllowPartiallyTrustedCallers</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span></pre></div></div>

<h3>Web Part</h3>
<p>Next,  add the following above the class declaration in your web part:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp"><span style="color: #000000;">&#91;</span>XmlRoot<span style="color: #000000;">&#40;</span><span style="color: #0600FF;">Namespace</span> = <span style="color: #808080;">&quot;MyWebParts&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span></pre></div></div>

<p>The value of the Namespace attribute should match the namespace of your project. Below is an example of what your web part should look like.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp"><span style="color: #0600FF;">using</span> <span style="color: #000000;">System</span>;
<span style="color: #0600FF;">using</span> <span style="color: #000000;">System</span>.<span style="color: #0000FF;">Runtime</span>.<span style="color: #0000FF;">InteropServices</span>;
<span style="color: #0600FF;">using</span> <span style="color: #000000;">System</span>.<span style="color: #0000FF;">Web</span>.<span style="color: #0000FF;">UI</span>;
<span style="color: #0600FF;">using</span> <span style="color: #000000;">System</span>.<span style="color: #0000FF;">Web</span>.<span style="color: #0000FF;">UI</span>.<span style="color: #0000FF;">WebControls</span>.<span style="color: #0000FF;">WebParts</span>;
<span style="color: #0600FF;">using</span> <span style="color: #000000;">System</span>.<span style="color: #0000FF;">Xml</span>.<span style="color: #0000FF;">Serialization</span>;
<span style="color: #0600FF;">using</span> Microsoft.<span style="color: #0000FF;">SharePoint</span>;
<span style="color: #0600FF;">using</span> Microsoft.<span style="color: #0000FF;">SharePoint</span>.<span style="color: #0000FF;">WebControls</span>;
<span style="color: #0600FF;">using</span> Microsoft.<span style="color: #0000FF;">SharePoint</span>.<span style="color: #0000FF;">WebPartPages</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// namespace must be different from classname</span>
<span style="color: #0600FF;">namespace</span> MyWebParts
<span style="color: #000000;">&#123;</span>
    <span style="color: #000000;">&#91;</span>Guid<span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;b6e6a8fb-78f2-4561-bd6f-cfbc55f07e56&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
    <span style="color: #000000;">&#91;</span>XmlRoot<span style="color: #000000;">&#40;</span><span style="color: #0600FF;">Namespace</span> = <span style="color: #808080;">&quot;MyWebParts&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span> <span style="color: #008080; font-style: italic;">// same as namespace   </span>
    <span style="color: #0600FF;">public</span> <span style="color: #FF0000;">class</span> SimpleWebPart : Microsoft.<span style="color: #0000FF;">SharePoint</span>.<span style="color: #0000FF;">WebPartPages</span>.<span style="color: #0000FF;">WebPart</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #0600FF;">protected</span> <span style="color: #0600FF;">override</span> <span style="color: #0600FF;">void</span> Render<span style="color: #000000;">&#40;</span>HtmlTextWriter writer<span style="color: #000000;">&#41;</span>
        <span style="color: #000000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// TODO: add custom rendering code here.</span>
            writer.<span style="color: #0000FF;">Write</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;Output HTML&quot;</span><span style="color: #000000;">&#41;</span>;
        <span style="color: #000000;">&#125;</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Next we add two extra files to the project; a &#8220;dwp&#8221; file (web part definition file) and a manifest.xml file. Both these should be in the root directory of your project.</p>
<h3>Web Part Definition file</h3>
<p>Add an xml file to your project and name it whatever your project name is, in this example it would be SimpleWebPart. Give it the extension dwp. So, the final filename would be <strong>SimpleWebPart.dwp</strong>. Enter the following data into the dwp file:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp">&lt;?xml version=<span style="color: #808080;">&quot;1.0&quot;</span> encoding=<span style="color: #808080;">&quot;utf-8&quot;</span>?&gt;
&lt;WebPart xmlns=<span style="color: #808080;">&quot;http://schemas.microsoft.com/WebPart/v2&quot;</span> &gt;
	&lt;Title&gt;Simple Web Part&lt;/Title&gt;
	&lt;Description&gt;a Test&lt;/Description&gt;
	&lt;Assembly&gt;SimpleWebPart, Version=<span style="color: #FF0000;">1.0</span><span style="color: #FF0000;">.0</span><span style="color: #FF0000;">.0</span>, Culture=neutral, PublicKeyToken=5c87de9a2116ae0a&lt;/Assembly&gt;
	&lt;TypeName&gt;MyWebParts.<span style="color: #0000FF;">SimpleWebPart</span>&lt;/TypeName&gt;
&lt;/WebPart&gt;</pre></div></div>

<p>The Assembly element contains the classname and the TypeName element contains the namespace, classname.<br />
Make sure the assembly is signed before compilation then use reflector to get the public key token and then correct the token in the dwp file – then compile again.<br />
You will need to create one dwp file for each web part that exists in your project.</p>
<h3>Manifest.xml</h3>

<div class="wp_syntax"><div class="code"><pre class="csharp">&lt;?xml version=<span style="color: #808080;">&quot;1.0&quot;</span>?&gt;
&lt;!-- You need only one manifest per CAB project <span style="color: #0600FF;">for</span> Web Part Deployment.--&gt;
&lt;!-- <span style="color: #0600FF;">This</span> manifest file can have multiple assembly nodes.--&gt;
&lt;WebPartManifest xmlns=<span style="color: #808080;">&quot;http://schemas.microsoft.com/WebPart/v2/Manifest&quot;</span>&gt;
    &lt;Assemblies&gt;
        &lt;Assembly FileName=<span style="color: #808080;">&quot;SimpleWebPart.dll&quot;</span>&gt;
            &lt;!-- Use the &lt;ClassResource&gt; tag to specify resources like 
            image files or Microsoft JScript files that your Web Parts use. --&gt;
            &lt;!-- Note that you must use relative paths when specifying resource files. --&gt;
            &lt;ClassResources&gt;&lt;/ClassResources&gt;
            &lt;SafeControls&gt;
                &lt;!-- TypeName=ClassName. <span style="color: #0000FF;">One</span> <span style="color: #0600FF;">for</span> each webpart <span style="color: #0600FF;">in</span> the solution --&gt;
                &lt;SafeControl <span style="color: #0600FF;">Namespace</span>=<span style="color: #808080;">&quot;MyWebParts&quot;</span> TypeName=<span style="color: #808080;">&quot;SimpleWebPart&quot;</span> /&gt;
            &lt;/SafeControls&gt;
        &lt;/Assembly&gt;
    &lt;/Assemblies&gt;
    &lt;DwpFiles&gt;
        &lt;!—- create one <span style="color: #0600FF;">for</span> each webpart --&gt; 
        &lt;DwpFile FileName=<span style="color: #808080;">&quot;SimpleWebPart.dwp&quot;</span> /&gt;
    &lt;/DwpFiles&gt;
&lt;/WebPartManifest&gt;</pre></div></div>

<p>You need to create one SafeControl element for each webpart in your solution. Similarly, you will need to create a DwpFile element for each dwp you have in you project.</p>
<p><strong>IMPORTANT!</strong> Make sure the project is signed, rebuild, then use reflector to get the public key token and then correct the token in the dwp file – then compile again. </p>
<h3>CAB File project</h3>
<p>Next create a CAB file project in the same solution as your webpart.</p>
<p>Right click the CAB file project and choose Add > Project Output. From the list choose Primary output. Do the same again and add Content Files. Right click Add > Files and browse to add each of the dwp files from you project.</p>
<p>Now build the solution.</p>
<h3>Deploying the webpart</h3>
<p>Now deploy the package using stsadm (which can usually be found in C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN).</p>
<p>First open a new command prompt window and navigate to the directory, which contains the cab file you created, then run the following command</p>

<div class="wp_syntax"><div class="code"><pre class="dos">stsadm -o addwppack -filename simplewebpartcab.cab -url http://urltomoss -globalinstall –force</pre></div></div>

<p>Finally restart IIS</p>
<p>That should be it! You should now be able to add your webpart to your Sharepoint pages.<br />
<strong>Tip:</strong> Once the webpart has been deployed, you can actually copy your compiled dll into either GAC or your sharepoint bin. You can read more on the post <a href="http://moopoo.net/blog/sharepoint/moss-2007-web-part-deployment-using-visual-studio-extensions/">MOSS 2007 Web Part Deployment using Visual Studio Extensions</a> </p>
<p>Thanks to David Bowden for producing the initial version of the document</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/web-development/deploying-webparts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Live Writer</title>
		<link>http://moopoo.net/technology/windows-live-writer/</link>
		<comments>http://moopoo.net/technology/windows-live-writer/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 13:36:47 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Office Tools]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/technology/windows-live-writer/</guid>
		<description><![CDATA[After seeing that the new WordPress 2.3.1 release had tagging support in for Windows Live Writer, I was curious as to what Live Writer actually was. Turns out it is a desktop application for authoring blog posts that can be published to a variety of different blogs, including WordPress.
I thought I&#8217;d download it and give [...]]]></description>
			<content:encoded><![CDATA[<p>After seeing that the new <a title="WordPress 2.3.1 release blog post (Opens in a new window)" href="http://wordpress.org/development/2007/10/wordpress-231/" target="_blank">WordPress 2.3.1 release</a> had tagging support in for <a title="Windows Live Writer homepage (opens in a new window)" href="http://windowslivewriter.spaces.live.com/" target="_blank">Windows Live Writer</a>, I was curious as to what Live Writer actually was. Turns out it is a desktop application for authoring blog posts that can be published to a variety of different blogs, including WordPress.</p>
<p>I thought I&#8217;d download it and give it a go. So I&#8217;ve been using it for, well, since I started writing this post. </p>
<p>If you allow it, it will take a look at the theme you are using so you can author your posts and view them styles as they would appear on the blog. You can also view in a plain layout, view the html source, or preview the post how it&#8217;s going to look in you blog, as mentioned above.    <br />Just on a side note about the HTML, Microsoft don&#8217;t tend to have a good history of creating HTML editors that actually put out good code. It seems they&#8217;re learning from their past mistakes, for now at least, the code produced here is pretty good.</p>
<p>Tags are added as Keywords in the properties box of a post as well as choosing the categories and other settings for the post. </p>
<p>Publishing is straight forward using the aptly titled Publish button on the toolbar. This will send the post off to your blog and publish it. You also have options for saving the draft locally or publishing the post as draft to your blog.</p>
<p>First impressions are good, I don&#8217;t totally see the reasons yet for having something like this, unless you have multiple blogs in which case it would save time logging into different blogs to post. I&#8217;m sure I&#8217;ll see other benefits after I&#8217;ve used it a while.</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/technology/windows-live-writer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Importing CSV data into Oracle</title>
		<link>http://moopoo.net/oracle/importing-csv-data-into-oracle/</link>
		<comments>http://moopoo.net/oracle/importing-csv-data-into-oracle/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 09:12:06 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/2007/10/25/importing-csv-data-into-oracle/</guid>
		<description><![CDATA[Loading data into Oracle table requires the use of the sqlldr executable.  To load data I create two files, one a CSV file containing the data to import and a control (.ctl) file containing the command information to pass to sqlldr.exe.
The Control File

load data
infile 'addresses.csv'
&#160;
INTO TABLE myschema.mytable fields terminated BY &#34;,&#34; 
   [...]]]></description>
			<content:encoded><![CDATA[<p>Loading data into Oracle table requires the use of the sqlldr executable.  To load data I create two files, one a CSV file containing the data to import and a control (.ctl) file containing the command information to pass to sqlldr.exe.</p>
<h3>The Control File</h3>

<div class="wp_syntax"><div class="code"><pre class="oracle8">load data
infile <span style="color: #ff0000;">'addresses.csv'</span>
&nbsp;
<span style="color: #993333; font-weight: bold; text-transform: uppercase;">INTO</span> <span style="color: #993333; font-weight: bold; text-transform: uppercase;">TABLE</span> myschema.mytable fields terminated <span style="color: #993333; font-weight: bold; text-transform: uppercase;">BY</span> <span style="color: #ff0000;">&quot;,&quot;</span> 
         optionally enclosed <span style="color: #993333; font-weight: bold; text-transform: uppercase;">BY</span> <span style="color: #ff0000;">'&quot;'</span>
<span style="color: #66cc66;">&#40;</span>
    NAME
    ,TELEPHONE
    ,ADDRESS
    ,LAST_UPDT <span style="color: #993333; font-weight: bold; text-transform: uppercase;">DATE</span> <span style="color: #ff0000;">'dd-Mon-yyyy HH:MI:SS PM'</span>
<span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Notice that I&#8217;ve put a format on the date, I&#8217;ve had problems with dates if I don&#8217;t give the format for the date when importing. Save this file locally as <strong>addresses.ctl</strong></p>
<h3>The Data File</h3>

<div class="wp_syntax"><div class="code"><pre class="dos">&quot;Matt&quot;,&quot;<span style="">3094785</span>&quot;,&quot;<span style="">55</span> My Street&quot;,&quot;<span style="">25</span>-Oct<span style="">-07</span>&quot;
&quot;Ricardo&quot;,&quot;<span style="">354102</span>&quot;,&quot;<span style="">12</span> Easy Road&quot;,&quot;<span style="">10</span>-Mar<span style="">-06</span>&quot;
........</pre></div></div>

<p>
Save this file as <strong>addresses.csv</strong> as declared in the control file. The file should be sve in the same directory as the control file.</p>
<p>To import the data, open a command prompt window and type the following:</p>

<div class="wp_syntax"><div class="code"><pre class="dos">c:\path\to\oracle\bin\sqlldr  username@oracleservername 
                        control=\path\to\addresses.ctl</pre></div></div>

<p>That should import all the data into oracle. A relevant log file will be created as well as a bad file for rows that could not be imported. I tend to create a batch file to execute so I don&#8217;t have to remember the syntax for sqlldr.</p>
<h3>If things go wrong</h3>
<p>As stated above, I&#8217;ve had problems with date formatting before when importing. I&#8217;ve also come across issues with field terminations. By default CSV exports tend to be terminated by a comma (,) but I tend to use a semi colon (;) I&#8217;ve had less problems using this method.</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/oracle/importing-csv-data-into-oracle/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Exporting Crystal Reports from the web.</title>
		<link>http://moopoo.net/web-development/exporting-crystal-reports-from-the-web/</link>
		<comments>http://moopoo.net/web-development/exporting-crystal-reports-from-the-web/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 08:27:22 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[crystal reports]]></category>

		<category><![CDATA[export]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/2007/10/23/exporting-crystal-reports-from-the-web/</guid>
		<description><![CDATA[Exporting Crystal Reports from a report displayed in the browser can be a pain, not least because it&#8217;s long winded, but also that I primarily use Firefox and the report rendering in anything other than IE is a joke.
For a while I have been trying to work out how I could export Crystal Reports in [...]]]></description>
			<content:encoded><![CDATA[<p>Exporting Crystal Reports from a report displayed in the browser can be a pain, not least because it&#8217;s long winded, but also that I primarily use Firefox and the report rendering in anything other than IE is a joke.</p>
<p>For a while I have been trying to work out how I could export Crystal Reports in various formats such as Excel and PDF without having to render the report in the web browser first. Some of our customers wanted the data to put into their spreadsheet application so they could manipulate the data to their hearts content and I wanted to still use the power of Crystal Reports as it meant that the people who are good at writing the reports could do it and save me the work.</p>
<p>I&#8217;d seen it done in Crystal 8 but had not seen anything that pulled it all together in XI. I think I was looking a little too hard, the solution was in fact pretty straight forward.</p>
<p>The method employed is pretty similar to the post I made on displaying Crystal Reports in the browser, with only a couple of exceptions.</p>
<p>Firstly, you don&#8217;t need to employ the ReportViewer control as the report is not being rendered to the browser.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp"><span style="color: #008080; font-style: italic;">// Declare variables</span>
<span style="color: #0600FF;">private</span> ReportDocument document1 = <span style="color: #008000;">new</span> ReportDocument<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">private</span> TableLogOnInfos infos1 = <span style="color: #008000;">new</span> TableLogOnInfos<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">private</span> TableLogOnInfo info2 = <span style="color: #008000;">new</span> TableLogOnInfo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">private</span> ConnectionInfo info1 = <span style="color: #008000;">new</span> ConnectionInfo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">//  default export type</span>
ExportFormatType expFormat = <span style="color: #008000;">new</span> ExportFormatType<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
expFormat = ExportFormatType.<span style="color: #0000FF;">PortableDocFormat</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// load the report</span>
document1.<span style="color: #0000FF;">Load</span><span style="color: #000000;">&#40;</span>Request.<span style="color: #0000FF;">PhysicalApplicationPath</span> + “myReport.<span style="color: #0000FF;">rpt</span>”<span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// Add the parameters</span>
document1.<span style="color: #0000FF;">SetParameterValue</span><span style="color: #000000;">&#40;</span>“param1″, “value1″<span style="color: #000000;">&#41;</span>;
document1.<span style="color: #0000FF;">SetParameterValue</span><span style="color: #000000;">&#40;</span>“param2″, “value2″<span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">//Set the login info for the database</span>
info1.<span style="color: #0000FF;">ServerName</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span>“server_name”<span style="color: #000000;">&#93;</span>;
info1.<span style="color: #0000FF;">DatabaseName</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span>“database_name”<span style="color: #000000;">&#93;</span>;
info1.<span style="color: #0000FF;">UserID</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span>“user_id”<span style="color: #000000;">&#93;</span>;
info1.<span style="color: #0000FF;">Password</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span>“password”<span style="color: #000000;">&#93;</span>;
Tables tables1 = document1.<span style="color: #0000FF;">Database</span>.<span style="color: #0000FF;">Tables</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">//Apply login info to the report</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span>CrystalDecisions.<span style="color: #0000FF;">CrystalReports</span>.<span style="color: #0000FF;">Engine</span>.<span style="color: #0000FF;">Table</span> table1 <span style="color: #0600FF;">in</span> tables1<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    info2 = table1.<span style="color: #0000FF;">LogOnInfo</span>;
    info2.<span style="color: #0000FF;">ConnectionInfo</span> = info1;
    table1.<span style="color: #0000FF;">ApplyLogOnInfo</span><span style="color: #000000;">&#40;</span>info2<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Export the document</span>
HttpResponse Response = HttpContext.<span style="color: #0000FF;">Current</span>.<span style="color: #0000FF;">Response</span>;
document1.<span style="color: #0000FF;">ExportToHttpResponse</span><span style="color: #000000;">&#40;</span>expFormat,Response,<span style="color: #0600FF;">true</span>,”Exported Report”<span style="color: #000000;">&#41;</span>;
document1.<span style="color: #0000FF;">Close</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/web-development/exporting-crystal-reports-from-the-web/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Displaying Crystal Reports in a Web Browser</title>
		<link>http://moopoo.net/web-development/displaying-crystal-reports-in-a-web-browser/</link>
		<comments>http://moopoo.net/web-development/displaying-crystal-reports-in-a-web-browser/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 08:07:26 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[business objects]]></category>

		<category><![CDATA[crystal reports]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/2007/10/23/displaying-crystal-reports-in-a-web-browser/</guid>
		<description><![CDATA[Having tried for a while to find the right information for displaying Crystal Reports properly inside a web page using Crystal Report Viewer I finally managed to pull the information together into a solution that works; well for me anyway.
It&#8217;s worth mentioning that I don&#8217;t use the Crystal Reports extensions for Visual Studio, I have [...]]]></description>
			<content:encoded><![CDATA[<p>Having tried for a while to find the right information for displaying Crystal Reports properly inside a web page using Crystal Report Viewer I finally managed to pull the information together into a solution that works; well for me anyway.</p>
<p>It&#8217;s worth mentioning that I don&#8217;t use the Crystal Reports extensions for Visual Studio, I have Crystal Server running on the box. I can&#8217;t see how this method wouldn&#8217;t work through the Visual Studio extensions.</p>
<h3>Code Infront</h3>
<p>Register the assembly in the top of your aspx page</p>

<div class="wp_syntax"><div class="code"><pre class="csharp">&lt;%@ Register TagPrefix=<span style="color: #808080;">&quot;cr&quot;</span> <span style="color: #0600FF;">Namespace</span>=<span style="color: #808080;">&quot;CrystalDecisions.Web&quot;</span> 
Assembly=<span style="color: #808080;">&quot;CrystalDecisions.Web, Version=11.0.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304&quot;</span> %&gt;</pre></div></div>

<p>Place the control where you want it to appear in the page.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp">&lt;cr:crystalreportviewer id=<span style="color: #808080;">&quot;crReport1&quot;</span> runat=<span style="color: #808080;">&quot;server&quot;</span> hasviewlist=<span style="color: #808080;">&quot;False&quot;</span>
    hastogglegrouptreebutton=<span style="color: #808080;">&quot;False&quot;</span> hassearchbutton=<span style="color: #808080;">&quot;False&quot;</span>
    hasgotopagebutton=<span style="color: #808080;">&quot;False&quot;</span> hasdrillupbutton=<span style="color: #808080;">&quot;False&quot;</span> hascrystallogo=<span style="color: #808080;">&quot;False&quot;</span>
    autodatabind=<span style="color: #808080;">&quot;true&quot;</span> width=<span style="color: #808080;">&quot;350px&quot;</span> displaygrouptree=<span style="color: #808080;">&quot;False&quot;</span>
    height=<span style="color: #808080;">&quot;50px&quot;</span> hyperlinktarget=<span style="color: #808080;">&quot;_blank&quot;</span>&gt;</pre></div></div>

<h3>Code Behind</h3>

<div class="wp_syntax"><div class="code"><pre class="csharp"><span style="color: #008080; font-style: italic;">// declare the variables</span>
<span style="color: #0600FF;">protected</span> CrystalReportViewer crReport1;
<span style="color: #0600FF;">private</span> ReportDocument document1 = <span style="color: #008000;">new</span> ReportDocument<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">private</span> TableLogOnInfos infos1 = <span style="color: #008000;">new</span> TableLogOnInfos<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">private</span> TableLogOnInfo info2 = <span style="color: #008000;">new</span> TableLogOnInfo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
<span style="color: #0600FF;">private</span> ConnectionInfo info1 = <span style="color: #008000;">new</span> ConnectionInfo<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// load the report</span>
document1.<span style="color: #0000FF;">Load</span><span style="color: #000000;">&#40;</span>Request.<span style="color: #0000FF;">PhysicalApplicationPath</span> + <span style="color: #808080;">&quot;myReport.rpt&quot;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">// Add the parameters</span>
document1.<span style="color: #0000FF;">SetParameterValue</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;param1&quot;</span>, <span style="color: #808080;">&quot;value1&quot;</span><span style="color: #000000;">&#41;</span>;
document1.<span style="color: #0000FF;">SetParameterValue</span><span style="color: #000000;">&#40;</span><span style="color: #808080;">&quot;param2&quot;</span>, <span style="color: #808080;">&quot;value2&quot;</span><span style="color: #000000;">&#41;</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">//Set the login info for the database</span>
info1.<span style="color: #0000FF;">ServerName</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span><span style="color: #808080;">&quot;server_name&quot;</span><span style="color: #000000;">&#93;</span>;
info1.<span style="color: #0000FF;">DatabaseName</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span><span style="color: #808080;">&quot;database_name&quot;</span><span style="color: #000000;">&#93;</span>;
info1.<span style="color: #0000FF;">UserID</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span><span style="color: #808080;">&quot;user_id&quot;</span><span style="color: #000000;">&#93;</span>;
info1.<span style="color: #0000FF;">Password</span> = ConfigurationSettings.<span style="color: #0000FF;">AppSettings</span><span style="color: #000000;">&#91;</span><span style="color: #808080;">&quot;password&quot;</span><span style="color: #000000;">&#93;</span>;
Tables tables1 = document1.<span style="color: #0000FF;">Database</span>.<span style="color: #0000FF;">Tables</span>;
&nbsp;
<span style="color: #008080; font-style: italic;">//Apply login info to the report</span>
<span style="color: #0600FF;">foreach</span> <span style="color: #000000;">&#40;</span>CrystalDecisions.<span style="color: #0000FF;">CrystalReports</span>.<span style="color: #0000FF;">Engine</span>.<span style="color: #0000FF;">Table</span> table1 <span style="color: #0600FF;">in</span> tables1<span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    info2 = table1.<span style="color: #0000FF;">LogOnInfo</span>;
    info2.<span style="color: #0000FF;">ConnectionInfo</span> = info1;
    table1.<span style="color: #0000FF;">ApplyLogOnInfo</span><span style="color: #000000;">&#40;</span>info2<span style="color: #000000;">&#41;</span>;
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Bind the report</span>
crReport1.<span style="color: #0000FF;">ReportSource</span> = document1;
crReport1.<span style="color: #0000FF;">DataBind</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;</pre></div></div>

<p>You also need to remember to close the document after it has been rendered to free up memory. This should ideally be done in the Page_Unload method. See <a href="http://msdn2.microsoft.com/en-us/library/ms225490(VS.80).aspx" title="MSDN post on where to close a report (Opens in a new window)" target="_blank">this post</a> on MSDN for more information on why it should be placed in Page_Unload.</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/web-development/displaying-crystal-reports-in-a-web-browser/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Subversion Server Installation on Windows</title>
		<link>http://moopoo.net/technology/subversion-server-installation-%e2%80%93-win-32/</link>
		<comments>http://moopoo.net/technology/subversion-server-installation-%e2%80%93-win-32/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 11:15:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Subversion]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/2007/10/13/subversion-server-installation-%e2%80%93-win-32/</guid>
		<description><![CDATA[Update: While I was copying this post across from the original document I had it in, I was searching for the links to the files and I came across a post on THECRUMB.COM which states from subversion 1.4 whereby you can install the service without the need for a wrapper. You can bypass those steps [...]]]></description>
			<content:encoded><![CDATA[<p>Update: While I was copying this post across from the original document I had it in, I was searching for the links to the files and I came across a post on <a href="http://www.thecrumb.com/2006/10/24/svnservice-no-longer-needed-with-subversion-14/" title="The crumb blog post (Opens in a new window)" target="_blank">THECRUMB.COM</a> which states from subversion 1.4 whereby you can install the service without the need for a wrapper. You can bypass those steps if you like.</p>
<p>I&#8217;ve used Subversion for years and didn&#8217;t really want to move to <a href="http://msdn2.microsoft.com/en-us/vstudio/aa718670.aspx" title="Microsoft visual SourceSafe (Opens in a new window)" target="_blank">Visual SourceSafe</a>. Subversion does everything I need it to and I&#8217;ve never felt the need to move and be locked in to anything else. Unfortunately running windows meant I needed to find a way of installing Subversion on a windows box and running it as a server, I didn&#8217;t want to run Apache just for the sake of it. So here it is, my install technique for installing, running and managing repositories on Windows. One point to make, is that this guide uses <a href="http://tortoisesvn.tigris.org/" title="Tortoise Interface for SVN (Opens ina new window)" target="_blank">Tortoise SVN</a> to manage the repository. I could probably have done it just as easily from the command line but I have Tortoise installed so why make life hard.<br />
<strong> </strong></p>
<ol>
<li>Download and install the latest version of <a href="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91" title="Subversion binaries page (Opens in a new window)" target="_blank">SVN setup</a>.</li>
<li>Create a directory on the c: drive to hold the repository (i.e c:\svnrepo)</li>
<li>Extract <a href="http://svnservice.tigris.org/" title="SVN Service homepage (Opens in a new window)" target="_blank">SVNService.exe</a> to the same directory as svnserve.exe</li>
<li>Install SVNService as a service using the following command SVNService -install -d -r c:\svnrepo</li>
<li>Start the service from Windows Manage Computer</li>
</ol>
<h2>Creating a repository</h2>
<ol>
<li>Create folder inside your SVN Repository (c:\svnrepo) in this example we’ll create folder called test.</li>
<li>Create a temporary drive locally containing 3 folders; trunk, branches, tags</li>
<li>Right click on the parent folder and got to TortoiseSVN &gt; Import</li>
<li>In the URL box at the top enter the path to the repository, i.e. svn://&lt;server&gt;/test</li>
<li>This will import the 3 folders into the chosen repository.</li>
</ol>
<h2>Adding a Project to a repository</h2>
<p>If you already have some files for a project that you have started that you wish to import into your new repository, please follow these steps.</p>
<ol>
<li>Browse to the parent folder of the files you wish to install.</li>
<li>Right click this folder and choose TortoiseSVN &gt; Import.</li>
<li>This time we want to import the file into the main trunk, so the path to the repository will be svn://&lt;server&gt;/test/trunk</li>
</ol>
<h2>Checking out the repository.</h2>
<p>Now we have the project imported into SVN we need to check out a local copy to work on.</p>
<ol>
<li>Browse to the parent directory of where you want to checkout the project to.</li>
<li>Right click and choose SVN Checkout</li>
<li>This will bring up the Checkout window. Enter the URL of the Repository in the top box (remember we want to checkout the trunk so this needs to go at the end). The checkout directory will default to the directory we clicked in 2, add the name of the subdirectory you wish to check the files out to at the end.</li>
<li>Click OK, if the directory you specified does not exist you will be prompted to create the directory, do so.</li>
<li>All the files will be checked out into the folder you specified. There will also be hidden folders beginning with .svn created in the directories, DO NOT delete these as they are used by Subversion. You can now work on your local copy.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/technology/subversion-server-installation-%e2%80%93-win-32/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MOSS 2007 Web Part Deployment using Visual Studio Extensions</title>
		<link>http://moopoo.net/sharepoint/moss-2007-web-part-deployment-using-visual-studio-extensions/</link>
		<comments>http://moopoo.net/sharepoint/moss-2007-web-part-deployment-using-visual-studio-extensions/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 14:39:46 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Sharepoint]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[MOSS 2007]]></category>

		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/2007/10/05/moss-2007-web-part-deployment-using-visual-studio-extensions/</guid>
		<description><![CDATA[I started having problems when deploying web parts from Visual Studio to a test environment. Visual Studio was sat on the Sharepoint server but and Web Parts had been deploying fine forever and a day. One day however, I kept getting deployment errors. The solution built fine but when I tried to deploy I kept [...]]]></description>
			<content:encoded><![CDATA[<p>I started having problems when deploying web parts from Visual Studio to a test environment. Visual Studio was sat on the Sharepoint server but and Web Parts had been deploying fine forever and a day. One day however, I kept getting deployment errors. The solution built fine but when I tried to deploy I kept getting the error <strong>&#8220;Object reference not set to an instance of an object.&#8221; </strong></p>
<p>I eventually found the solution on <a href="http://blogs.msdn.com/markarend/archive/2007/05/16/visual-studio-extensions-vse-deploy-failed-for-sharepoint-solution.aspx" title="Mark Arend's solution for this problem (link opens in a new window)" target="_blank">Mark Arend&#8217;s MSDN blog</a>.</p>
<p>It works, it&#8217;s a pain in the backside but it works. I still haven&#8217;t found anywhere that describes what causes the problem, although I do recall seeing somewhere which said it was a problem with Visual Studio rather than Sharepoint.</p>
<h3>Update: 02/11/2007</h3>
<p>I actually found an easier was of updating the webparts once deployed. I was looking through some Microsoft docs for something else and came across the following paragraph in one of the <a href="http://msdn2.microsoft.com/en-us/library/ms964439.aspx#wssinsideoutch19_deployingcustomwebparts" target="_blank" title="Link to original article on MSDN (opens in a new window)">Sharepoint tutorials</a>.</p>
<blockquote><p>After you install a Web Part to either the global assembly cache or a virtual server&#8217;s bin folder, you can usually install new versions simply by dragging the .dll file into the same folder as its predecessor. However, this won&#8217;t work if you&#8217;ve changed the file&#8217;s name, version number, or strong key signature.</p></blockquote>
<p>You have to use something like mscorcfg.msc if you have deployed the webparts to GAC but once the dll has been copied across, restart IIS and it works fine. <br /> <br />
I&#8217;m not sure I&#8217;d advocate the use of this method in a production environment but it seems to work fine for development.</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/sharepoint/moss-2007-web-part-deployment-using-visual-studio-extensions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Shotting Calculator</title>
		<link>http://moopoo.net/fishing/calculator/</link>
		<comments>http://moopoo.net/fishing/calculator/#comments</comments>
		<pubDate>Tue, 28 Aug 2007 13:37:56 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Fishing]]></category>

		<category><![CDATA[pole float]]></category>

		<category><![CDATA[shot]]></category>

		<category><![CDATA[styl]]></category>

		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://moopoo.net/blog/fishing/shotting-calculator/</guid>
		<description><![CDATA[Instructions:

Use the tabs to navigate across the different shot types.
The up/down arrows will increment/decrement the amount of each type.
Totals will be displayed at the bottom.
Use the reset button to reset all amount to zero

The new Preston Stotz weigh roughly the same as normal shot in their respective sizes.





img { border:0px; }

     [...]]]></description>
			<content:encoded><![CDATA[<p>Instructions:</p>
<ul>
<li>Use the tabs to navigate across the different shot types.</li>
<li>The up/down arrows will increment/decrement the amount of each type.</li>
<li>Totals will be displayed at the bottom.</li>
<li>Use the reset button to reset all amount to zero</li>
</ul>
<p>The new Preston Stotz weigh roughly the same as normal shot in their respective sizes.</p>
<p><script type="text/javascript" src="/fishing/js/FormChek.js"></script>
<script type="text/javascript" src="/fishing/js/calc.js"></script>
<script type="text/javascript" src="/fishing/js/tabpane.js"></script>
<link id="luna-tab-style-sheet" type="text/css" rel="stylesheet" href="/tab.css" />
<style type="text/css">
img { border:0px; }
</style>
<form class="form" id="form" name="calc" action="/calculator"> <input type="hidden" value="0.010" id="weightstyl7" name="weightstyl7" /> <input type="hidden" value="0.017" id="weightstyl8" name="weightstyl8" /> <input type="hidden" value="0.025" id="weightstyl9" name="weightstyl9" /> <input type="hidden" value="0.035" id="weightstyl10" name="weightstyl10" /> <input type="hidden" value="0.048" id="weightstyl11" name="weightstyl11" /> <input type="hidden" value="0.064" id="weightstyl12" name="weightstyl12" /> <input type="hidden" value="0.10" id="weightstyl14" name="weightstyl4" /> <input type="hidden" value="0.125" id="weightstyl16" name="weightstyl6" /> <input type="hidden" value="0.18" id="weightstyl18" name="weightsty18" /> <input type="hidden" value="0.25" id="weightstyl20" name="weightsty20" /> <input type="hidden" value="1.6" id="weightshotssg" name="weightshotssg" /> <input type="hidden" value="0.8" id="weightshotaaa" name="weightshotaaa" /> <input type="hidden" value="0.4" id="weightshotbb" name="weightshotbb" /> <input type="hidden" value="0.3" id="weightshot1" name="weightshot1" /> <input type="hidden" value="0.2" id="weightshot4" name="weightshot4" /> <input type="hidden" value="0.1" id="weightshot6" name="weightshot6" /> <input type="hidden" value="0.068" id="weightshot8" name="weightshot8" /> <input type="hidden" value="0.051" id="weightshot9" name="weightshot9" /> <input type="hidden" value="0.030" id="weightshot10" name="weightshot10" /> <input type="hidden" value="0.020" id="weightshot11" name="weightshot11" /> <input type="hidden" value="0.012" id="weightshot12" name="weightshot12" /> <input type="hidden" value="0.005" id="weightshot13" name="weightshot13" /></p>

<div id="tabPane1" class="tab-pane">
<div id="tabPage1" class="tab-page">
<h2 class="tab">Styl Leads</h2>
<table>
<tr>
<td><label for="fieldstyl7">No.7 (0.010gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl7" name="fieldstyl7" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl7');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl7');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl8">No.8 (0.017gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl8" name="fieldstyl8" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl8');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl8');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>

<tr>
<td><label for="fieldstyl9">No.9 (0.025gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl9" name="fieldstyl9" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl9');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl9');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl10">No.10 (0.035gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl10" name="fieldstyl10" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl10');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl10');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl11">No.11 (0.048gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl11" name="fieldstyl11" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl11');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl11');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>

</tr>
<tr>
<td><label for="fieldstyl12">No.12 (0.064gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl12" name="fieldstyl12" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl12');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl12');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl14">No.14 (0.10gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl14" name="fieldstyl14" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl14');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl14');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl16">No.16 (0.125gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl16" name="fieldstyl16" onfocus="this.value='';return true;" /></td>

<td><a href="javascript:inc('styl16');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl16');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl18">No.18 (0.18gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl18" name="fieldstyl18" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl18');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl18');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldstyl20">No.20 (0.25gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldstyl20" name="fieldstyl20" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('styl20');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('styl20');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
</table>
</div>
<div id="tabPage2" class="tab-page">

<h2 class="tab">Shot 1</h2>
<table>
<tr>
<td><label for="fieldshot8">No 8 (0.068gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshot8" name="fieldshot8" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot8');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot8');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot9">No 9 (0.051gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshot9" name="fieldshot9" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot9');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot9');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot10">No 10 (0.030gr)</label></td>

<td><input type="text" size="3" value="0" id="fieldshot10" name="fieldshot10" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot10');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot10');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot11">No 11 (0.020gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshot11" name="fieldshot11" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot11');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot11');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot12">No 12 (0.012gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshot12" name="fieldshot12" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot12');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot12');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot13">No 13 (0.005gr)</label></td>

<td><input type="text" size="3" value="0" id="fieldshot13" name="fieldshot13" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot13');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot13');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
</table>
</div>
<div id="tabPage3" class="tab-page">
<h2 class="tab">Shot 2</h2>
<table>
<tr>
<td><label for="fieldshotbb">SSG (1.6gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshotssg" name="fieldshotssg" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shotssg');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shotssg');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshotaaa">AAA (0.8gr)</label></td>

<td><input type="text" size="3" value="0" id="fieldshotaaa" name="fieldshotaaa" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shotaaa');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shotaaa');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshotbb">BB (0.4gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshotbb" name="fieldshotbb" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shotbb');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shotbb');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot1">No 1 (0.3gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshot1" name="fieldshot1" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot1');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot1');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot4">No 4 (0.2gr)</label></td>

<td><input type="text" size="3" value="0" id="fieldshot4" name="fieldshot4" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot4');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot4');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
<tr>
<td><label for="fieldshot6">No 6 (0.1gr)</label></td>
<td><input type="text" size="3" value="0" id="fieldshot6" name="fieldshot6" onfocus="this.value='';return true;" /></td>
<td><a href="javascript:inc('shot6');"><img alt="increment" src="http://moopoo.net/up.gif" /></a><a href="javascript:dec('shot6');"><img alt="decrement" src="http://moopoo.net/down.gif" /></a></td>
</tr>
</table>
</div>
</div>
<p>Total Weight (gr):<br />
<input type="text" value="0" size="4" class="total" name="total" /> <a href="javascript:resetFields();">reset</a></p>

</form></p>
<h2>Pocket PC version</h2>
<p>I created a Pocket PC version originally so I could use it on my Orange M500. I&#8217;ve since used it on devices running Windows Mobile 5 &amp; 6 and it works fine. Please feel free to download and use as you wish. I originally posted a reference to this on my <a title="View the original blog post" href="http://match-angling.blogspot.com/2006/09/shotting-calculator.html">fishing blog.</a></p>
<p>I would welcome any feedback, especially any recommendations for future developments.</p>
<h3>Download</h3>
<p><a class="download" title="Download the Pocket PC calculator exe" href="/files/ShottingCalc.rar">Download Pocket PC version exe</a>. To install, copy the the exe file to your phone and run.</p>
<p><a title="Download the Pocket PC calculator CAB install file"  class="download" href="/files/Shotting Calc_PPC.ARM.CAB">CAB  Install File</a>. To Install, copy the cab file to your phone and install.</p>
]]></content:encoded>
			<wfw:commentRss>http://moopoo.net/fishing/calculator/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
