<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8579384</id><updated>2011-12-15T04:47:49.338+02:00</updated><title type='text'>Oktay Sancak's Programming Tips</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oktaysancak-tips.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oktaysancak-tips.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oktay Sancak</name><uri>http://www.blogger.com/profile/15877137416397689365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8579384.post-110691960686155489</id><published>2005-01-28T15:20:00.000+02:00</published><updated>2005-01-28T16:15:19.463+02:00</updated><title type='text'>Cancel a thread in the middle of execution</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Q: I got a little problem. I do work on an application which is going to download different stuff from the internet, and I got a little problem with the threads. I use some classes that can use up to 5 seconds to complete (like Connect), and it all runs after eachother (not a big loop for the entire thread, but a task, start to end). Therefore I can't use the easy, classic, Cancel := True, if cancel = True then Exit; way. I did try most procedures in TThread to cancel it, like Terminate, DoTerminate, Suspend, etc..., but none of them seems to cancel it. Is there some not too hard way to simply terminate/cancel, and then free the Thread without having to add extra If Cancel = True ..... code in the Execute procedure (I can't do that, because it doesn't run in a loop, and some of the procedures inside that thread takes time to do, and I can't do that If Cancel = True between each line of code).&lt;br /&gt;&lt;br /&gt;Another extra question, what is the difference between Destroy, and Free when I free a component, or class (like TMemoryStream)? Which of them frees it fully (returns just as many bytes as it took when I created it)?&lt;br /&gt;&lt;br /&gt;Answer :&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Free method is doing the same work with Destroy but there is a little difference :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;procedure TObject.Free;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;if Self &lt;&gt; nil then&lt;br /&gt;&amp;nbsp;&amp;nbsp;Destroy;&lt;br /&gt;end;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Free method is a procedure of TObject class. When you use TObject.Free, first of all it checks if this object nil or not then if it's not nil, it destroys the component. This protects you from to destroy a destroyed component and escape you from an error. This is the reason why Borland suggest you to use Free instead of Destroy. Because it's more secure.&lt;br /&gt;&lt;br /&gt;When you free an object, it's not means that nil assigned to it. So most of the programmers using FreeAndNil(var Object) procedure, which has this code inside it :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;procedure FreeAndNil(var Obj);&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;Temp: TObject;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;Temp := TObject(Obj);&lt;br /&gt;&amp;nbsp;&amp;nbsp;Pointer(Obj) := nil;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Temp.Free;&lt;br /&gt;end;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Take a look at this, first of all 'nil' assigned to the object and then this object frees.&lt;br /&gt;&lt;br /&gt;You can design your thread class like this :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;unit Unit1;&lt;br /&gt;&lt;br /&gt;interface&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;&amp;nbsp;&amp;nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;&amp;nbsp;&amp;nbsp;TForm1 = class(TForm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IdTCPClient1: TIdTCPClient;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure FormCreate(Sender: TObject);&lt;br /&gt;&amp;nbsp;&amp;nbsp;private&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations }&lt;br /&gt;&amp;nbsp;&amp;nbsp;public&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations }&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;TMyThread = class(TThread)&lt;br /&gt;&amp;nbsp;&amp;nbsp;private&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FSocks: array[0..2] of TIdTCPClient;&lt;br /&gt;&amp;nbsp;&amp;nbsp;protected&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure Execute;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;constructor Create(ConnIP: string; ConnPort);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure StopConnections;&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;Form1: TForm1;&lt;br /&gt;&lt;br /&gt;implementation&lt;br /&gt;&lt;br /&gt;{$R *.dfm}&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormCreate(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;{ TMyThread }&lt;br /&gt;&lt;br /&gt;constructor TMyThread.Create(ConnIP: string; ConnPort);&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;i: integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;for i := 0 to 2 do&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FSocks[i] := TIdTCPClient.Create(nil);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FSocks[i].Host := ConnIP;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FSocks[i].Port := 381;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FSocks[i].Connect;&lt;br /&gt;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;inherited Create(True);&lt;br /&gt;&amp;nbsp;&amp;nbsp;FreeOnTerminate := True;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TMyThread.Execute;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;// internet stuff here&lt;br /&gt;&amp;nbsp;&amp;nbsp;Terminate;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TMyThread.StopConnections;&lt;/span&gt;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;i: integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;Suspend;&lt;br /&gt;&amp;nbsp;&amp;nbsp;for i := 0 to 2 do&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FSocks[i].Disconnect;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(FSocks[i]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Terminate;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;end.&lt;br /&gt;&lt;br /&gt;Author: &lt;a href="mailto:oktaysancak@gmail.com" target="_blank"&gt;Oktay Sancak&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;For to stop your connections with this class, all you need to do is calling StopConnections. Then after to close all the connections, thread will terminate itself.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579384-110691960686155489?l=oktaysancak-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oktaysancak-tips.blogspot.com/feeds/110691960686155489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579384&amp;postID=110691960686155489' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/110691960686155489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/110691960686155489'/><link rel='alternate' type='text/html' href='http://oktaysancak-tips.blogspot.com/2005/01/cancel-thread-in-middle-of-execution.html' title='Cancel a thread in the middle of execution'/><author><name>Oktay Sancak</name><uri>http://www.blogger.com/profile/15877137416397689365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579384.post-109686050767304914</id><published>2004-10-04T06:28:00.000+03:00</published><updated>2004-10-04T06:31:28.853+03:00</updated><title type='text'>Preventing the application close</title><content type='html'>&lt;b&gt;Q: I want to prevent the user from closing the application. When windows closes I want the application to do some tasks then close and then windows close.&lt;br /&gt;&lt;br /&gt;Answer:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;unit Unit1;&lt;br /&gt;&lt;br /&gt;interface&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;&amp;nbsp;&amp;nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;&amp;nbsp;&amp;nbsp;TForm1 = class(TForm)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btnCloseAllow: TButton;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;btnCloseDecline: TButton;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure FormCreate(Sender: TObject);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure btnCloseAllowClick(Sender: TObject);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure btnCloseDeclineClick(Sender: TObject);&lt;br /&gt;&amp;nbsp;&amp;nbsp;private&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Private declarations }&lt;br /&gt;&amp;nbsp;&amp;nbsp;public&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Public declarations }&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;Form1: TForm1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;IsCloseAllowed: Boolean;&lt;br /&gt;&lt;br /&gt;implementation&lt;br /&gt;&lt;br /&gt;{$R *.dfm}&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormCreate(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;IsCloseAllowed := False;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.btnCloseAllowClick(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;IsCloseAllowed := True;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;CanClose := IsCloseAllowed;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.btnCloseDeclineClick(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;IsCloseAllowed := False;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;end.&lt;br /&gt;&lt;br /&gt;Author: &lt;a href="mailto:oktaysancak@yahoo.co.uk" target="_blank"&gt;Oktay Sancak&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579384-109686050767304914?l=oktaysancak-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oktaysancak-tips.blogspot.com/feeds/109686050767304914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579384&amp;postID=109686050767304914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109686050767304914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109686050767304914'/><link rel='alternate' type='text/html' href='http://oktaysancak-tips.blogspot.com/2004/10/preventing-application-close.html' title='Preventing the application close'/><author><name>Oktay Sancak</name><uri>http://www.blogger.com/profile/15877137416397689365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579384.post-109686031790227591</id><published>2004-10-04T06:25:00.000+03:00</published><updated>2004-10-04T06:25:17.903+03:00</updated><title type='text'>Communicate between Desktop and Web apps</title><content type='html'>&lt;b&gt;Q: How can i pass variables between a Delphi app and PHP form on the web ?&lt;br /&gt;&lt;br /&gt;Answer: &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;- Delphi Side -&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;procedure TForm1.btnLoginClick(Sender: TObject);&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;SL: TStringList;&lt;br /&gt;&amp;nbsp;&amp;nbsp;i: integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;SL := TSTringList.Create;&lt;br /&gt;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SL.Values['username'] := 'JDJVR';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SL.Values['password'] := 'mypass19';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SL.Text := Http.Post('http://localhost/logintest.php', SL);&lt;br /&gt;  &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (SL.Text = 'OK') then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Caption := 'User authorized..';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Caption := 'User could not authorized';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;finally&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SL.Free;&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;- PHP Side -&lt;br /&gt;&lt;br /&gt;(i) check the username and password :&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;$username = $_POST[username];&lt;br /&gt;&amp;nbsp;&amp;nbsp;$password = $_POST[password];&lt;br /&gt;&lt;br /&gt;(ii) return the result with echo or print function&lt;br /&gt;&lt;br /&gt;Author: &lt;a href="mailto:oktaysancak@yahoo.co.uk" target="_blank"&gt;Oktay Sancak&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579384-109686031790227591?l=oktaysancak-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oktaysancak-tips.blogspot.com/feeds/109686031790227591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579384&amp;postID=109686031790227591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109686031790227591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109686031790227591'/><link rel='alternate' type='text/html' href='http://oktaysancak-tips.blogspot.com/2004/10/communicate-between-desktop-and-web.html' title='Communicate between Desktop and Web apps'/><author><name>Oktay Sancak</name><uri>http://www.blogger.com/profile/15877137416397689365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579384.post-109685997665427955</id><published>2004-10-04T06:19:00.000+03:00</published><updated>2004-10-04T06:19:36.653+03:00</updated><title type='text'>Is CheckBox's Item Enable or Disable ?</title><content type='html'>&lt;b&gt;Q: I want to be able to do :&lt;br /&gt;&lt;br /&gt;for i := 0 to numberItems do &lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;if checklistbox.checked[i] = true then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// do something..&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;but I cant find a property for the number of items in a Checklistbox !! &lt;br /&gt;&lt;br /&gt;Answer :&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;i: integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;for i := 0 to CheckListBox1.Items.Count - 1 do&lt;br /&gt;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if CheckListBox1.ItemEnabled[i] then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// do something..&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;Author: &lt;a href="mailto:oktaysancak@yahoo.co.uk" target="_blank"&gt;Oktay Sancak&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579384-109685997665427955?l=oktaysancak-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oktaysancak-tips.blogspot.com/feeds/109685997665427955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579384&amp;postID=109685997665427955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109685997665427955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109685997665427955'/><link rel='alternate' type='text/html' href='http://oktaysancak-tips.blogspot.com/2004/10/is-checkboxs-item-enable-or-disable.html' title='Is CheckBox&apos;s Item Enable or Disable ?'/><author><name>Oktay Sancak</name><uri>http://www.blogger.com/profile/15877137416397689365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8579384.post-109685916739561656</id><published>2004-10-04T06:06:00.000+03:00</published><updated>2004-10-04T06:14:14.363+03:00</updated><title type='text'>Split String</title><content type='html'>&lt;b&gt;Q: I have this as a string&lt;br /&gt;123:321&lt;br /&gt;&lt;br /&gt;How can I split it into 2 strings by &amp;#8220;:&amp;#8221; character ?&lt;br /&gt;&lt;br /&gt;123:321 into&lt;br /&gt;String1 = 123&lt;br /&gt;String2 = 321&lt;br /&gt;&lt;br /&gt;Answer:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;StrL: TStringList;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;StrL := TStringList.Create;&lt;br /&gt;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StrL.Delimiter := &amp;lsquo;:&amp;rsquo;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StrL.DelimitedText := &amp;lsquo;123:321';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Caption := StrL.Strings[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;finally&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StrL.Free;&lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;end; &lt;br /&gt;&lt;br /&gt;Author: &lt;a href="mailto:oktaysancak@yahoo.co.uk" target="_blank"&gt;Oktay Sancak&lt;/a&gt; &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8579384-109685916739561656?l=oktaysancak-tips.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oktaysancak-tips.blogspot.com/feeds/109685916739561656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8579384&amp;postID=109685916739561656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109685916739561656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8579384/posts/default/109685916739561656'/><link rel='alternate' type='text/html' href='http://oktaysancak-tips.blogspot.com/2004/10/split-string.html' title='Split String'/><author><name>Oktay Sancak</name><uri>http://www.blogger.com/profile/15877137416397689365</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
