<?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>delphi spirit, forever &#187; delphi code</title>
	<atom:link href="http://delphi.yiblog.com/category/delphi-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://delphi.yiblog.com</link>
	<description></description>
	<lastBuildDate>Mon, 31 Aug 2009 15:34:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Fundamentals v.4.00 RC1 for delphi</title>
		<link>http://delphi.yiblog.com/2009/01/fundamentals-v400-rc1-for-delphi/</link>
		<comments>http://delphi.yiblog.com/2009/01/fundamentals-v400-rc1-for-delphi/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 07:22:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[d2005]]></category>
		<category><![CDATA[d2006]]></category>
		<category><![CDATA[d2007]]></category>
		<category><![CDATA[d5]]></category>
		<category><![CDATA[d7]]></category>
		<category><![CDATA[freeware]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=121</guid>
		<description><![CDATA[By Fundamentals. FUNDAMENTALS is a collection of Delphi code libraries. FUNDAMENTALS UTILITIES contains the following units: cDataStructs.pas Data structures cDateTime.pas Date and Time functions cFileUtils.pas File utility functions cHash.pas Hashing functions cRandom.pas Uniform random number generators cSocket.pas System socket class cSocketHostLookup.pas Socket host lookup class cSocketLib.pas System socket library cStreams.pas Streams cStrings.pas Ansi String functions [...]]]></description>
			<content:encoded><![CDATA[<p>By Fundamentals. FUNDAMENTALS is a collection of Delphi code libraries. FUNDAMENTALS UTILITIES contains the following units:</p>
<p>cDataStructs.pas Data structures<br />
cDateTime.pas Date and Time functions<br />
cFileUtils.pas File utility functions<br />
cHash.pas Hashing functions<br />
cRandom.pas Uniform random number generators<br />
cSocket.pas System socket class<br />
cSocketHostLookup.pas Socket host lookup class<br />
cSocketLib.pas System socket library<br />
cStreams.pas Streams<br />
cStrings.pas Ansi String functions<br />
cSysClasses.pasSystem classes<br />
cSysUtils.pas System utilities<br />
cUnicodeCodecs.pas Unicode encoders/decoders<br />
cUnicodeChar.pas Unicode character functions<br />
cUnicode.pas Unicode string functions<br />
cUnicodeReader.pas Unicode reader classes<br />
cUtils.pas Utility functions for Integer, Bit, Set,<br />
cWinClasses.pasWindows system classes<br />
cWinUtils.pas Windows utility functions<br />
cXMLFunctions.pas General purpose XML functions<br />
cXMLDocument.pas XML document classes<br />
cXMLParser.pas XML Parser</p>
<p>It&#8217;s freeware with source and for D2005 D2006 D2007 D5 D7.</p>
<p>Visit the <a href="http://sourceforge.net/projects/fundementals/">webiste</a>.</p>
<p>Download it from <a href="http://sourceforge.net/project/platformdownload.php?group_id=702">here</a>.	</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/11/send-fax-directly-with-hylafax-or-msfax-v10/" title="Send fax directly with HylaFax or MSFax v.1.0 (November 27, 2008)">Send fax directly with HylaFax or MSFax v.1.0</a> (6)</li>
	<li><a href="http://delphi.yiblog.com/2008/12/hashcart-128-v01/" title="HashCart-128 v.0.1 (December 21, 2008)">HashCart-128 v.0.1</a> (2)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/delphi-encryption-compedium-part-i-v52-is-published/" title="Delphi Encryption Compedium Part I v.5.2 is published (November 21, 2008)">Delphi Encryption Compedium Part I v.5.2 is published</a> (3)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/ddservice-v14-has-been-released/" title="DDService v.1.4 has been released (November 10, 2008)">DDService v.1.4 has been released</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/03/davinchi-script-engine-v2009/" title="Davinchi script engine v.2009 (March 22, 2009)">Davinchi script engine v.2009</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2009/01/fundamentals-v400-rc1-for-delphi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Use XMLHTTP in Delphi</title>
		<link>http://delphi.yiblog.com/2008/12/use-xmlhttp-in-delphi/</link>
		<comments>http://delphi.yiblog.com/2008/12/use-xmlhttp-in-delphi/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 04:01:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=102</guid>
		<description><![CDATA[You can use xmlhttp in delphi like this Function XMLHTTPSTR:String; var url:string; xmlHttp:Olevariant; responseText:Widestring; begin With Form1 do Begin if &#40;Length&#40;edit1.Text&#41;&#62;0&#41; AND &#40;Length&#40;edit2.Text&#41;&#62;0&#41; then begin xmlHttp:=CreateOleObject&#40;'MSXML2.XMLHTTP'&#41;; xmlHttp.open&#40;edit2.Text,edit1.Text,false&#41;; xmlHttp.send; Result:=xmlHttp.responseText; end else showmessage&#40;'fill submit url'&#41;; end else showmessage&#40;'fill url'&#41;; end; end; Related posts How to load an XML document into the DOM (0) DIHtmlParser v5.0.0 (0)]]></description>
			<content:encoded><![CDATA[<p>You can use xmlhttp in delphi like this</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">Function</span> XMLHTTPSTR<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">String</span>; 
<span style="color: #000000; font-weight: bold;">var</span>
url<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">string</span>;
xmlHttp<span style="color: #339933;">:</span>Olevariant;
responseText<span style="color: #339933;">:</span>Widestring;
<span style="color: #000000; font-weight: bold;">begin</span>
With Form1 <span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #000000; font-weight: bold;">Begin</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>Length<span style="color: #009900;">&#40;</span>edit1.<span style="color: #0066ee;">Text</span><span style="color: #009900;">&#41;</span>&gt;<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">AND</span> <span style="color: #009900;">&#40;</span>Length<span style="color: #009900;">&#40;</span>edit2.<span style="color: #0066ee;">Text</span><span style="color: #009900;">&#41;</span>&gt;<span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
<span style="color: #000000; font-weight: bold;">begin</span>
xmlHttp<span style="color: #339933;">:=</span>CreateOleObject<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'MSXML2.XMLHTTP'</span><span style="color: #009900;">&#41;</span>;
xmlHttp.<span style="color: #0066ee;">open</span><span style="color: #009900;">&#40;</span>edit2.<span style="color: #0066ee;">Text</span><span style="color: #339933;">,</span>edit1.<span style="color: #0066ee;">Text</span><span style="color: #339933;">,</span><span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span>;
xmlHttp.<span style="color: #0066ee;">send</span>;
Result<span style="color: #339933;">:=</span>xmlHttp.<span style="color: #0066ee;">responseText</span>;
<span style="color: #000000; font-weight: bold;">end</span>
<span style="color: #000000; font-weight: bold;">else</span>
showmessage<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'fill submit url'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>
<span style="color: #000000; font-weight: bold;">else</span>
showmessage<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'fill url'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
<span style="color: #000000; font-weight: bold;">end</span>;</pre></div></div>


	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/11/how-to-load-an-xml-document-into-the-dom/" title="How to load an XML document into the DOM (November 24, 2008)">How to load an XML document into the DOM</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/05/dihtmlparser-v500/" title="DIHtmlParser v5.0.0 (May 1, 2009)">DIHtmlParser v5.0.0</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/12/use-xmlhttp-in-delphi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FastMM: A fast replacement memory manager for delphi</title>
		<link>http://delphi.yiblog.com/2008/12/fastmm-a-fast-replacement-memory-manager-for-delphi/</link>
		<comments>http://delphi.yiblog.com/2008/12/fastmm-a-fast-replacement-memory-manager-for-delphi/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 13:05:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[fastmm]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=95</guid>
		<description><![CDATA[Fast Memory Manager is a  fast replacement memory manager for Borland Delphi Win32 applications that scales well under multi-threaded usage, is not prone to memory fragmentation, and supports shared memory without the use of external .DLL files. It&#8217;s free and opensource, you can download it from here. Related posts VCL for PHP Open Components (0) PHP4Delphi (0) [...]]]></description>
			<content:encoded><![CDATA[<p>Fast Memory Manager is a  fast replacement memory manager for Borland Delphi Win32 applications that scales well under multi-threaded usage, is not prone to memory fragmentation, and supports shared memory without the use of external .DLL files. It&#8217;s free and opensource, you can download it from <a href="http://sourceforge.net/projects/fastmm/" target="_blank">here</a>.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2009/02/vcl-for-php-open-components/" title="VCL for PHP Open Components (February 27, 2009)">VCL for PHP Open Components</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/php4delphi/" title="PHP4Delphi (November 14, 2008)">PHP4Delphi</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/how-to-use-sqlite-under-delphi/" title="How to use sqlite under delphi? (November 10, 2008)">How to use sqlite under delphi?</a> (2)</li>
	<li><a href="http://delphi.yiblog.com/2009/01/fundamentals-v400-rc1-for-delphi/" title="Fundamentals v.4.00 RC1 for delphi (January 16, 2009)">Fundamentals v.4.00 RC1 for delphi</a> (2)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/free-open-source-php-web-statistics-script/" title="Free &#038; Open-Source PHP Web Statistics Script (November 13, 2008)">Free &#038; Open-Source PHP Web Statistics Script</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/12/fastmm-a-fast-replacement-memory-manager-for-delphi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to load an XML document into the DOM</title>
		<link>http://delphi.yiblog.com/2008/11/how-to-load-an-xml-document-into-the-dom/</link>
		<comments>http://delphi.yiblog.com/2008/11/how-to-load-an-xml-document-into-the-dom/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 14:34:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=75</guid>
		<description><![CDATA[From here, we will look at the code that we used to create a program that enabled us to load an XML document into DOM. This article is the fourth part of a four-part series that covers Delphi, XML, and the DOM. Related posts Use XMLHTTP in Delphi (0) DIHtmlParser v5.0.0 (0)]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://www.devarticles.com/c/a/Delphi-Kylix/Loading-an-XML-Document-into-the-DOM/" target="_blank">here</a>, we will look at the code that we used to create a program that enabled us to load an XML document into DOM. This article is the fourth part of a four-part series that covers Delphi, XML, and the DOM.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/12/use-xmlhttp-in-delphi/" title="Use XMLHTTP in Delphi (December 20, 2008)">Use XMLHTTP in Delphi</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/05/dihtmlparser-v500/" title="DIHtmlParser v5.0.0 (May 1, 2009)">DIHtmlParser v5.0.0</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/how-to-load-an-xml-document-into-the-dom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>COPY, INHERIT OR USE?</title>
		<link>http://delphi.yiblog.com/2008/11/copy-inherit-or-use/</link>
		<comments>http://delphi.yiblog.com/2008/11/copy-inherit-or-use/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 23:52:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[oo]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=51</guid>
		<description><![CDATA[Do you know, you can copy, inherit or use the form in the delphi, what&#8217;s the difference? COPY, INHERIT OR USE? Code reusability saves us time and effort, increasing our productivity. Object-oriented programming has something to do with that, and in the case of Delphi we can reuse forms and even entire projects. For example [...]]]></description>
			<content:encoded><![CDATA[<p>Do you know, you can copy, inherit or use the form in the delphi, what&#8217;s the difference?</p>
<p>COPY, INHERIT OR USE?</p>
<p>Code reusability saves us time and effort, increasing our productivity. Object-oriented programming has something to do with that, and in the case of Delphi we can reuse forms and even entire projects. For example if we have a form with a table, a dbgrid, a navigator and several buttons, we can save it like a model in the Object Repository to reuse it in several parts of our application or other applications. The same for a standard form of the type &#8220;Save, Don&#8217;t save, Cancel&#8221;. To add a form to the repository you have to right-click it and select &#8220;Add to Repository&#8230;&#8221; in the context menu. To save a project in the repository choose &#8220;Add to Repository&#8230;&#8221; from the Project menu.</p>
<p>To use a form of the repository in our application, in the File menu we chose New and in the New Items dialog we click the Forms tab to see the forms available in the repository. Then we select the form we want, the method of use (Copy, Inherit, or Use) and click the OK button. The dferences between these hree methods of use are described briefly here:</p>
<p>COPY: Creates a form that is copy of the form that is in repository. The changes you make to the copy won&#8217;t affect the form in the repository (nor other projects that use it), and changes made to the form in the repository won&#8217;t affect forms previously copied from it. This option is used when the form in the repository is just a base to work, with a very low level of standardization. Full-adaptation is possible.</p>
<p>INHERIT: It creates a form that derives from the form in the repository. Changes made to this derived form (inherited) won&#8217;t affect the form in the repository, but the inverse is not true. This option is used when the form in the repository is well standardized but it is desired to allow some adaptation. It&#8217;s the most powerful way to use a form.</p>
<p>USE: It adds the form of the repository to your project. It&#8217;s not a copy, but the form of the repository itself, and thus any modification that you make to it will apply to other projects that USE or INHERIT it. This option is used when the form of the repository is a standard and is defined in itself (it doesn&#8217;t require particular adaptations for each case/application).</p>
<p>From <a href="http://www.cnblogs.com/feng801/archive/2008/11/14/1333527.html" target="_blank">here</a>.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/copy-inherit-or-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating an RSS Reader use Delphi</title>
		<link>http://delphi.yiblog.com/2008/11/creating-an-rss-reader-use-delphi/</link>
		<comments>http://delphi.yiblog.com/2008/11/creating-an-rss-reader-use-delphi/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 11:38:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=49</guid>
		<description><![CDATA[From here: Everyone who owns a website would have heard about the RSS phenomenon. Now you will get the opportunity to create your own RSS reader that will enable you to download and view RSS files on your desktop. This application will enable you to read RSS feeds from the Internet with the added advantage [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://www.devarticles.com/c/a/Delphi-Kylix/Creating-an-RSS-Reader/" target="_blank">here</a>: Everyone who owns a website would have heard about the RSS phenomenon. Now you will get the opportunity to create your own RSS reader that will enable you to download and view RSS files on your desktop. This application will enable you to read RSS feeds from the Internet with the added advantage of being able to download XML files to your local hard drive. See <a href="http://www.devarticles.com/c/a/Delphi-Kylix/Creating-an-RSS-Reader/" target="_blank">more</a> and download the source code.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/11/using-firefox-instead-of-twebbrowser-in-delphi-applications/" title="Using FireFox instead of TWebBrowser in Delphi applications (November 16, 2008)">Using FireFox instead of TWebBrowser in Delphi applications</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/how-to-check-the-email-address-input-is-validate-in-delphi/" title="How to check the email address input is validate in delphi (November 10, 2008)">How to check the email address input is validate in delphi</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/07/file-share-suggest/" title="File share suggest (July 2, 2009)">File share suggest</a> (4)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/creating-an-rss-reader-use-delphi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using FireFox instead of TWebBrowser in Delphi applications</title>
		<link>http://delphi.yiblog.com/2008/11/using-firefox-instead-of-twebbrowser-in-delphi-applications/</link>
		<comments>http://delphi.yiblog.com/2008/11/using-firefox-instead-of-twebbrowser-in-delphi-applications/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 03:02:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi tips]]></category>
		<category><![CDATA[activex]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=47</guid>
		<description><![CDATA[I found from here, it&#8217;s nice for firefox and delphi fans. By the emamlpe, we can build new web browser by firefox core. Would you like to display HTML in your applications using an open source solution? The Gecko Runtime Environment by the Mozilla Foundation can be embedded in a Delphi application by using the [...]]]></description>
			<content:encoded><![CDATA[<p>I found from <a href="http://www.paranoia.clara.net/articles/taming_the_lizard_with_delphi.html" target="_blank">here,</a> it&#8217;s nice for firefox and delphi fans. By the emamlpe, we can build new web browser by firefox core.</p>
<p>Would you like to display HTML in your applications using an open source solution? The Gecko Runtime Environment by the Mozilla Foundation can be embedded in a Delphi application by using the Mozilla ActiveX Control. This article shows how to use this control and points out some of the differences between it and the IE based TWebBrowser. The accompanying source code was written in Delphi 6 but should work in Delphi 5 and later. If you want to use the Mozilla ActiveX Control with Delphi 4 you also need to read Delphi 4 Lizard Taming.</p>
<p>First some background and terminology. In 1998 Netscape released the source code for Communicator, their Internet suite, to the open source community and created Mozilla.org. After several years development, the project finally released Mozilla 1.0 in 2002. By then Netscape had been bought by AOL, who repackaged Mozilla 1.0 as Netscape 7.0. In 2003, AOL closed its Netscape software division and the Mozilla code is now entirely controlled by the non-profit Mozilla Foundation. During development the Communicator code was completely re-written and new technologies were invented such as XUL, a cross platform UI definition language using XML, CSS and JavaScript. The Mozilla Suite of a Browser, Mail and Newsreader, HTML Composer and an Address Book is now being superseded by Firefox (browser), Thunderbird (email), and Nvu (composer). Behind all these applications is the Gecko Runtime Environment (GRE) &#8211; a fast, free and standards compliant HTML display engine.</p>
<p>All the Mozilla code is released under an MPL/GPL/LGPL tri-license so you can choose the license that suits your needs when using it. For C programmers, building applications based on the Mozilla code is easy, they can just download the code and start hacking immediately but there is also an option for the rest of us. There is an ActiveX control, written by Adam Lock, which can be used to embed the GRE in other applications. This Mozilla ActiveX Control is written to emulate the familiar IE based TWebBrowser.</p>
<p>There is little documentation for the Mozilla Control but you can use the MSDN WebBrowser documentation and ask questions in the netscape.public.mozilla.embedding newsgroup. <a href="http://www.paranoia.clara.net/articles/taming_the_lizard_with_delphi.html" target="_blank">Read more</a>.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/11/how-to-check-the-email-address-input-is-validate-in-delphi/" title="How to check the email address input is validate in delphi (November 10, 2008)">How to check the email address input is validate in delphi</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/07/file-share-suggest/" title="File share suggest (July 2, 2009)">File share suggest</a> (4)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/creating-an-rss-reader-use-delphi/" title="Creating an RSS Reader use Delphi (November 16, 2008)">Creating an RSS Reader use Delphi</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/using-firefox-instead-of-twebbrowser-in-delphi-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Did you know that it is so easy to extend Delphi 2009 IDE?</title>
		<link>http://delphi.yiblog.com/2008/11/did-you-know-that-it-is-so-easy-to-extend-delphi-2009-ide/</link>
		<comments>http://delphi.yiblog.com/2008/11/did-you-know-that-it-is-so-easy-to-extend-delphi-2009-ide/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 01:24:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[d2009]]></category>
		<category><![CDATA[open tools api]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=41</guid>
		<description><![CDATA[So simple in the delphi 2009: Delphi 2009 provides a dedicated Open Tools API interface that let you interact and extend the functionality of the Delphi and C++Builder 2009 IDE. &#8220;Eric’s Open Tools API FAQ and Resource&#8221; is probably the best place to learn about Open Tools API. Eric Berry is well known in Delphi [...]]]></description>
			<content:encoded><![CDATA[<p>So simple in the delphi 2009:</p>
<p>Delphi 2009 provides a dedicated Open Tools API interface that let you interact and extend the functionality of the Delphi and C++Builder 2009 IDE. &#8220;Eric’s Open Tools API FAQ and Resource&#8221; is probably the best place to learn about Open Tools API. Eric Berry is well known in Delphi community as author of GExperts extension to all versions of Delphi and also as expert on Tools API itself.</p>
<p>In this post I would like to provide step-by-step instructions how to create a simple menu wizard. The wizard will add an item under Delphi &#8220;Help&#8221; menu and will just display a &#8220;Hello World&#8221; message. Nothing fancy, but just a good starting point for adding some more useful functionality. <a href="http://blogs.codegear.com/pawelglowacki/2008/11/13/38529" target="_blank">Read more</a>.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/11/send-fax-directly-with-hylafax-or-msfax-v10/" title="Send fax directly with HylaFax or MSFax v.1.0 (November 27, 2008)">Send fax directly with HylaFax or MSFax v.1.0</a> (6)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/omnithreadlibrary-v101-has-been-released/" title="OmniThreadLibrary v.1.01 has been released (November 10, 2008)">OmniThreadLibrary v.1.01 has been released</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/01/direct-oracle-access-v411-for-delphi2009/" title="Direct Oracle Access v4.1.1 for Delphi2009 (January 13, 2009)">Direct Oracle Access v4.1.1 for Delphi2009</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/delphi-encryption-compedium-part-i-v52-is-published/" title="Delphi Encryption Compedium Part I v.5.2 is published (November 21, 2008)">Delphi Encryption Compedium Part I v.5.2 is published</a> (3)</li>
	<li><a href="http://delphi.yiblog.com/2008/12/delphi-2009-update-2-is-available-for-download/" title="Delphi 2009 Update 2 is available for download (December 16, 2008)">Delphi 2009 Update 2 is available for download</a> (5)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/did-you-know-that-it-is-so-easy-to-extend-delphi-2009-ide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jbstr: nice delphi string functions collection</title>
		<link>http://delphi.yiblog.com/2008/11/delphi-jbstr-string-functions/</link>
		<comments>http://delphi.yiblog.com/2008/11/delphi-jbstr-string-functions/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 05:32:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi code]]></category>
		<category><![CDATA[string]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=30</guid>
		<description><![CDATA[No dll, only pure delphi pas code, it&#8217;s jbstr.pas, written by J.BENES. The latest version is 1.33. You can download it from here ,only 30k zip file. Related posts No related posts.]]></description>
			<content:encoded><![CDATA[<p>No dll, only pure delphi pas code, it&#8217;s jbstr.pas, written by J.BENES. The latest version is 1.33.</p>
<p>You can download it from <a href="http://download.yiblog.com/delphi/code/jbstr.zip">here</a> ,only 30k zip file.</p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/delphi-jbstr-string-functions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to check the email address input is validate in delphi</title>
		<link>http://delphi.yiblog.com/2008/11/how-to-check-the-email-address-input-is-validate-in-delphi/</link>
		<comments>http://delphi.yiblog.com/2008/11/how-to-check-the-email-address-input-is-validate-in-delphi/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 15:14:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[delphi tips]]></category>
		<category><![CDATA[internet]]></category>

		<guid isPermaLink="false">http://delphi.yiblog.com/?p=28</guid>
		<description><![CDATA[This solution is from delphi3000.com, Updated on 2000-12-06 due to Phil&#8217;s and Sven&#8217;s comments. Updated on 2002-06-13 due to Carlos&#8217; comment. Thanks for improving! function IsValidEmail&#40;const Value: string&#41;: boolean; &#160; function CheckAllowed&#40;const s: string&#41;: boolean; var i: integer; begin Result:= false; for i:= 1 to Length&#40;s&#41; do begin // illegal char in s -&#38;gt; no [...]]]></description>
			<content:encoded><![CDATA[<p>This solution is from <a href="http://delphi3000.com" target="_blank">delphi3000.com</a>,</p>
<p>Updated on 2000-12-06 due to Phil&#8217;s and Sven&#8217;s comments.<br />
Updated on 2002-06-13 due to Carlos&#8217; comment.<br />
Thanks for improving!</p>

<div class="wp_syntax"><div class="code"><pre class="pascal" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> IsValidEmail<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">const</span> Value<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> CheckAllowed<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">const</span> s<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">string</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">boolean</span>;
<span style="color: #000000; font-weight: bold;">var</span>
i<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">integer</span>;
<span style="color: #000000; font-weight: bold;">begin</span>
Result<span style="color: #339933;">:=</span> <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #000000; font-weight: bold;">for</span> i<span style="color: #339933;">:=</span> <span style="color: #cc66cc;">1</span> <span style="color: #000000; font-weight: bold;">to</span> Length<span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">do</span>
<span style="color: #000000; font-weight: bold;">begin</span>
<span style="color: #666666; font-style: italic;">// illegal char in s -&amp;gt; no valid address</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">not</span> <span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #009900;">&#91;</span><span style="color: #ff0000;">'a'</span>..<span style="color: #ff0000;">'z'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'A'</span>..<span style="color: #ff0000;">'Z'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'0'</span>..<span style="color: #ff0000;">'9'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'_'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'-'</span><span style="color: #339933;">,</span><span style="color: #ff0000;">'.'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
Exit;
<span style="color: #000000; font-weight: bold;">end</span>;
Result<span style="color: #339933;">:=</span> <span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #000000; font-weight: bold;">end</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span>
i<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">integer</span>;
namePart<span style="color: #339933;">,</span> serverPart<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">string</span>;
<span style="color: #000000; font-weight: bold;">begin</span> <span style="color: #666666; font-style: italic;">// of IsValidEmail</span>
Result<span style="color: #339933;">:=</span> <span style="color: #000000; font-weight: bold;">false</span>;
i<span style="color: #339933;">:=</span> Pos<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'@'</span><span style="color: #339933;">,</span> Value<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>pos<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'..'</span><span style="color: #339933;">,</span> Value<span style="color: #009900;">&#41;</span> &amp;gt; <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
Exit;
namePart<span style="color: #339933;">:=</span> Copy<span style="color: #009900;">&#40;</span>Value<span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> i <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
serverPart<span style="color: #339933;">:=</span> Copy<span style="color: #009900;">&#40;</span>Value<span style="color: #339933;">,</span> i <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> Length<span style="color: #009900;">&#40;</span>Value<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>Length<span style="color: #009900;">&#40;</span>namePart<span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>         <span style="color: #666666; font-style: italic;">// @ or name missing</span>
<span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>Length<span style="color: #009900;">&#40;</span>serverPart<span style="color: #009900;">&#41;</span> &amp;lt; <span style="color: #cc66cc;">4</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>   <span style="color: #666666; font-style: italic;">// name or server missing or</span>
<span style="color: #000000; font-weight: bold;">then</span> Exit;                      <span style="color: #666666; font-style: italic;">// too short</span>
i<span style="color: #339933;">:=</span> Pos<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">'.'</span><span style="color: #339933;">,</span> serverPart<span style="color: #009900;">&#41;</span>;
<span style="color: #666666; font-style: italic;">// must have dot and at least 3 places from end</span>
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>i &amp;lt; <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">or</span> <span style="color: #009900;">&#40;</span>i &amp;gt; <span style="color: #009900;">&#40;</span>Length<span style="color: #009900;">&#40;</span>serverPart<span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">then</span>
Exit;
Result<span style="color: #339933;">:=</span> CheckAllowed<span style="color: #009900;">&#40;</span>namePart<span style="color: #009900;">&#41;</span> <span style="color: #000066;">and</span> CheckAllowed<span style="color: #009900;">&#40;</span>serverPart<span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">end</span>;</pre></div></div>


	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://delphi.yiblog.com/2008/11/using-firefox-instead-of-twebbrowser-in-delphi-applications/" title="Using FireFox instead of TWebBrowser in Delphi applications (November 16, 2008)">Using FireFox instead of TWebBrowser in Delphi applications</a> (0)</li>
	<li><a href="http://delphi.yiblog.com/2009/07/file-share-suggest/" title="File share suggest (July 2, 2009)">File share suggest</a> (4)</li>
	<li><a href="http://delphi.yiblog.com/2008/11/creating-an-rss-reader-use-delphi/" title="Creating an RSS Reader use Delphi (November 16, 2008)">Creating an RSS Reader use Delphi</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://delphi.yiblog.com/2008/11/how-to-check-the-email-address-input-is-validate-in-delphi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
