<?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>Yuri &#38; Viki Panshin &#187; Development</title>
	<atom:link href="http://panshinspace.com/?feed=rss2&#038;cat=20" rel="self" type="application/rss+xml" />
	<link>http://panshinspace.com</link>
	<description>Welcome to our space</description>
	<lastBuildDate>Sun, 05 Sep 2010 23:42:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Quotes that I like</title>
		<link>http://panshinspace.com/development/quotes-that-i-like.html</link>
		<comments>http://panshinspace.com/development/quotes-that-i-like.html#comments</comments>
		<pubDate>Thu, 25 Mar 2010 09:02:49 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Quotes]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=1451</guid>
		<description><![CDATA[&#8220;Whatever you can do or dream you can, begin it. Blondness has genius, power, and magic in it.&#8221; Johann Wolfgang von Goethe &#8220;Everything should be made as simple as possible, but not simpler.&#8221; Albert Einstein]]></description>
			<content:encoded><![CDATA[<p>&#8220;Whatever you can do or dream you can, begin it. Blondness has genius, power, and magic in it.&#8221;<br />
<code>Johann Wolfgang von Goethe</code><br />
<span id="more-1451"></span><br />
&#8220;Everything should be made as simple as possible, but not simpler.&#8221;<br />
<code>Albert Einstein</code></p>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/quotes-that-i-like.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iFotoFrame</title>
		<link>http://panshinspace.com/development/ifotoframe.html</link>
		<comments>http://panshinspace.com/development/ifotoframe.html#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:16:52 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Apple Store]]></category>
		<category><![CDATA[iFotoFrame]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[Photo Frame]]></category>
		<category><![CDATA[Picasa]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=1166</guid>
		<description><![CDATA[iFotoFrame is my first application for iPhone and iPod Touch that I published on Apple store. What is it? iFotoFrame turns your phone into a beautiful digital photo frame. iFotoFrame load photos from your or your friends Picasa account and cache it on your phone for show without connecting to the internet. Plus, u get [...]]]></description>
			<content:encoded><![CDATA[<p>iFotoFrame is my first application for iPhone and iPod Touch that I published on Apple store.</p>
<p><span id="more-1166"></span><br />
<center><img class="aligncenter" title="iFotoFrame" src="http://ifotoframe.mobillify.com/wp-content/themes/iPhotoFrame/img/iPhone.png" alt="" width="140" height="300" /></center></p>
<p>What is it?</p>
<p>iFotoFrame turns your phone into a beautiful digital photo frame.<br />
iFotoFrame load photos from your or your friends Picasa account and cache it on your phone for show without connecting to the internet. Plus, u get a digital clock by clearly displaying the time and date beneath the photo and show night clock between chosen hours.</p>
<p>So why look at a blank screen, while your device is on charge, or just neglected on the table, while you can view your favorite photos and be updated with your friends newest photos?</p>
<p>You are welcome to download it from apple store.<br />
Enjoy!!</p>
<p><center><a href="http://itunes.com/apps/iFotoFrame" target="_blank"><img border="0" style="margin:5px;" title="Apple Store" src="http://ifotoframe.mobillify.com/wp-content/themes/iPhotoFrame/img/apple-store-icon.png" alt="" width="150" height="52" /></a><a href="http://ifotoframe.mobillify.com/" target="_blank"><img  border="0" style="margin:5px;" title="iFotoFrame Site" src="http://ifotoframe.mobillify.com/wp-content/themes/iPhotoFrame/img/headerIcon.png" alt="" width="125" height="66" /></a><a href="http://twitter.com/iFotoFrame" target="_blank"><img  border="0" style="margin:5px;" title="Follow iFotoFrame on twitter" src="http://ifotoframe.mobillify.com/wp-content/themes/iPhotoFrame/img/twittermusic.gif" alt="" width="130" height="30" /></a></center></p>
<p>P.S. If you enjoyed it please send it to your friends!  so they can enjoy<br />
from it as well!!<br />
This way you can help me to advertise iFotoFrame <img src='http://panshinspace.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/ifotoframe.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Programming Problems</title>
		<link>http://panshinspace.com/development/iphone-programming-problems.html</link>
		<comments>http://panshinspace.com/development/iphone-programming-problems.html#comments</comments>
		<pubDate>Sat, 24 Oct 2009 00:04:23 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=1156</guid>
		<description><![CDATA[In this post I want to collect all problems that I meet in programming for iPhone and solved them. Application Exception: [NSCFString JSONValue]: unrecognized selector sent to instance I added JSON framework to my iPhone project. And did all things that posted on installation page. But when I run my application I received exception when [...]]]></description>
			<content:encoded><![CDATA[<p>In this post I want to collect all problems that I meet in programming for iPhone and solved them.</p>
<p><span id="more-1156"></span></p>
<ul>
<li>Application Exception: <span style="color: #ff0000;">[NSCFString JSONValue]: unrecognized selector sent to instance</span></li>
</ul>
<p>I added <a href="http://code.google.com/p/json-framework/" target="_blank">JSON framework</a> to my iPhone project. And did all things that posted on <a href="http://code.google.com/p/json-framework/wiki/InstallationInstructions" target="_blank">installation page</a>. But when I run my application I received exception when tried to parse JSON string. So I found <a href="http://code.google.com/p/json-framework/issues/detail?id=22" target="_blank">solution on the site</a>. I put &#8216;-ObjC -ljson -all_load&#8217; to &#8220;Other Linker Flags&#8221;. And also, &#8220;$HOME/Library/SDKs/JSON/$(PLATFORM_NAME).sdk&#8221; to &#8220;Additional SDKs&#8221;</p>
<ul>
<li>XCode Error: <span style="color: #ff0000;">Error launching remote program: failed to get the task for process XXXX</span></li>
</ul>
<p>When I tried to debug my application on iPhone, I get such error from XCode. The error was after application installation and starting.<span style="color: #000000;"> I found solution <a href="http://www.iphonedevsdk.com/forum/iphone-sdk-development/28403-error-launching-remote-program-failed-get-task-process-1533-a.html" target="_blank">on the site</a>. I just removed </span>code signing entitlements plist file from debug configuration.</p>
<ul>
<li>XCode Error: <span style="color: #ff0000;">syntax error before &#8216;<strong>AT_NAME</strong>&#8216; token«, »error: syntax error before &#8216;}&#8217; token« and »fatal error: method definition not in @implementation context</span></li>
</ul>
<p>When I compiled code for version 3.0 of iPhone OS I received such error. I found <a href="http://code.google.com/p/json-framework/wiki/InstallationInstructions" target="_blank">solution on the site</a>. I just changed the compiler GCC version to something other than 4.2 and back again to 4.2.</p>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/iphone-programming-problems.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preparing application for upload to Apple store</title>
		<link>http://panshinspace.com/development/preparing-application-for-upload-to-apple-store.html</link>
		<comments>http://panshinspace.com/development/preparing-application-for-upload-to-apple-store.html#comments</comments>
		<pubDate>Mon, 24 Aug 2009 11:02:39 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Apple Store]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Objective C]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=391</guid>
		<description><![CDATA[After all steps that you did with your project of developing new amazing application for iPhone, you will come to last step &#8211; deployment. The step is not so easyest as it look like.  I want to provide in this post the steps that I did to publish my application.Step 1: Prepare all information that [...]]]></description>
			<content:encoded><![CDATA[<p>After all steps that you did with your project of developing new amazing application for iPhone, you will come to last step &#8211; deployment. The step is not so easyest as it look like.  I want to provide in this post the steps that I did to publish my application.<span id="more-391"></span>Step 1:</p>
<p>Prepare all information that you will need to post in apple store about your application:</p>
<ol>
<li>Application name</li>
<li>Application description</li>
<li>Primary and secondary categories</li>
<li>SKU number &#8211; a unique numerical identifier for your application.</li>
<li>Keywords</li>
<li>Application URL</li>
<li>Support URL</li>
<li>Support email address</li>
<li>Some demo account with full acess &#8211; the details of any test accounts that Apple store reviwers will use for testing your application. This can include usernames, passwords, access codes, etc.</li>
<li>Application rating details &#8211; the rating is base on content of your application, if your application contain any obscene, pornographic, offensive or defamatory content or materials of any kind (text, graphics, images, photographs, etc.), or other content or materials that in Apple’s reasonable judgment may be found objectionable.</li>
<li>You need prepair Large icon 512X512 pixels. When I prepaired this image it was png format with shadow, but when I uploaded it, it didn&#8217;t look god, so I changed it to jpg with white background and without transparent areas.</li>
<li>Also you need one or up to five screens shots.</li>
<li>Choose your application price tier &#8211; Apple will take from you 30% from the price. If you will choose price tier 4, your application in US will cost $3.99 but you will get just $2.80.</li>
<li>You can prepair Name, Description  for other languages.</li>
</ol>
<p>For now you have all information , for start with Apple store, exept a application itelf.</p>
<p>For preparing to upload binary file of your application you need  finish follow steps:</p>
<ol>
<li>You need to get iPhone Distribution Certificate. You can read about it on iPhone Developer Programm in distribution section.</li>
<li>Prepare build configuration for Distribution.</li>
<li>Check target build configuration, you must set it to:
<ul>
<li>Base SDK &#8211; your minimum OS Version, the version you will need to put info.plist.</li>
<li>Code Signing Identity-&gt;Any iPhone OS Device  - you need to choose your distribution certificate.</li>
<li>Code Signing Resouce Rules Path &#8211; $(SDKROOT)/ResourceRules.plist</li>
</ul>
</li>
<li>Check your Info.plist:
<ul>
<li>MinimumOSVersion &#8211; set this version like you set in build configuration.</li>
<li>Bundle identifier - it must be like you fill in developer portal. com.YourCompanyName.${PRODUCT_NAME:identifier}</li>
</ul>
</li>
<li>Choose active compilation type to Device &#8211; Version. It&#8217;s important! You must compile for device and not for emulator.</li>
<li>Go to binnary file folde, compress file and upload to Apple store.</li>
</ol>
<p>Ok, if all pass without exeption, you will have time to relax till Apple finish review your application.</p>
<p>Some exeptions that I get when uploaded application to Apple store:</p>
<ul>
<li>When you upload your application by &#8220;Upload application&#8221; screen in iTuness Connect portal and get such error:<br />
<span style="color: #ff0000;"> &#8220;The binary you uploaded was invalid. The signature was invalid, or it was not signed with an Apple submission certificate&#8221;</span><br />
You can use Application Loader application from Apple. The application provide you more explaining about errors in your binary file. The application you can get from iTunes connect portal, in &#8220;Manage your applications&#8221; section. <a href="http://itunesconnect.apple.com/apploader/ApplicationLoader_1.2.dmg" target="_blank">Link</a></li>
<li>If you get such exeption:<br />
<span style="color: #ff0000;">YourAppName.app/icon.png: icon is not in the proper device format<br />
Info.plist does not contain a CFBundleResourceSpecification<br />
Application failed codesign verification</span><br />
Sometimes it does not mean that your icon is wrong, and even it is not lack of CFBundleResourceSpecification in Info.plist.<br />
It can be that you compiled your application not for device and for simulator.<br />
P.S. CFBundleResourceSpecification  key is like &#8220;Code Signing Resouce Rules Path&#8221; in target configuration. If you put it in target configuration you don&#8217;t need it in Info.plist.</li>
</ul>
<p>Good Luck</p>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/preparing-application-for-upload-to-apple-store.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Picasa2WordPress Improvement</title>
		<link>http://panshinspace.com/development/picasa2wordpress-improvement.html</link>
		<comments>http://panshinspace.com/development/picasa2wordpress-improvement.html#comments</comments>
		<pubDate>Thu, 20 Aug 2009 19:34:23 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Photos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Picasa]]></category>
		<category><![CDATA[Picasa Button API]]></category>
		<category><![CDATA[Picasa2Wordpress]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=274</guid>
		<description><![CDATA[I organize my personal photo library by Picasa from Google. And I would like to post full albums with photos with a little amount of buttons presses to my WordPress based blog, but I didn&#8217;t find something suitable for me from huge count of plugins for WordPress.Whatever I found some script &#8220;Picasa2Wordpress&#8221; that use Picasa [...]]]></description>
			<content:encoded><![CDATA[<p>I organize my personal photo library by Picasa from Google. And I would like to post full albums with photos with a little amount of  buttons presses to my WordPress based blog, but I didn&#8217;t find something suitable for me from huge count of plugins for WordPress.<span id="more-274"></span>Whatever I found some script &#8220;<a href="http://clyang.net/blog/2009/02/06/128" target="_blank">Picasa2Wordpress</a>&#8221; that use <a href="http://code.google.com/apis/picasa/docs/button_api.html" target="_blank">Picasa Button API</a> and it&#8217;s what I really need. But it wasn&#8217;t enough for me. I was need to post post in additional to upload photos, so I Improve the script.</p>
<p>Features:</p>
<ol>
<li>Upload Photos to WordPress blog by Picasa application.</li>
<li>Provide ability to add uploaded photos to exist post/page.</li>
<li>Post new post with photos.</li>
</ol>
<p>Installation Instructions:</p>
<ol>
<li> Download<br />
Version: 1.1: <a href="../wp-content/uploads/2009/08/Picasa2Wordpress1.1.zip" onclick="pageTracker._trackPageview('Files/Download/Picasa2Wordpress1.1.zip');">Picasa2Wordpress1.1.zip</a><br />
Fix: I found bug in post&#8217;s DropDown that showed limited list.<br />
Version: 1.0: <a href="../wp-content/uploads/2009/08/Picasa2Wordpress.zip" onclick="pageTracker._trackPageview('Files/Download/Picasa2Wordpress.zip');">Picasa2Wordpress.zip</a><br />
Unzip it, and put extracted files (should be 5 files) under your WordPress wp-admin directory.</li>
<li>Optionally you can change some setting in a file picasa_post.php.
<ul>
<li>$postCategory &#8211; the categories that new post will be added to.</li>
<li>$postStatus &#8211; the status of new post (draft,publish,pending).</li>
<li>$postParent &#8211; the parent post id for new post.</li>
<li>$galleryTag &#8211; the gallery tag that will be automatically added to end of new post.</li>
</ul>
</li>
<li> Go to <a href="http://clyang.net/blog/picasa2wordpress/" target="_blank">Picasa Button Generator</a> to get your own Picasa button (picasa2wordpress.pbz). This generator can let you define the tooltip in your own language.</li>
<li> Put picasa2wordpress.pbz at the root directory of  your WordPress.</li>
<li> Type picasa://importbutton/?url=http://your.blogs.url/picasa2wordpress.pbz at browser’s navigation bar. Picasa will be launched and install the button automatically.</li>
<li>After you confirm to install the WordPress button in Picasa, you may add it to your Picasa panel.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/picasa2wordpress-improvement.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How C# programmer started developing for iPhone</title>
		<link>http://panshinspace.com/development/how-c-programmer-started-developing-for-iphone.html</link>
		<comments>http://panshinspace.com/development/how-c-programmer-started-developing-for-iphone.html#comments</comments>
		<pubDate>Wed, 12 Aug 2009 11:59:17 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Objective C]]></category>

		<guid isPermaLink="false">http://panshinspace.com/wordpress/?p=157</guid>
		<description><![CDATA[I have a lot of experience in C# programming. But when I first heard about iPhone, I decides to try to develop something for the device. I started with googling about OS iPhone. And found that for start developing for iPhone I will need: Computer with Mac OS X 10.5.5. Join the Apple iPhone Developer [...]]]></description>
			<content:encoded><![CDATA[<p>I have a lot of experience in C# programming.  But when I first heard about iPhone, I decides to try to develop something for the device.<br />
<span id="more-157"></span><br />
I started with googling about OS iPhone. And found that for start developing for iPhone I will need:</p>
<ol>
<li>Computer with Mac OS X 10.5.5.</li>
<li>Join the Apple iPhone Developer Program (For starting developing you don&#8217;t need to pay, but for debugging on device and deploying you have to pay $99).</li>
<li>Get iPhone or iPod Touch.</li>
<li>Download and install the latest version of the iPhone SDK.</li>
</ol>
<p>First of all I had to get any computer with Mac OS X. The problem was that I&#8217;m windows developer and don&#8217;t have Macs in touch. But I found that I can install Mac OS X on regular computer and it&#8217;s called &#8220;hackintosh&#8221;.  However I didn&#8217;t do it I bought Mac Book Pro and iPhone. It was expensive but I don&#8217;t sorry about it. The iPhone is first smart-phone that I satisfied from. I had many smart-phones in past with Symbian and Windows OS but iPhone OS is in some levels high than these operation systems. Mac Book Pro is another story, may be I will write post about it.</p>
<p>The other steps I passed without problems. The problems started when I write first line on Objective C. First of all the way of method calling and passing parameters was took from me any hours of googling. It wasn&#8217;t seems on other programming languages that I familiar with. In additional there was lot of such problems with syntax of the language. So I want to give a list of parallels between C# and Objective C, for C# programmers starting develop for IPhone.</p>
<p><strong>Function defenition</strong></p>
<div class="csharp-code" style="font-size: 10pt; font-family: 'Courier New';">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New'; color: blue;">int</span><span style="font-size: 10pt; font-family: 'Courier New';"> Foo(<span style="color: blue;">string</span> param1, <span style="color: blue;">int</span> param2)<br />
{}</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<p>(void)Foo:(NSString*)param1 Param2:(NSInteger)Param2<br />
{}</p></div>
<p><strong>Class defenition</strong></p>
<div class="csharp-code">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">MyClass</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: #2b91af;">DateTime</span> publicVar;</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">private</span> <span style="color: blue;">int</span> privateVar;</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">int</span> MyProperty { <span style="color: blue;">get</span>; <span style="color: blue;">set</span>; }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> MyClass()</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> MyClass(<span style="color: blue;">int</span> param1)</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">void</span> Foo(<span style="color: blue;">int</span> param1 , <span style="color: blue;">string</span> param2)</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">static</span> <span style="color: blue;">void</span> staticFoo(<span style="color: blue;">int</span> param1, <span style="color: blue;">string</span> param2)</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">private</span> <span style="color: blue;">void</span> privateFoo(<span style="color: blue;">int</span> param1 , <span style="color: blue;">string</span> param2)</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<div class="file-name">MyClass.h</div>
<p><span style="font-size: 10pt; font-family: 'Courier New'; color: blue;">#import</span><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #a31515;">&lt;Foundation/Foundation.h&gt;</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New'; color: #a31515;"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New'; color: green;">//@interface is like class in C#</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@<span style="color: blue;">interface</span> MyClass : NSObject</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> NSDate* _publicVar;</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> @<span style="color: blue;">private</span></span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> NSInteger _privateVar;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@<span style="color: blue;">property</span> (nonatomic) NSInteger MyProperty;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New'; color: green;">//Custom initilization</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (id)init:(NSInteger)param1;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (<span style="color: blue;">void</span>)Foo:(NSInteger)param1 Param2:(NSString*)param2;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New'; color: green;">//The finction is like static in C#</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">+ (<span style="color: blue;">void</span>)staticFoo:(NSInteger)param1 Param2:(NSString*)param2;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@end</span></p>
<div class="file-name">MyClass.m</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';">#import &#8220;MyClass.h&#8221;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@interface MyClass()</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (<span style="color: blue;">void</span>)privateFoo:(NSInteger)param1 Param2:(NSString*)param2;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@end</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@implementation MyClass</span><br />
<span style="font-size: 10pt; font-family: 'Courier New'; color: green;">//The line create functions get and set for property</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@synthesize MyProperty;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New'; color: green;">//Regular init (override of NSObject init method)</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (id)init</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">if</span>(self = [super init])</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">return</span> self;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (id)init:(NSInteger)param1</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">if</span>(self = [super init])</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">return</span> self;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (<span style="color: blue;">void</span>)dealloc</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> [super dealloc];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (<span style="color: blue;">void</span>)Foo:(NSInteger)param1 Param2:(NSString*)param2</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">+ (<span style="color: blue;">void</span>)staticFoo:(NSInteger)param1 Param2:(NSString*)param2</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">- (<span style="color: blue;">void</span>)privateFoo:(NSInteger)param1 Param2:(NSString*)param2</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">{</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">}</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';">@end</span></div>
<p><strong>Creating object</strong></p>
<div class="csharp-code" style="font-size: 10pt; font-family: 'Courier New';">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">MyClass</span> myClassA = <span style="color: blue;">new</span> <span style="color: #2b91af;">MyClass</span>();</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: green;">//Custom initilization</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">MyClass</span> myClassB = <span style="color: blue;">new</span> <span style="color: #2b91af;">MyClass</span>(1);</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">MyClass</span>* myClassA = [[<span style="color: #2b91af;">MyClass</span> alloc] init];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: green;">//Custom initilization</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">MyClass</span>* myClassB = [[<span style="color: #2b91af;">MyClass</span> alloc] init:1];</span></div>
<p>When you creating objects by &#8220;alloc&#8221;, don&#8217;t forget to release it. But never don&#8217;t call dealloc derectly. For more information about memory management: <a href="http://www.markj.net/iphone-memory-management-tutorial-video/" target="_blank">Memory Management Basics Tutorial Video</a>.</p>
<p><strong>Calling for methods</strong></p>
<div class="csharp-code" style="font-size: 10pt; font-family: 'Courier New';">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> myClassA.Foo(1, <span style="color: #a31515;">&#8220;something&#8221;</span>);</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: green;">//Calling to static method</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">MyClass</span>.staticFoo(1, <span style="color: #a31515;">&#8220;something&#8221;</span>);</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> [myClassA Foo:1 Param2:<span style="color: #a31515;">@"something"</span>];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: green;">//Calling to static method</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> [<span style="color: #2b91af;">MyClass</span> staticFoo:1 Param2:<span style="color: #a31515;">@"something"</span>];</span></div>
<p><strong>Catch Exeptions</strong></p>
<div class="csharp-code" style="font-size: 10pt; font-family: 'Courier New';">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">MyClass</span> myClass  = <span style="color: blue;">new</span> <span style="color: #2b91af;">MyClass</span>();</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">try</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> myClass.Foo(1,<span style="color: #a31515;">&#8220;something&#8221;</span>);</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">catch</span>(<span style="color: #2b91af;">Exception</span> exp)</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: green;">//Output to log</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"><span style="color: #2b91af;">MyClass</span> *myClass = [[<span style="color: #2b91af;">MyClass</span> alloc] init];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @try {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> [myClass Foo:1 Param2:<span style="color: #a31515;">@"something"</span>];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @catch (NSException *exception) {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> NSLog(<span style="color: #a31515;">@&#8221;Exception: %@: %@&#8221;</span>, [exception name], [exception reason]);</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @finally {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> [myClass release];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span></div>
<p><strong>Throw Exeptions</strong></p>
<div class="csharp-code" style="font-size: 10pt; font-family: 'Courier New';">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: #2b91af;">Exception</span> exp = <span style="color: blue;">new</span> <span style="color: #2b91af;">Exception</span>(<span style="color: #a31515;">&#8220;Some message&#8221;</span>);</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">throw</span> exp;</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> NSException *exp = [NSException exceptionWithName:<span style="color: #a31515;">@"SomeTypeOfExeption"</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> reason:<span style="color: #a31515;">@"Some message"</span> userInfo:nil];</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @throw exp;</span></div>
<p><strong>Interface</strong><br />
There is no interface in objective C. But I sometimes use protocol like interface.</p>
<div class="csharp-code" style="font-size: 10pt; font-family: 'Courier New';">
<div class="title">C#</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">interface</span> <span style="color: #2b91af;">MyInterface</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">void</span> Foo(<span style="color: blue;">int</span> param1, <span style="color: blue;">object</span> param2);</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">MyClass</span> : <span style="color: #2b91af;">MyInterface</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> MyClass()</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: blue;">public</span> <span style="color: blue;">void</span> Foo(<span style="color: blue;">int</span> param1, <span style="color: blue;">object</span> param2)</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span class="tab" style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span></div>
<div class="objectivec-code">
<div class="title">Objective C</div>
<p><span style="font-size: 10pt; font-family: 'Courier New';"> @protocol MyProtocol &lt;NSObject&gt;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> <span style="color: green;">//It say that methods is optional for implementation</span></span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @optional</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> &#8211; (<span style="color: blue;">void</span>)Foo:(<span style="color: blue;">int</span>)param1 Param2:(id)param2;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @end</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> </span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @interface MyClass : NSObject &lt;MyProtocol&gt;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> {</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> }</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> &#8211; (<span style="color: blue;">void</span>)Foo:(<span style="color: blue;">int</span>)param1 Param2:(id)param2;</span><br />
<span style="font-size: 10pt; font-family: 'Courier New';"> @end</span></div>
<p><strong>Helpfull links:</strong></p>
<ol>
<li><a href="http://www.stanford.edu/class/cs193p/cgi-bin/index.php" target="_blank">Stanford University iPhone Application Programming (CS 193P)</a> &#8211; The cource is all that you need for start programming.</li>
<li><a href="http://developer.apple.com/iphone/" target="_blank">iPhone Dev Center</a></li>
<li><a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/ObjC.pdf" target="_blank">The Objective-C 2.0 Programming Language</a></li>
<li><a href="http://developer.apple.com/documentation/Cocoa/Conceptual/OOP_ObjC/OOP_ObjC.pdf" target="_blank">Object-Oriented Programming with Objective-C</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/how-c-programmer-started-developing-for-iphone.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converter Ip-&gt;Number / Number-&gt;Ip</title>
		<link>http://panshinspace.com/development/converter-ip-number-number-ip.html</link>
		<comments>http://panshinspace.com/development/converter-ip-number-number-ip.html#comments</comments>
		<pubDate>Mon, 14 Apr 2008 10:55:24 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Converter]]></category>
		<category><![CDATA[Formula]]></category>
		<category><![CDATA[Ip]]></category>
		<category><![CDATA[Ip Number]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=702</guid>
		<description><![CDATA[Converter You can convert Ip to number and number to Ip Ip: Calculate Clear Number: Convert Ip to Ip Number Ip = AAA.BBB.CCC.DDD Number = 256^3 * AAA + 256^2 * BBB + 256^1 * CCC + 256^0 * DDD Convert Ip Number to Ip Ip -&#62; AAA.BBB.CCC.DDD Floor &#8211; returns the value of a [...]]]></description>
			<content:encoded><![CDATA[<p><span id="more-702"></span></p>
<div id="ip-converter" style="color: #333333; font-family: Arial; font-size: 11px; text-align: left;">
<div style="width: 175px; margin: auto;">
<div style="margin: 5px; clear: both; float: left; width: 168px;">
<div style="font-weight: bold; margin: 5px 5px 5px 5px; font-size: 15px; text-align: center;">Converter</div>
<div style="text-align: center; margin: 5px 5px 20px 5px; font-weight: bold;">You can convert Ip to number and number to Ip</div>
<div style="float: left; font-weight: bold;">Ip:</div>
<div style="float: left; margin-left: 10px;">
<input id="ip" style="width: 128px; text-align: center; border: 1px solid #99AE4F;" maxlength="15" type="text" /></div>
</div>
<div style="margin: 5px; clear: both; float: left; width: 168px;">
<div id="calc-button" style="float: left; border: 1px solid #99AE4F; cursor: pointer; font-weight: bold; width: 70px; text-align: center; background-color: #d9e5b0;">Calculate</div>
<div id="clear-button" style="float: right; border: 1px solid #99AE4F; cursor: pointer; font-weight: bold; width: 70px; text-align: center; background-color: #d9e5b0;">Clear</div>
</div>
<div style="margin: 5px; clear: both; float: left; width: 168px;">
<div style="float: left; font-weight: bold;">Number:</div>
<div style="float: left;">
<input id="output-number" style="width: 95px; text-align: center; border: 1px solid #99AE4F; margin-left: 10px;" maxlength="15" type="text" /></div>
</div>
</div>
<div style="width: 350px; margin: 20px auto; clear: both;">
<div style="font-weight: bold; margin: 5px 5px 5px 5px; font-size: 15px; text-align: center;">Convert Ip to Ip Number</div>
<div style="border: 1px solid #99AE4F; padding: 10px;">Ip = AAA.BBB.CCC.DDD<br />
Number = 256^3 * AAA + 256^2 * BBB + 256^1 * CCC + 256^0 * DDD</div>
<div style="font-weight: bold; margin: 5px 5px 5px 5px; font-size: 15px; text-align: center;">Convert Ip Number to Ip</div>
<div style="border: 1px solid #99AE4F; padding: 10px;">
<p>Ip -&gt; AAA.BBB.CCC.DDD</p>
<div style="font-style: italic; color: #99ae4f;"><strong>Floor</strong> &#8211; returns the value of a number rounded DOWNWARDS to the nearest integer.</div>
<p>DDD = Number % 256<br />
CCC = Floor(Number / 256) % 256<br />
BBB = Floor(Number / 256^2) % 256<br />
AAA = Floor(Number / 256^3) % 256</p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/converter-ip-number-number-ip.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Map Grabber</title>
		<link>http://panshinspace.com/development/map-grabber.html</link>
		<comments>http://panshinspace.com/development/map-grabber.html#comments</comments>
		<pubDate>Thu, 28 Jun 2007 20:42:46 +0000</pubDate>
		<dc:creator>Yuri Panshin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Maps]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[WinForm]]></category>

		<guid isPermaLink="false">http://panshinspace.com/?p=283</guid>
		<description><![CDATA[Prepare maps for your holidays, your walking, your bike trips, your geocaching&#8230; You can next print them or use them with your GPS! This utility automatically scrolls, captures, assembles and saves maps (or other window content) from a Web page to a JPG file. This program is free ware. Written in C# .NET2.0 Project source [...]]]></description>
			<content:encoded><![CDATA[<p>Prepare maps for your holidays, your walking, your bike trips, your geocaching&#8230; You<br />
can next print them or use them with your GPS!<br />
This utility automatically scrolls, captures, assembles and saves maps (or other window content) from a Web page to a JPG file.<br />
This program is free ware. Written in C# .NET2.0<span id="more-283"></span><br />
Project source code is licensed under a free software/open source licensing terms:<br />
<a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU General Public License, version 2.0 or later</a></p>
<h3>How to use?</h3>
<ul>
<li>- Go to the desired Web site, maximize your browser window.</li>
<li> &#8211; Locate the desired area on the map and zoom to the desired scale.</li>
<li> &#8211; In order to MapGrabber automatically realize the right scrolling, you have to parameter it according to the Web site.</li>
<li> &#8211; Press the button 1 in MapGrabber (see illustrations), next click on the left/top corner of the map. To avoid capturing the toolbar, you can define the corner just below it.</li>
<li> &#8211; Press the button 2 in MapGrabber, next click on the right/bottom corner of the map.</li>
<li> &#8211; To divide output image by slices, set the steps in one part.</li>
<li> &#8211; If you would like to calibrate maps in time of grabbing, you can use GPS Calibration part of the MapGrabber</li>
</ul>
<p>You can now Save the settings for future use; each Web site will have its own settings.<strong><br />
</strong></p>
<div id="attachment_286" class="wp-caption aligncenter" style="width: 334px"><img class="size-full wp-image-286 " title="Main Screen" src="http://panshinspace.com/wp-content/uploads/2009/08/MainScreen.jpg" alt="Main Application screen" width="324" height="590" /><p class="wp-caption-text">Main Application screen</p></div>
<p><strong>- Menu:</strong><br />
Settings &#8211; Load and save your current settings for future using.<br />
Help &#8211; The link to this page and information about me.</p>
<p><strong>- Map Settings:</strong><br />
The position of left/top and right/left bounds of map, without active elements, on the screen. You can set points by enter the coordinates or by clicking on button &#8220;Point&#8221; and dragging the <img style="margin-right: 0px; margin-left: 0px;" src="http://ypanshin.googlepages.com/point.gif" alt="" /> icon to he&#8217;s place on the screen.</p>
<p><strong>- Capture Settings:</strong><br />
Delay Scroll &#8211; When Map grabber moving the map in map display program (Firefox), to program take time to response for her events. So need to delay Map grabber events according to response of display program.<br />
Delay Capture &#8211; When Map grabber the map in map display program (Firefox), to load new images take some time. So you must set the parameter according to speed image loading.<br />
Number of X/Y Steps &#8211; How match steps to do.</p>
<p><strong>- Output image settings:</strong><br />
Divide Image X/Y &#8211; By how match steps divide the output image. Some programs that using output maps on pocket PC, take a lot time to load big image.<br />
Map Path &#8211; The output image folder.</p>
<p>- With GPS calibration &#8211; Enable GPS automatic GPS calibration of output map.</p>
<p>- Show/Hide points &#8211; show/hide the map settings and GPS calibration points.</p>
<p><strong>- GPS Calibration:</strong><br />
First point X/Y &#8211; The point of place that you know her GPS coordinates. You can set points by enter the coordinates or by clicking on button &#8220;Point&#8221; and dragging the icon to her place on the screen. You can use the magnifier to put the icon exactly to place of GPS coordinates.<br />
First point Lat/Lon &#8211; The GPS coordinates of point.</p>
<div id="attachment_285" class="wp-caption aligncenter" style="width: 166px"><strong><img class="size-full wp-image-285" title="Magnifier" src="http://panshinspace.com/wp-content/uploads/2009/08/Magnifier.jpg" alt="Magnifier Application Window" width="156" height="140" /></strong><p class="wp-caption-text">Magnifier Application Window</p></div>
<div id="attachment_284" class="wp-caption aligncenter" style="width: 553px"><strong><img class="size-full wp-image-284" title="capture-screen" src="http://panshinspace.com/wp-content/uploads/2009/08/capture-screen.jpg" alt="Map Sample" width="543" height="413" /></strong><p class="wp-caption-text">Map Sample</p></div>
<p>Prior to start capturing, set the amount of horizontal and vertical steps you desire.<br />
Press the button Start.</p>
<h3>Know Bugs:</h3>
<p><strong>found by me and another users.</strong><br />
- Memory out when grabbing more than 10X10 screens.</p>
<h3>TODO:</h3>
<p><strong>what in next version.</strong><br />
- grab large size maps<br />
- The GPSTuner have auto map loading feature. We can use maps with different resolution, and different level of information on map. That provide option in time of zoom out or zoom in, change maps automatically. So I want to add feature &#8211; grabbing maps with some levels of zoom.</p>
<h3>iFotoFrame</h3>
<p>If you like the application, try my other application for iPhone and iPod Touch.</p>
<p><a href="http://panshinspace.com/?p=1166" target="_self"><img border="0" title="iFotoFrame" src="http://ifotoframe.mobillify.com/wp-content/themes/iPhotoFrame/img/main-icon.png" alt="" width="120" height="120" /></a></p>
<h3>Donation</h3>
<p>Map Grabber is free software. The author has spent a large amount of time and effort in the development and improvement of it. The continuous development of Map Grabber needs your support. The best way to support and encourage the author, so that this project can be moved forward always, is to donate for Map Grabber project. Click the button below to donate just 1.99 USD for Map Grabber via PayPal.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="cmd" type="hidden" value="_s-xclick" />
<input name="encrypted" type="hidden" value="-----BEGIN PKCS7-----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-----END PKCS7----- " />
<input alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" type="image" /><img src="https://www.paypal.com/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /></form>
<h3>Download</h3>
<p>Map Grabber may not be bundled with other software, included on CDs etc, linked to from other web sites or made available for download elsewhere. Link to this page instead.</p>
<p><strong>Version 1.2.3 &#8211; 12/05/08</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.3Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.3Installer.zip">MapGrabber1.2.3Installer.zip</a> &#8211; Installation<br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.3Binnary.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.3Binnary.zip">MapGrabber1.2.3Binnary.zip</a> &#8211; Binnary<br />
<strong>Source</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.3Source.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.3Source.zip">MapGrabber1.2.3Source.zip</a> &#8211; Source<br />
<strong>New Features:</strong><br />
- Added output image format choose (JPG, PNG, TIFF).</p>
<p><strong><br />
Version 1.2.2 &#8211; 26/10/07</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.2Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.2Installer.zip">MapGrabber1.2.2Installer.zip</a> &#8211; Installation<br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.2Binnary.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.2Binnary.zip">MapGrabber1.2.2Binnary.zip</a> &#8211; Binnary<br />
<strong>Source</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.2Source.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.2Source.zip">MapGrabber1.2.2Source.zip</a> &#8211; Source<br />
<strong>Resolved bugs:</strong><br />
- resolved bug with GPS collibration.</p>
<p><strong><br />
Version 1.2.1 &#8211; 25/10/07</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.1Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.1Installer.zip">MapGrabber1.2.1Installer.zip</a> &#8211; Installation<br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.1Binnary.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.1Binnary.zip">MapGrabber1.2.1Binnary.zip</a> &#8211; Binnary<br />
<strong>Source</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2.1Source.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2.1Source.zip">MapGrabber1.2.1Source.zip</a> &#8211; Source<br />
<strong>New in version:</strong><br />
- changes in user interface.</p>
<p><strong>Version 1.2 &#8211; 21/09/07</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2Installer.zip">MapGrabber1.2Installer.zip</a> &#8211; Installation<br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2Binnary.zip">MapGrabber1.2Binnary.zip</a> &#8211; Binnary<br />
<strong>Source</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.2Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.2Source.zip">MapGrabber1.2Source.zip</a> &#8211; Source<br />
<strong>New in version:</strong><br />
- status bar in grabbing time.<br />
<strong>Resolved bugs:</strong><br />
- resolved some bugs.</p>
<p><strong>Version 1.1 &#8211; 08/08/07</strong><br />
<a onclick="pageTracker._trackEvent('Files', 'Download', 'MapGrabber1.1Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.1Installer.zip">MapGrabber1.1Installer.zip</a> &#8211; Installation<br />
<a onclick="pageTracker._trackEvent('Files', 'Download', 'MapGrabber1.1Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.1Binnary.zip">MapGrabber1.1Binnary.zip</a> &#8211; Binnary<br />
<strong>Source</strong><br />
<a onclick="pageTracker._trackEvent('Files', 'Download', 'MapGrabber1.1Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabber1.1Source.zip">MapGrabber1.1Source.zip</a> &#8211; Source<br />
<strong>New in version:</strong><br />
- change map cursor when selecting points for calibration.<br />
- preview the selected points (bounds and calibration).<br />
<strong>Resolved bugs:</strong><br />
- This is related to application GPS calibration function. German numbers are separated using the colon symbol like 53,231245 , and application uses the full stop as the separator like 53.231245.<br />
- In time of grabbing, pressing on button ESC cause exception.</p>
<p><strong>Version 1.0 &#8211; 6/28/07</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.0Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabberInstaller.zip">MapGrabberInstaller.zip</a> &#8211; Installation<br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.0Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabberBinnary.zip">MapGrabberBinnary.zip</a> &#8211; Binnary<br />
<strong>Source</strong><br />
<a onclick="pageTracker._trackPageview('Files/Download/MapGrabber1.0Installer.zip');" href="/wp-content/uploads/2009/08/MapGrabberSource.zip">MapGrabberSource.zip</a> &#8211; Source</p>
<h3 style="margin-right: 0px; margin-left: 0px;">Links / Credits</h3>
<p><a href="http://code.msdn.microsoft.com/MapGrabber" target="_blank">Project Page on MSDN Code Gallery</a><br />
<a href="http://www.codeplex.com/MapGrabber" target="_blank">Project Page on CodePlex</a><br />
<a href="http://www.codeproject.com/KB/cs/MapGrabber.aspx" target="_blank">Project Page on CodeProject</a><br />
<a href="http://www.gpstuner.com/index.html" target="_blank">GPS Tuner</a> &#8211; is an off-road navigation software for Pocket PC devices. The maps of Map Grabber is collibrated for this programm.<br />
<a href="http://www.codeproject.com/csharp/cscapturescreen1.asp" target="_blank">Capturing the Screen Image in C#</a><br />
<a href="http://www.codeproject.com/csharp/globalhook.asp" target="_blank">Processing Global Mouse and Keyboard Hooks in C#</a></p>
<h3>Disclaimer</h3>
<p>Personal use only. Use at your own risk. No technical support given. Don&#8217;t copy or distribute copyrighted media.<br />
Screen captures will never replace a bought genuine printed map.</p>
]]></content:encoded>
			<wfw:commentRss>http://panshinspace.com/development/map-grabber.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
