<?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-31723219</id><updated>2011-11-28T00:52:34.977Z</updated><category term='Mutex'/><category term='Wake up On LAN'/><category term='Cut'/><category term='TActionList'/><category term='Download'/><category term='HelperClass'/><category term='Aryan Kurapaty'/><category term='Prism'/><category term='MessageDlg'/><category term='IServiceBehavior'/><category term='Non - VCL'/><category term='Spreadsheet'/><category term='Files'/><category term='Windows'/><category term='Schema'/><category term='VCL'/><category term='Paste'/><category term='TNetResources'/><category term='Embarcadero'/><category term='File Mapping'/><category term='Net'/><category term='ComboBox'/><category term='Delphi'/><category term='CRC'/><category term='Windows Service'/><category term='GrabberLine'/><category term='deserialize'/><category term='Send MAPI'/><category term='Admin Rights'/><category term='Online Movie Links'/><category term='LINQ'/><category term='OpenSCManager'/><category term='WM_COPY'/><category term='AsyncOperation'/><category term='ShellCtrls'/><category term='Web Services'/><category term='XML'/><category term='format'/><category term='Cyclic Redundancy Check'/><category term='WOL'/><category term='AsyncContext'/><category term='Grammer'/><category term='ClipboardEventHandler'/><category term='VBA'/><category term='Unicode'/><category term='DateTime'/><category term='OnColumnClick'/><category term='IEndpointBehavior'/><category term='Copy'/><category term='ShowMessage'/><category term='WideString'/><category term='VB.Net'/><category term='ASP.Net'/><category term='serialize'/><category term='.Net Colors'/><category term='TCheckbox'/><category term='WM_PASTE'/><category term='Borland'/><category term='Codegear'/><category term='Excel'/><category term='Vista'/><category term='Microsoft'/><category term='XP'/><category term='Windows Key'/><category term='DockFrame'/><category term='.Net'/><category term='MessageBox'/><category term='TColor'/><category term='ActionItem'/><category term='ProgressChangedEventArgs'/><category term='TimeStamp'/><category term='XLS'/><category term='Configuration'/><category term='string'/><category term='SMTP'/><category term='General'/><category term='Anders Hejlsberg'/><category term='TSpellCheck'/><category term='Win32'/><category term='Specal Characters'/><category term='NativeWindow'/><category term='Paint'/><category term='TextBox'/><category term='NT Service'/><category term='OpenService'/><category term='WM_CUT'/><category term='BackgrounWorker'/><category term='string.format'/><category term='OnCustomDraw'/><category term='Internet'/><category term='Thread'/><category term='Send Mail'/><category term='Dialog'/><category term='ComboBoxEx'/><category term='Shortcuts'/><category term='Aditi Kurapaty'/><category term='StringFormat'/><category term='TListView'/><category term='C#'/><category term='SOAP'/><category term='Canvas'/><category term='TShellTreeView'/><category term='EmptyStr'/><category term='TextBoxEx'/><category term='WCF'/><category term='RAD Studio 2010'/><category term='Draw'/><category term='Frame'/><category term='ServiceManager'/><category term='Asynchronous'/><category term='Spell Checker'/><category term='Enum'/><category term='Aryan'/><category term='Rect'/><category term='Commandline'/><title type='text'>Delphi, C# .NET Tips &amp; Tricks</title><subtitle type='html'>THIS BLOG IS AIMED AT DELPHI, C#.NET, ASP.NET PROFESSIONALS WHO ARE NEW TO THE COMMUNITY AND LOOKING FOR TIPS AND TRICKS. IT WILL HOPEFULLY SHOW YOU HOW AND WHERE TO GET HELP BUT WILL NOT TELL YOU HOW TO DO YOUR JOB - THAT BIT IS UP TO YOU.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-31723219.post-180811663361408401</id><published>2011-10-12T12:45:00.000+01:00</published><updated>2011-10-12T12:45:24.863+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='format'/><category scheme='http://www.blogger.com/atom/ns#' term='string.format'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='string'/><category scheme='http://www.blogger.com/atom/ns#' term='StringFormat'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net'/><title type='text'>.Net string.format to Delphi StringFormat</title><summary type='text'>Well I have been busy working in .NET and thought to add "string.format" functionality in Delphi. I am not quite sure if this functionality exists in new versions of Delphi??? AFAIK, this is not available until D7.


{------------------------------------------------------------------------
  Procedure: StringFormat
  Author:    Kiran Kurapaty
  Date:      02-Jan-2011
  Arguments: const AFormat: </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/180811663361408401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=180811663361408401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/180811663361408401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/180811663361408401'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2011/10/net-stringformat-to-delphi-stringformat.html' title='.Net string.format to Delphi StringFormat'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-2976160043600350940</id><published>2010-12-01T16:44:00.000Z</published><updated>2010-12-01T16:44:47.952Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='TSpellCheck'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Spell Checker'/><category scheme='http://www.blogger.com/atom/ns#' term='Grammer'/><category scheme='http://www.blogger.com/atom/ns#' term='TActionList'/><category scheme='http://www.blogger.com/atom/ns#' term='ActionItem'/><title type='text'>Using MS Word as a Spelling and Grammar Checker for Delphi</title><summary type='text'>The COM interface exposed by MS Word gives a number of mechanisms for the use of the spelling engine. 
The Word.Application object can call the engine for a single word or string. The return value is a Boolean indicating True (no errors) or False (errors). Further work must be done to provide spelling suggestions / correction.
The Document object contained by the Word.Application object exposes </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/2976160043600350940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=2976160043600350940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2976160043600350940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2976160043600350940'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/12/using-ms-word-as-spelling-and-grammar.html' title='Using MS Word as a Spelling and Grammar Checker for Delphi'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7430497053662975589</id><published>2010-11-26T14:48:00.000Z</published><updated>2010-11-26T14:48:56.531Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='TColor'/><category scheme='http://www.blogger.com/atom/ns#' term='.Net Colors'/><title type='text'>.Net Color codes in Delphi</title><summary type='text'>Recently we had requirement where we need to show some of the dot net colours in Delphi app. So, I have converted some of the predefined .NET colour codes to Delphi Hex format. Hope you guys find it useful.
I really appreciate if you have something to add to the list. ;-)

const
  clAmber = TColor($004094FF);
  clAliceBlue = TColor($00FFF8F0);
  clAntiqueWhite = TColor($00D7EBFA);
  clAqua = </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7430497053662975589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7430497053662975589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7430497053662975589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7430497053662975589'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/11/net-color-codes-in-delphi.html' title='.Net Color codes in Delphi'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-8856423081407423738</id><published>2010-11-26T14:23:00.000Z</published><updated>2010-11-26T14:23:37.641Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='GrabberLine'/><category scheme='http://www.blogger.com/atom/ns#' term='Non - VCL'/><category scheme='http://www.blogger.com/atom/ns#' term='DockFrame'/><category scheme='http://www.blogger.com/atom/ns#' term='Canvas'/><title type='text'>Draw Grabber Line on Canvas / Form</title><summary type='text'>Below is the code snippet to draw a Grabber line... Its all self explainatory
const
  GrabberSize = 12;

procedure TForm1.DoPaintSidePanel();

procedure DrawGrabberLine(ALeft, ATop, ARight, ABottom: Integer);
begin
  with Canvas do
  begin
    Pen.Color := clBtnHighlight;
    MoveTo(ARight, ATop);
    LineTo(ALeft, ATop);
    LineTo(ALeft, ABottom);
    Pen.Color := clBtnShadow;
    LineTo(ARight</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/8856423081407423738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=8856423081407423738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/8856423081407423738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/8856423081407423738'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/11/draw-grabber-line-on-canvas-form.html' title='Draw Grabber Line on Canvas / Form'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-3980067120897052734</id><published>2010-08-16T13:47:00.000+01:00</published><updated>2010-08-16T13:47:39.193+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='serialize'/><category scheme='http://www.blogger.com/atom/ns#' term='SOAP'/><category scheme='http://www.blogger.com/atom/ns#' term='deserialize'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='Specal Characters'/><category scheme='http://www.blogger.com/atom/ns#' term='Unicode'/><title type='text'>Replacing special characters from SOAP object / DB string</title><summary type='text'>Finding the special characters in XML / SOAP / Database string sometimes it is painful. I've recently come across similar situation where user has copied the text from Word document and paste in Rich text editor / text editor. Error has occurred while processing the text to deserialize / saving it to database.
Code below is used to replace some known special character but you can keep adding the </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/3980067120897052734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=3980067120897052734' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/3980067120897052734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/3980067120897052734'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/08/replacing-special-characters-from-soap.html' title='Replacing special characters from SOAP object / DB string'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-760375763567244478</id><published>2010-08-12T17:39:00.002+01:00</published><updated>2010-10-20T14:42:57.274+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TextBox'/><category scheme='http://www.blogger.com/atom/ns#' term='TextBoxEx'/><category scheme='http://www.blogger.com/atom/ns#' term='ComboBoxEx'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Cut'/><category scheme='http://www.blogger.com/atom/ns#' term='Paste'/><category scheme='http://www.blogger.com/atom/ns#' term='Copy'/><category scheme='http://www.blogger.com/atom/ns#' term='WM_PASTE'/><category scheme='http://www.blogger.com/atom/ns#' term='ClipboardEventHandler'/><category scheme='http://www.blogger.com/atom/ns#' term='ComboBox'/><category scheme='http://www.blogger.com/atom/ns#' term='WM_COPY'/><category scheme='http://www.blogger.com/atom/ns#' term='WM_CUT'/><category scheme='http://www.blogger.com/atom/ns#' term='NativeWindow'/><title type='text'>Cut, Copy, Paste events on TextBox &amp; ComboBox in C# .NET</title><summary type='text'>Well, I have been wondering why .NET hasn't got the Cut, Copy, Paste events on editor controls like TextBox, RichTextEditor, ListView, ComboBox and TreeView ???
Anyways, here I have got these events for you...
First we will extend / inherit the standard TextBox to TextBoxEx as in TextBoxEx.cs below
using System;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/760375763567244478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=760375763567244478' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/760375763567244478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/760375763567244478'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/08/cut-copy-paste-events-on-textbox.html' title='Cut, Copy, Paste events on TextBox &amp; ComboBox in C# .NET'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-585367909622814906</id><published>2010-07-06T16:11:00.000+01:00</published><updated>2010-07-06T16:11:20.063+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows Key'/><category scheme='http://www.blogger.com/atom/ns#' term='XP'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Shortcuts'/><title type='text'>Windows Key Combination</title><summary type='text'>Not Delphi/C# this time but Windows XP -rather, for those who still using antique version ;-)
Below is the key combination with “Windows” key and press
L: Lock screen
R: Start-&gt; Run
E: Explorer window
F: Find window
D: shows Desktop (press again to restore)
M: Minimize all (won't restore them afterwards)
Pause/Break: System properties/My Computer properties
Tab: switch between process buttons in </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/585367909622814906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=585367909622814906' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/585367909622814906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/585367909622814906'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/07/windows-key-combination.html' title='Windows Key Combination'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-5380669036241145927</id><published>2010-03-26T14:54:00.000Z</published><updated>2010-03-26T14:54:22.709Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Commandline'/><category scheme='http://www.blogger.com/atom/ns#' term='HelperClass'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Commandline HelperClass in C#</title><summary type='text'>using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Text.RegularExpressions;

namespace Kurapaty.Solutions.Utils
{
	/// 
	/// Commandline Arguments Parser class
	/// 
	/// 
	/// Source: 
	/// 
	public class Arguments
	{
		/// 
		/// Splits the command line. When main(string[] args) is used escaped quotes (ie a path</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/5380669036241145927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=5380669036241145927' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5380669036241145927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5380669036241145927'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/03/commandline-helperclass-in-c.html' title='Commandline HelperClass in C#'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-8716057169934668939</id><published>2010-03-26T14:39:00.001Z</published><updated>2010-03-26T14:43:37.943Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Commandline'/><category scheme='http://www.blogger.com/atom/ns#' term='HelperClass'/><title type='text'>Delphi 6 Commandline Helper Class</title><summary type='text'>unit uCmdLineHelper;

interface

uses Windows, Classes, SysUtils;

  type
  TCommandLineHelper = class(TObject)
  private
    function GetNextParam(var CmdLine: PChar; Buffer: PChar; Len: PInteger): Boolean;
    function GetParamCount: Integer;
    function GetCommandLine: string;
    function GetParamStr(Index: Integer): String;
    function GetHasParam(Value: String): Boolean;
  public
    </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/8716057169934668939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=8716057169934668939' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/8716057169934668939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/8716057169934668939'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2010/03/delphi-6-commandline-helper-class.html' title='Delphi 6 Commandline Helper Class'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7146723608654970506</id><published>2009-12-30T12:30:00.001Z</published><updated>2009-12-30T12:35:38.894Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='ProgressChangedEventArgs'/><category scheme='http://www.blogger.com/atom/ns#' term='AsyncOperation'/><category scheme='http://www.blogger.com/atom/ns#' term='BackgrounWorker'/><category scheme='http://www.blogger.com/atom/ns#' term='Asynchronous'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='AsyncContext'/><title type='text'>Reporting Progress status using Asynchronous / BackgroundWorker</title><summary type='text'>
Well, this is an example to show how to create an Asynchronous methods / calls conforming to the Event-based Asynchronous pattern. This example demonstrate how to use BackgroundWorker and Asynchronous methods to report the progress status of the task you are performing.

File 1: Entity.cs

using System;
using System.ComponentModel;
using System.Threading;
using System.Runtime.Remoting.Messaging;</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7146723608654970506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7146723608654970506' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7146723608654970506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7146723608654970506'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2009/12/reporting-progress-status-using.html' title='Reporting Progress status using Asynchronous / BackgroundWorker'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7149531770585276964</id><published>2009-12-11T16:27:00.000Z</published><updated>2009-12-11T16:27:00.962Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Schema'/><category scheme='http://www.blogger.com/atom/ns#' term='Configuration'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>WCF Configuration Schema</title><summary type='text'>
</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7149531770585276964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7149531770585276964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7149531770585276964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7149531770585276964'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2009/12/wcf-configuration-schema.html' title='WCF Configuration Schema'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_rOyHesmPrIE/SyJyj6aPfLI/AAAAAAAACqI/GUzV7yx6zC8/s72-c/WcfConfigurationSchema.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-1507583215853677070</id><published>2009-12-10T10:08:00.005Z</published><updated>2009-12-10T10:22:48.957Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IServiceBehavior'/><category scheme='http://www.blogger.com/atom/ns#' term='IEndpointBehavior'/><category scheme='http://www.blogger.com/atom/ns#' term='WCF'/><title type='text'>Difference between IServiceBehavior and IEndpointBehavior</title><summary type='text'>I believe this could sound silly, but for those who are fairly new to WCF definitely would like know. By looking at the interface names, we can say that one is for extending the "Service" and the other is for extending "Endpoints". We have recently done couple of interesting things in our organization and thought would share this information with you guys.The ApplyDispatchBehavior method on </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/1507583215853677070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=1507583215853677070' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1507583215853677070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1507583215853677070'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2009/12/difference-between-iservicebehavior-and.html' title='Difference between IServiceBehavior and IEndpointBehavior'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-4739224846346445673</id><published>2009-08-06T22:39:00.002+01:00</published><updated>2009-08-06T22:42:59.311+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Embarcadero'/><category scheme='http://www.blogger.com/atom/ns#' term='Prism'/><category scheme='http://www.blogger.com/atom/ns#' term='RAD Studio 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Borland'/><category scheme='http://www.blogger.com/atom/ns#' term='Codegear'/><title type='text'>Get Ready for Delphi RAD Studio 2010</title><summary type='text'>New features include:IDE Insight – a timesaving tool to easily find files, components, features and settings using simple keystrokes and search termsCode Formatter – to implement consistent coding styles with minimal effortClass Explorer – for a configurable hierarchical view of class libraries throughout a project and enabling fast navigation to declarations and implementations and now available</summary><link rel='related' href='http://www.embarcadero.com/rad-studio-2010/' title='Get Ready for Delphi RAD Studio 2010'/><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/4739224846346445673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=4739224846346445673' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/4739224846346445673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/4739224846346445673'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2009/08/get-ready-for-delphi-rad-studio-2010.html' title='Get Ready for Delphi RAD Studio 2010'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-2471227769200649510</id><published>2008-08-19T14:44:00.011+01:00</published><updated>2009-10-20T12:49:27.294+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Anders Hejlsberg'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>What is LINQ?</title><summary type='text'>LINQ stands for Language-Integrated Query is a set of features in Visual Studio 2008 (code name "Orcas") that extends powerful query capabilities to the language syntax of C# and Visual Basic. Microsoft previous efforts (Windows Communication Foundation WCF, Windows Workflow Foundation WWF, Windows Presentation Foundation WPF, Windows CardSpace and LINQ) are integrated in this Studio. LINQ </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/2471227769200649510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=2471227769200649510' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2471227769200649510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2471227769200649510'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/08/what-is-linq.html' title='What is LINQ?'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-5052952117576442639</id><published>2008-08-18T16:34:00.002+01:00</published><updated>2008-08-18T16:38:47.697+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='WideString'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.Net'/><category scheme='http://www.blogger.com/atom/ns#' term='EmptyStr'/><title type='text'>Consuming ASP.NET 2.0 Web Services in Delphi for Win32</title><summary type='text'>This is a very good article by Dr.Bob. Please read it whenever you find some time, it really helps! Thanks so much to Dr.Bob.</summary><link rel='related' href='http://www.bobswart.nl/weblog/Blog.aspx?RootId=5:798' title='Consuming ASP.NET 2.0 Web Services in Delphi for Win32'/><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/5052952117576442639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=5052952117576442639' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5052952117576442639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5052952117576442639'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/08/consuming-aspnet-20-web-services-in.html' title='Consuming ASP.NET 2.0 Web Services in Delphi for Win32'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-2145617400849717654</id><published>2008-06-13T16:34:00.001+01:00</published><updated>2008-06-13T16:36:47.703+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBA'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='DateTime'/><category scheme='http://www.blogger.com/atom/ns#' term='TimeStamp'/><title type='text'>Difference between two different time stamps</title><summary type='text'>Today I had a cute requirement which is pretty small. The user want tosee the time difference between two different time stamps.Steps to dothis1) Create a column Date1 of DateTime2) Create a column Date2 ofDateTime3) Create another column of Datatype Calculated type.then enterthe following formula in that column settings =TEXT([DATE2]-[DATE1],"H:MM").then you are done--Posted By "Murali Krishna" </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/2145617400849717654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=2145617400849717654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2145617400849717654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2145617400849717654'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/06/difference-between-two-different-time.html' title='Difference between two different time stamps'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7389330917003438725</id><published>2008-05-29T11:52:00.001+01:00</published><updated>2008-05-29T11:56:19.310+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>Delphi 7 is now compatible with Vista</title><summary type='text'>Delphi 7 is now compatible with Vista, or Vista is now compatible with Delphi 7... anyway you look at it, I find this amusing.Read it  on  marco's tech world.</summary><link rel='related' href='http://blog.marcocantu.com/blog/delphi7_vista_compatible.html' title='Delphi 7 is now compatible with Vista'/><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7389330917003438725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7389330917003438725' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7389330917003438725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7389330917003438725'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/05/delphi-7-is-now-compatible-with-vista.html' title='Delphi 7 is now compatible with Vista'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7158151799723560099</id><published>2008-05-29T11:41:00.008+01:00</published><updated>2009-10-20T12:50:52.492+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='ServiceManager'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSCManager'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Service'/><category scheme='http://www.blogger.com/atom/ns#' term='NT Service'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenService'/><title type='text'>Managing NT Services from Delphi</title><summary type='text'>{------------------------------------------------------------------------------------- Unit:      uServiceManager.pas Purpose:   Wrapper around some of the Windows API Functions supporting NT-Services.            The following class TServiceManager can be used to manage your NT-Services.            You can do things like start, stop, pause or querying a services status. Author:    Kiran Kurapaty.</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7158151799723560099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7158151799723560099' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7158151799723560099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7158151799723560099'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/05/managing-nt-services-from-delphi.html' title='Managing NT Services from Delphi'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-794350052743834652</id><published>2008-04-07T17:52:00.000+01:00</published><updated>2008-04-07T17:53:00.138+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WOL'/><category scheme='http://www.blogger.com/atom/ns#' term='Wake up On LAN'/><title type='text'>WOL - Wake up On LAN - How to set it up</title><summary type='text'></summary><link rel='related' href='http://itworkerdaily.wordpress.com/2007/06/01/wol-wake-up-on-lan-how-to-set-it-up/' title='WOL - Wake up On LAN - How to set it up'/><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/794350052743834652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=794350052743834652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/794350052743834652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/794350052743834652'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/04/wol-wake-up-on-lan-how-to-set-it-up.html' title='WOL - Wake up On LAN - How to set it up'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-6137170112257413514</id><published>2008-02-15T11:52:00.003Z</published><updated>2009-11-03T21:54:10.220Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='TShellTreeView'/><category scheme='http://www.blogger.com/atom/ns#' term='ShellCtrls'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>Adding CheckBox to a TShellTreeView</title><summary type='text'>unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ShellCtrls,  ComCtrls;type  TCheckBoxShellTreeView = class(TShellTreeView)  public    procedure CreateParams(var Params: TCreateParams); override;  end;  TForm1 = class(TForm)    procedure FormCreate(Sender: TObject);    procedure FormDestroy(Sender: TObject);  private    { Private </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/6137170112257413514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=6137170112257413514' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/6137170112257413514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/6137170112257413514'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/02/adding-checkbox-to-tshelltreeview.html' title='Adding CheckBox to a TShellTreeView'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-444322788185105302</id><published>2008-01-30T19:00:00.003Z</published><updated>2009-11-03T21:56:10.918Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Net'/><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='Enum'/><category scheme='http://www.blogger.com/atom/ns#' term='TNetResources'/><title type='text'>WNet Enum Class</title><summary type='text'>WNetEnumClass. This class implements the discovery of connected computers, drives, and printers, using the WNet functions.TODO:  Add an array of all TNetResources, and functions to allow their access from the calling app. Or more properly, functions that will return useful info from the TNetResources, simplifying the determination of device type, and so on.USAGE: var    Obj :TWNetEnumClass; begin</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/444322788185105302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=444322788185105302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/444322788185105302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/444322788185105302'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/01/wnet-enum-class.html' title='WNet Enum Class'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-2182546124763282137</id><published>2008-01-30T18:39:00.002Z</published><updated>2009-11-03T21:56:44.551Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Excel'/><category scheme='http://www.blogger.com/atom/ns#' term='Spreadsheet'/><category scheme='http://www.blogger.com/atom/ns#' term='XLS'/><category scheme='http://www.blogger.com/atom/ns#' term='Files'/><title type='text'>Creating Excel (XLS) from Delphi</title><summary type='text'>const  CXlsBof: array[0..5] of Word = ($809, 8, 00, $10, 0, 0);  CXlsEof: array[0..1] of Word = ($0A, 00);  CXlsLabel: array[0..5] of Word = ($204, 0, 0, 0, 0, 0);  CXlsNumber: array[0..4] of Word = ($203, 14, 0, 0, 0);  CXlsRk: array[0..4] of Word = ($27E, 10, 0, 0, 0);procedure XlsBeginStream(XlsStream: TStream; const BuildNumber: Word);begin  CXlsBof[4] := BuildNumber;  XlsStream.WriteBuffer(</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/2182546124763282137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=2182546124763282137' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2182546124763282137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2182546124763282137'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/01/creating-excel-xls-from-delphi.html' title='Creating Excel (XLS) from Delphi'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7780438996368401082</id><published>2008-01-30T18:34:00.002Z</published><updated>2009-11-03T21:56:59.981Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Frame'/><category scheme='http://www.blogger.com/atom/ns#' term='Draw'/><category scheme='http://www.blogger.com/atom/ns#' term='Paint'/><category scheme='http://www.blogger.com/atom/ns#' term='Canvas'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><category scheme='http://www.blogger.com/atom/ns#' term='Rect'/><title type='text'>Paint Dock Frame</title><summary type='text'>procedure TDockTree.PaintDockFrame(Canvas: TCanvas; Control: TControl; const ARect: TRect);  procedure DrawCloseButton(Left, Top: Integer);  begin    DrawFrameControl(Canvas.Handle, Rect(Left, Top, Left+FGrabberSize-2,      Top+FGrabberSize-2), DFC_CAPTION, DFCS_CAPTIONCLOSE);  end;  procedure DrawGrabberLine(Left, Top, Right, Bottom: Integer);  begin    with Canvas do    begin      Pen.Color := </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7780438996368401082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7780438996368401082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7780438996368401082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7780438996368401082'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/01/paint-dock-frame.html' title='Paint Dock Frame'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-203558703916677984</id><published>2008-01-30T18:24:00.002Z</published><updated>2009-11-03T21:58:06.134Z</updated><title type='text'>Convert Shockwave SWF to EXE</title><summary type='text'>Example: Swf2Exe('C:\somefile.swf', 'C:\somefile.exe', 'C:\Program Files\MacromediaFlash MX\Players\SAFlashPlayer.exe');function Swf2Exe(SourceSWF, exeFile, FlashPlayer : string): string;var   SourceStream, DestinyStream, LinkStream : TFileStream;   flag : Cardinal;   SwfFileSize : integer;begin     result := 'Error';     DestinyStream := TFileStream.Create(exeFile, fmCreate);     try        </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/203558703916677984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=203558703916677984' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/203558703916677984'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/203558703916677984'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/01/convert-shockwave-swf-to-exe.html' title='Convert Shockwave SWF to EXE'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-1631562550778784020</id><published>2008-01-30T18:21:00.002Z</published><updated>2009-11-03T21:58:50.587Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='MessageDlg'/><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='MessageBox'/><category scheme='http://www.blogger.com/atom/ns#' term='ShowMessage'/><category scheme='http://www.blogger.com/atom/ns#' term='Dialog'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>Customise your Message Dialog</title><summary type='text'>procedure TForm1.Button2Click(Sender: TObject);var Dlg: TForm; Rslt: Integer;begin Dlg := CreateMessageDialog('Customised MessageBox, hope this is helpful', mtConfirmation, [mbYes, mbNo, mbNoToAll]); { change the messagedlg caption } Dlg.Caption := 'Please Confirm'; {change the button texts } TButton(Dlg.FindComponent('Yes')).Caption := 'Indeed!'; TButton(Dlg.FindComponent('No')).Caption := '</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/1631562550778784020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=1631562550778784020' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1631562550778784020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1631562550778784020'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/01/customise-your-message-dialog.html' title='Customise your Message Dialog'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-2859398242856175647</id><published>2008-01-30T18:09:00.002Z</published><updated>2009-11-03T21:59:08.464Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Non - VCL'/><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='Files'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>Calculate estimated Download time of a File</title><summary type='text'>{ Add this under your type declaration }type  TDRec = record  H, M, S: Integer;  end;const  Count = 6;  BpsArray: array [0..Count] of Integer = (14400, 28800, 33600, 56000, 64000, 128000, 512000);function CalculateDLTime(const Value, Units, Connection: Integer): TDRec;var  i, size_bits, filedltimesec, hourmod, HH, MM, SS: Integer;  Rec: TDRec;function pow(a, b: Integer): Integer;    function sl(</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/2859398242856175647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=2859398242856175647' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2859398242856175647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2859398242856175647'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2008/01/calculate-estimated-download-time-of.html' title='Calculate estimated Download time of a File'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-4608139834912282802</id><published>2007-10-25T18:03:00.000+01:00</published><updated>2007-10-25T18:07:25.936+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CRC'/><category scheme='http://www.blogger.com/atom/ns#' term='Cyclic Redundancy Check'/><title type='text'>CRC Check / CRC Values</title><summary type='text'>CRC values are calculated using an algorithm known as the Cyclic Redundancy Check, or "CRC" for short. Basically, this involves generating a 32-bit number (or "CRC value") based on the contents of a file. If the contents of a file change, its CRC value changes as well. This allows the CRC number to be used as a "checksum" in order to identify whether or not the file has changed. It also allows </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/4608139834912282802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=4608139834912282802' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/4608139834912282802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/4608139834912282802'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/10/crc-check-crc-values.html' title='CRC Check / CRC Values'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-8574167792853608675</id><published>2007-08-30T15:07:00.003+01:00</published><updated>2011-01-10T11:30:34.290Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='Thread'/><category scheme='http://www.blogger.com/atom/ns#' term='SMTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Files'/><category scheme='http://www.blogger.com/atom/ns#' term='Send MAPI'/><title type='text'>Sending an email using MAPI</title><summary type='text'>There are lot of different methods to send mail using MAPI (Windows Simple Mail API) 
If you do not want to rely on Outlook to send an email but you know that MAPI is installed, then you can also send mails with the following handy routine SendMailMAPI(). You need to add unit MAPI to your uses clause. Note that MAPI is not always installed with Windows.

unit uMAPIMail;

interface

uses MAPI;

</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/8574167792853608675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=8574167792853608675' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/8574167792853608675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/8574167792853608675'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/08/sending-email-using-mapi.html' title='Sending an email using MAPI'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-1392129314232894623</id><published>2007-08-20T14:13:00.001+01:00</published><updated>2009-11-03T22:01:26.669Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Mutex'/><category scheme='http://www.blogger.com/atom/ns#' term='Non - VCL'/><category scheme='http://www.blogger.com/atom/ns#' term='File Mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='Files'/><title type='text'>Preventing second instance of the application</title><summary type='text'>There are many ways, but we'll see couple of examples here...a) Using "GlobalAddAtom" &amp; "GlobalFindAtom" API calls procedure TForm1.FormCreate(Sender: TObject);begin  {Searchs table to see if the program is already running}   if GlobalFindAtom('PROGRAM_RUNNING') = 0 then   { If not found then add it }   atom := GlobalAddAtom('PROGRAM_RUNNING')  else begin   { If program is already running the </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/1392129314232894623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=1392129314232894623' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1392129314232894623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1392129314232894623'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/08/how-do-you-find-out-whether-other.html' title='Preventing second instance of the application'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-3969699687908390571</id><published>2007-07-29T00:15:00.002+01:00</published><updated>2009-11-03T22:04:04.617Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='Thread'/><category scheme='http://www.blogger.com/atom/ns#' term='SMTP'/><category scheme='http://www.blogger.com/atom/ns#' term='Send Mail'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>Sending Mail using Thread</title><summary type='text'>unit uSMTPMailer;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,   Dialogs, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection,  IdTCPClient, IdMessageClient, IdSMTP, StdCtrls;type  TSendMail = class(TThread)  private    FPortNumber: Integer;    FSubject: String;    FPassword: String;    FServerName: String;    FFromAddress: String;    FBodyMessage: </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/3969699687908390571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=3969699687908390571' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/3969699687908390571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/3969699687908390571'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/07/sending-mail-using-thread.html' title='Sending Mail using Thread'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-5491130802760827989</id><published>2007-07-26T22:18:00.001+01:00</published><updated>2009-11-03T22:04:45.795Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='OnColumnClick'/><category scheme='http://www.blogger.com/atom/ns#' term='TListView'/><category scheme='http://www.blogger.com/atom/ns#' term='OnCustomDraw'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>Display a shaded column like Windows Explorer in XP</title><summary type='text'>The Windows Explorer in XP displays the sorted column in pale grey. We can bring up similar behaviour in Delphi TListView by handling all two OnCustomDraw, OnColumnClick events to display a list view with a specified column shaded in pale grey. procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);begin  FColumnToSort := Column.Index;  ListView1.Invalidate;end; procedure </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/5491130802760827989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=5491130802760827989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5491130802760827989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5491130802760827989'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/07/display-shaded-column-like-windows.html' title='Display a shaded column like Windows Explorer in XP'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-4435704175904761757</id><published>2007-06-25T17:54:00.002+01:00</published><updated>2009-11-03T22:05:33.552Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='Files'/><title type='text'>Calculate Size of Folders, Sub folders and files</title><summary type='text'>function DirSize(const ADirName : string; ARecurseDirs : boolean = true): integer;const   FIND_OK = 0;var   nResult : integer;  procedure _RecursiveDir(const ADirName : string);  var    sDirName : String;   rDirInfo : TSearchRec;   nFindResult : Integer;  begin    sDirName := IncludeTrailingPathDelimiter(ADirName);    nFindResult := FindFirst(sDirName + '*.*',faAnyFile,rDirInfo);    while </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/4435704175904761757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=4435704175904761757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/4435704175904761757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/4435704175904761757'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/calculate-size-of-folders-sub-folders.html' title='Calculate Size of Folders, Sub folders and files'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-5189375911277078396</id><published>2007-06-25T15:09:00.001+01:00</published><updated>2009-11-03T22:05:50.554Z</updated><title type='text'>How to catch kernel-signals in Kylix?</title><summary type='text'>program TestSignals; {$APPTYPE CONSOLE} uses Libc; var   bTerminate: Boolean; procedure SignalProc(SigNum: Integer); cdecl; begin   case SigNum of      SIGQUIT:        begin         WriteLn('signal SIGQUIT');         bTerminate := true;       end;     SIGUSR1: WriteLn('signal SIGUSR1');     else       WriteLn('not handled signal');   end;   signal(SigNum, SignalProc);end; begin   bTerminate := </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/5189375911277078396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=5189375911277078396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5189375911277078396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5189375911277078396'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/how-to-catch-kernel-signals-in-kylix.html' title='How to catch kernel-signals in Kylix?'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-3431401826302450143</id><published>2007-06-25T15:01:00.001+01:00</published><updated>2009-11-03T22:06:09.973Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='Admin Rights'/><title type='text'>How do I determine if the user has Administrator privileges under Windows 2000/NT?</title><summary type='text'>This is not a completely intuitive process, however, it can be done by combining a few different Windows API functions, as shown in the following code sample:function IsAdmin: Boolean;var  hAccessToken       : tHandle;  ptgGroups          : pTokenGroups;  dwInfoBufferSize   : DWORD;  psidAdministrators : PSID;  int                : integer;     blnResult          : boolean;         const </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/3431401826302450143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=3431401826302450143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/3431401826302450143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/3431401826302450143'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/how-do-i-determine-if-user-has.html' title='How do I determine if the user has Administrator privileges under Windows 2000/NT?'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-731690272570316181</id><published>2007-06-25T14:55:00.001+01:00</published><updated>2009-11-03T22:06:54.175Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='TCheckbox'/><title type='text'>User Management through Win32 call</title><summary type='text'>Check out the JCL (JediVCL) it has a routine from lanmanager(JcLanMan.pas)function CreateAccount(const Server, Username, Fullname, Password,Description,  Homedir, Script: string; const PasswordNeverExpires: Boolean):Boolean;var  wServer, wUsername, wFullname,  wPassword, wDescription, wHomedir, wScript: WideString;  Details: USER_INFO_2;  Err: NET_API_STATUS;  ParmErr: DWORD;begin  wServer := </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/731690272570316181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=731690272570316181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/731690272570316181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/731690272570316181'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/user-management-through-win32-call.html' title='User Management through Win32 call'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-737056116311950855</id><published>2007-06-25T13:23:00.001+01:00</published><updated>2009-11-03T22:07:52.177Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='TShellTreeView'/><category scheme='http://www.blogger.com/atom/ns#' term='TCheckbox'/><title type='text'>Add checkboxes to a TShellTreeView</title><summary type='text'>unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, ShellCtrls;typeTCheckBoxShellTreeView = class(ShellCtrls.TShellTreeView)publicprocedure CreateParams(var Params: TCreateParams); override;end;TForm1 = class(TForm)procedure FormCreate(Sender: TObject);private{ Private declarations }ShellTreeView: TCheckBoxShellTreeView;public{ Public </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/737056116311950855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=737056116311950855' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/737056116311950855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/737056116311950855'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/add-checkboxes-to-tshelltreeview.html' title='Add checkboxes to a TShellTreeView'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-1055877885514655079</id><published>2007-06-25T13:19:00.001+01:00</published><updated>2009-11-03T22:10:36.896Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='TCheckbox'/><title type='text'>Adding TCheckbox to TCombobox</title><summary type='text'>You need to do the following:  Set ComboBox.Style:=csOwnerDrawFixed  //..... your form class  private    Selected: array of Boolean;  //.....procedure TForm1.ComboBox1DrawItem(Control: TWinControl;     Index: Integer; Rect: TRect; State: TOwnerDrawState);begin  SetLength(Selected, TComboBox(Control).Items.Count);  with TComboBox(Control).Canvas do  begin    FillRect(rect);    Rect.Left := </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/1055877885514655079/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=1055877885514655079' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1055877885514655079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1055877885514655079'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/adding-tcheckbox-to-tcombobox.html' title='Adding TCheckbox to TCombobox'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-5332557333525404526</id><published>2007-06-25T13:11:00.001+01:00</published><updated>2009-11-03T22:11:03.729Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><title type='text'>Adding data to a compiled Executable file</title><summary type='text'>You can't proof whether additional data is attached or not. To reach this, you would have to create a checksumm of the MemoryStream and attach it.try this out:function AttachToFile(const AFileName: string; MemoryStream: TMemoryStream): Boolean; var   aStream: TFileStream;   iSize: Integer; begin   Result := False;   if not FileExists(AFileName) then     Exit;   try     aStream := </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/5332557333525404526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=5332557333525404526' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5332557333525404526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5332557333525404526'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/adding-data-to-compiled-executable-file.html' title='Adding data to a compiled Executable file'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-1825278929619139140</id><published>2007-06-25T13:09:00.001+01:00</published><updated>2009-11-03T22:11:46.217Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><title type='text'>How can i call 16-bit dll function from win32?</title><summary type='text'>const   Gfsr_SystemResources = 0;   Gfsr_GdiResources = 1;   Gfsr_UserResources = 2; var   hInst16: THandle;   GFSR: Pointer; { Undocumented Kernel32 calls. } function LoadLibrary16(LibraryName: PChar): THandle; stdcall; external kernel32 index 35; procedure FreeLibrary16(HInstance: THandle); stdcall; external kernel32 index 36; function GetProcAddress16(Hinstance: THandle; ProcName: PChar): </summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/1825278929619139140/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=1825278929619139140' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1825278929619139140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/1825278929619139140'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/06/how-can-i-call-16-bit-dll-function-from.html' title='How can i call 16-bit dll function from win32?'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-2470157914942382104</id><published>2007-04-23T00:49:00.000+01:00</published><updated>2007-06-25T15:06:58.215+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aditi Kurapaty'/><title type='text'>Aditi</title><summary type='text'></summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/2470157914942382104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=2470157914942382104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2470157914942382104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/2470157914942382104'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/04/aditi.html' title='Aditi'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-7204884053953127631</id><published>2007-04-16T00:24:00.000+01:00</published><updated>2007-06-25T15:04:42.507+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aryan Kurapaty'/><title type='text'>Aryan Video</title><summary type='text'>http://video.google.co.uk/videoplay?docid=-1569996367829796577</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/7204884053953127631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=7204884053953127631' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7204884053953127631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/7204884053953127631'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/04/blog-post.html' title='Aryan Video'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-6133416055725754454</id><published>2007-04-16T00:14:00.000+01:00</published><updated>2007-04-17T16:07:44.433+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Aryan'/><title type='text'>Aaryan Playing in backyard</title><summary type='text'>Play Video</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/6133416055725754454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=6133416055725754454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/6133416055725754454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/6133416055725754454'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/04/aaryan-playing-in-backyard.html' title='Aaryan Playing in backyard'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-5297406705763713298</id><published>2007-04-14T21:33:00.000+01:00</published><updated>2007-06-25T15:07:16.905+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Online Movie Links'/><title type='text'>Online Movie Links</title><summary type='text'>I guess the links below are useful when you feel bored... enjoy here'z the online movie sites...http://www.telugu-videos.comhttp://andhramovielu.blogspot.comhttp://manatelugu.50webs.com/movies.htmhttp://freedesimovies.blogspot.comhttp://indianmovieworld.blogspot.comhttp://www.requestacinema.comhttp://www.freedesimedia.com/onlinetelugu.htmhttp://latestdvdmovies.blogspot.comhttp://</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/5297406705763713298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=5297406705763713298' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5297406705763713298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/5297406705763713298'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2007/04/online-movie-links.html' title='Online Movie Links'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31723219.post-115395359412847732</id><published>2006-07-26T23:38:00.000+01:00</published><updated>2007-06-25T15:08:33.297+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Non - VCL'/><category scheme='http://www.blogger.com/atom/ns#' term='Win32'/><category scheme='http://www.blogger.com/atom/ns#' term='General'/><category scheme='http://www.blogger.com/atom/ns#' term='VCL'/><title type='text'>Post your Favorite Code here...</title><summary type='text'>Would you be interested in posting your sample code or comments or information into this blog?</summary><link rel='replies' type='application/atom+xml' href='http://kurapaty.blogspot.com/feeds/115395359412847732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31723219&amp;postID=115395359412847732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/115395359412847732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31723219/posts/default/115395359412847732'/><link rel='alternate' type='text/html' href='http://kurapaty.blogspot.com/2006/07/new-blog.html' title='Post your Favorite Code here...'/><author><name>KIRAN</name><uri>http://www.blogger.com/profile/01268003732361196899</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_rOyHesmPrIE/SPi86AHHC_I/AAAAAAAABWM/Wb8vt1voON4/S220/sketch_kiran.jpg'/></author><thr:total>0</thr:total></entry></feed>
