<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Delphi Onderdils The Delphi Resources</title>
	<atom:link href="http://delphionderdils.com/feed" rel="self" type="application/rss+xml" />
	<link>http://delphionderdils.com</link>
	<description>Delphi Onderdils The  Delphi Resources</description>
	<lastBuildDate>Sat, 31 Mar 2012 05:45:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>download component tpabbrevia_3_04.zip</title>
		<link>http://delphionderdils.com/2012/03/31/download-component-tpabbrevia_3_04-zip.pas</link>
		<comments>http://delphionderdils.com/2012/03/31/download-component-tpabbrevia_3_04-zip.pas#comments</comments>
		<pubDate>Sat, 31 Mar 2012 05:45:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Abbrevia]]></category>
		<category><![CDATA[Component]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=124</guid>
		<description><![CDATA[Data compression is generally achieved by studying the data and looking for redundant patterns and probabilities. This is a basic concern of information theory, a branch of mathematics that was founded by Claude Shannon at Bell Labs. Information theory can be used to determine the entropy, or information content, of a message. The entropy of [...]]]></description>
			<content:encoded><![CDATA[<p>Data compression is generally achieved by studying the data and looking for redundant<br />
patterns and probabilities. This is a basic concern of information theory, a branch of<br />
mathematics that was founded by Claude Shannon at Bell Labs. Information theory can be<br />
used to determine the entropy, or information content, of a message. The entropy of a<br />
message describes the minimum amount of space that must be used to fully describe the<br />
message. In general, if the information content of a message is smaller than the existing<br />
representation of the message, the message is compressible.</p>
<p><span id="more-124"></span><br />
Data compression methods generally operate by determining a model for the data, and then<br />
transforming the data into codes based on the model. The model of the data represents the<br />
probability of occurrence of certain symbols or strings of symbols in the data. More<br />
probable sequences of symbols are represented by shorter codes. Less probable sequences<br />
are represented by longer codes. This generally results in encoded data that takes less space<br />
than the decoded data.<br />
A common technique for encoding data based on probability of occurrence is Shannon-<br />
Fano coding. This method was developed independently by Claude Shannon and R.M. Fano<br />
at the Massachusetts Institute of Technology. Each character is given a unique code with a<br />
different byte length. Shannon-Fano codes are easily arranged into a binary tree structure.<br />
Traversing a Shannon-Fano tree to search for the symbol given its code is very fast.<br />
A similar technique is Huffman coding which is slightly more efficient than Shannon-Fano<br />
coding because it creates shorter codes for the most common elements. Since it requires<br />
roughly the same amount of computation, Huffman coding is more commonly used.<br />
Simple compression techniques use static models of sample data to represent all similar data.<br />
If the actual data to be compressed is not similar to the model, this technique performs<br />
poorly. More modern techniques use adaptive modeling, which allows the model of the data<br />
to be updated as the document is compressed. As the document is decompressed, the model<br />
controlling the decompression is also updated. The first commonly known adaptive<br />
algorithm was developed in 1977 by Jacob Ziv and Abraham Lempel, and is known as LZ77.<br />
A significant feature of LZ77 is that it uses an adaptive dictionary technique.<br />
Dictionary techniques are often used in concert with statistical modeling techniques.<br />
Dictionary techniques allow for brief replacements of commonly used phrases. This is<br />
similar to techniques used for references in a technical document. For example, once an<br />
author has referred to “See Knuth, D.E., The Art of Computer Programming, Volume 1.,<br />
Fundamental Algorithms, Stanford, 1973,” it is possible to use simply “See Knuth” at later<br />
points in the document.<br />
Dictionary techniques generally fall into two categories: static and adaptive. A static<br />
dictionary technique creates the dictionary and then uses it for the complete compression<br />
process. An example of a static dictionary might be a list of common phrases. As a phrase is<br />
matched in the uncompressed text, a code is stored to represent the phrase.<br />
An adaptive dictionary is modified as compression occurs. This allows the dictionary to be<br />
built as processing occurs, and also improves the compression technique because the<br />
dictionary is built using the data under consideration. A simple method of creating an<br />
adaptive dictionary is to use a window of previously occurring text as the dictionary. As<br />
processing continues, the window slides forward to look at recent data. This is known as a<br />
sliding dictionary technique.<br />
In 1978 Lempel and Ziv published “Compression of Individual Sequences via Variable-Rate<br />
Coding” in IEEE Transactions on Information Theory. The technique, known as LZ78, does<br />
not use a sliding window technique, but rather maintains a dictionary of previously seen<br />
phrases. The uncompressed data is converted to a series of tokens. The tokens have two<br />
components: a phrase location and the character that follows the phrase. The phrase<br />
dictionary is initialized with only a null string. When a phrase in the uncompressed stream<br />
is not found in the dictionary, it is added, one character at a time, to the dictionary.<br />
Theoretically, the dictionary can grow in an unlimited fashion. As the dictionary size<br />
increases, the code size must increase.<br />
In 1984, Terry Welch published a variant of LZ78 that is known as LZW (Lempel-Ziv-<br />
Welch). It improves on LZ78 by initializing the dictionary with all single symbol phrases<br />
possible in the alphabet. Another common improvement to LZ78 is to monitor the<br />
performance of the compression, and thus determine if the dictionary is poorly matched to<br />
the input. If so, it may be advantageous to clear the dictionary and rebuild it with the new<br />
input.</p>
<p><strong>link download</strong></p>
<p><span style="color: #0000ff;"><strong>http://www.ziddu.com/download/19019632/tpabbrevia_3_04.zip.html</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/03/31/download-component-tpabbrevia_3_04-zip.pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Abbrevia Make A Zip file from delphi</title>
		<link>http://delphionderdils.com/2012/03/31/abrevia-make-a-zip-file-from-delphi.pas</link>
		<comments>http://delphionderdils.com/2012/03/31/abrevia-make-a-zip-file-from-delphi.pas#comments</comments>
		<pubDate>Sat, 31 Mar 2012 03:49:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Abbrevia]]></category>
		<category><![CDATA[Component]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=117</guid>
		<description><![CDATA[Abbrevia is a set of components that allows you to add file archiving and data compression to your applications. Using Abbrevia, your application can organize data (by grouping files into an archive) and save disk space (by compressing the data). A file archive is a collection of related files that are maintained as a single [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff6600;"><strong>Abbrevia</strong></span> is a set of components that allows you to add file archiving and data compression<br />
to your applications. Using Abbrevia, your application can organize data (by grouping files<br />
into an archive) and save disk space (by compressing the data).<br />
A file archive is a collection of related files that are maintained as a single unit. Common<br />
archive procedures include browsing, adding, extracting, and deleting files from the archive.<br />
Data compression is a process that manipulates a collection of data and produces a<br />
representation of that data in less space. There are two types of compression: lossless<br />
compression and lossy compression. Data compressed using a lossless compression<br />
technique can be completely recovered with 100% accuracy. Important examples of lossless<br />
compression include the compression used in backup and restore tools, disk compression<br />
tools such as Stacker, the Microsoft CAB format, and the PKZIP tools developed by<br />
PKWare, Inc. Lossy compression techniques allow for some loss of accuracy. Lossy<br />
compression is often used for compressing graphic, voice, or video data. JPEG is an example<br />
of a lossy compression technique.</p>
<p><span id="more-117"></span><br />
The components in Abbrevia implement PKZIP-compatible, TAR, GZip, and (on Windows)<br />
Microsoft CAB file format data compression and archiving.<br />
PKZIP (the originator of .ZIP files) is a widely used tool for data compression and file<br />
archival, developed by Phil Katz of PKWare, Inc. PKZIP is distributed via shareware and<br />
commercial channels. The PKZIP file formats and algorithms are published by PKWare.<br />
TAR and GZip are well known tools on the Linux platform for creating compressed<br />
collections of files. TAR (an acronym for Tape ARchive) is a method for concatenating a<br />
number of files into a single large file.  It was originally used for backing up files to tape<br />
storage, hence the name.<br />
GZip is a format for compressing data using a method similar to that of PKZIP.  Unlike Zip,<br />
however, the GZip format does not handle enclosing multiple files well, so the nearly<br />
universal practice is use TAR to make a collection of the set of files and then GZip the<br />
resulting “TARBall” to compress it.<br />
Abbrevia provides routines and components that can handle TAR Archives, GZips<br />
containing a single file, and the common combination of a GZipped TAR.<br />
Abbrevia includes classes for creating compound files that essentially encapsulate an entire<br />
file system within a single disk file. Abbrevia’s compound file is roughly equivalent to<br />
Microsoft’s Structured Storage model, but without COM interfaces. Files within a<br />
compound file are automatically compressed when they are added and decompressed when<br />
extracted.<br />
The Abbrevia cabinet components implement CAB file format data compression and<br />
archiving via the Microsoft CABINET.DLL. The Microsoft CABINET.DLL is a system DLL<br />
that is installed with 32-bit versions of Microsoft Windows. Cab files can be created using<br />
MSZip or LZX compression, or simply stored.<br />
Abbrevia provides automatic disk spanning compatible with that performed by PKZIP.<br />
When an archive fills a removable disk or reaches a configurable threshold size, Abbrevia<br />
automatically prompts for another disk. Abbrevia can also extract files from spanned disk<br />
archives. (Note: On Linux this functionality is subject to proper floppy drive mount and<br />
unmount permissions, and the floppy file system should be mounted as a DOS Compatible<br />
FAT format of some type.)<br />
Abbrevia also provides automatic file spanning to files of a specified size. When an archive<br />
reaches a configurable threshold size, Abbrevia automatically prompts for a new file name<br />
(or can generate a default). Abbrevia can also extract files from Abbrevia created spanned<br />
file sets (this function is special to Abbrevia and is not part of the formal ZIP file<br />
specification, so other ZIP handling programs will likely not recognize such spanned file<br />
sets).<br />
Abbrevia supports creation of self-extracting Zip archives. A self-extracting archive is an<br />
executable file that, when executed, can extract files contained within itself. Abbrevia can<br />
read and manipulate existing self-extracting archives or create new ones. The programmer<br />
can create custom self-extracting “stub” programs for this purpose.<br />
Abbrevia provides both non-visual and visual components with full source code.</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/03/31/abrevia-make-a-zip-file-from-delphi.pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get Manufacturer identification of modem</title>
		<link>http://delphionderdils.com/2012/02/26/get-manufacturer-identification-of-modem.pas</link>
		<comments>http://delphionderdils.com/2012/02/26/get-manufacturer-identification-of-modem.pas#comments</comments>
		<pubDate>Sun, 26 Feb 2012 16:17:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AT Command]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=110</guid>
		<description><![CDATA[To get Manufacturer identification of modem use  AT +CGMI Description: This command gives the manufacturer identification. Syntax: Command syntax:AT+CGMI Command Possible responses AT+CGMI Note: Get manufacturer identification WAVECOM MODEM OK Note: Command valid, Wavecom modem]]></description>
			<content:encoded><![CDATA[<p>To get Manufacturer identification of modem use  <span style="color: #ff6600;"><strong>AT +CGMI</strong></span><br />
<strong>Description:</strong><br />
This command gives the manufacturer identification.<br />
<strong>Syntax:</strong><br />
Command syntax:<strong><span style="color: #ff6600;">AT+CGMI</span></strong></p>
<p><span id="more-110"></span><br />
Command Possible responses<br />
AT+CGMI<br />
Note: Get manufacturer identification<br />
<strong>WAVECOM MODEM</strong><br />
OK<br />
Note: Command valid, Wavecom modem</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/02/26/get-manufacturer-identification-of-modem.pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Detect Sim Inserted or removal..?</title>
		<link>http://delphionderdils.com/2012/02/26/detect-sim-inserted-or-removal.pas</link>
		<comments>http://delphionderdils.com/2012/02/26/detect-sim-inserted-or-removal.pas#comments</comments>
		<pubDate>Sun, 26 Feb 2012 16:07:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AT Command]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=106</guid>
		<description><![CDATA[SIM Insertion or SIM Removal SIM card Insertion and Removal procedures are supported. There are software functions relying on positive reading of the hardware SIM detect pin. This pin state (open/closed) is permanently monitored. When the SIM detect pin indicates that a card is present in the SIM connector, the product tries to set up [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff6600;"><strong>SIM Insertion or SIM Removal</strong></span><br />
SIM card Insertion and Removal procedures are supported. There are software functions relying<br />
on positive reading of the hardware SIM detect pin. This pin state (open/closed) is permanently<br />
monitored.<br />
When the SIM detect pin indicates that a card is present in the SIM connector, the product tries<br />
to set up a logical SIM session. The logical SIM session will be set up or not depending on<br />
whether the detected card is a SIM Card or not. The AT+CPIN? command delivers the following<br />
responses:</p>
<p><span id="more-106"></span></p>
<ul>
<li>  If the SIM detect pin indicates “absent”, the response to<span style="color: #ff6600;"><strong> AT+CPIN?</strong></span> is “+CME ERROR 10” <strong>(SIM not inserted)</strong>.</li>
</ul>
<ul>
<li>  If the SIM detect pin indicates “present”, and the inserted Card is a SIM Card, the response to<strong><span style="color: #ff6600;"> AT+CPIN?</span></strong> is “+CPIN: xxx” depending on SIM PIN state.</li>
<li>  If the SIM detect pin indicates “present”, and the inserted Card is not a SIM Card, the response to<span style="color: #ff6600;"><strong> AT+CPIN?</strong></span> is CME ERROR 10.</li>
<li>  These last two states are not given immediately due to background initialization. Between the hardware SIM detect pin indicating “present” and the previous results the<span style="color: #ff6600;"><strong> AT+CPIN?</strong></span> sends “+CME ERROR: 515” (Please wait, init in progress).</li>
</ul>
<p>When the SIM detect pin indicates card absence, and if a SIM Card was previously inserted, an<br />
IMSI detach procedure is performed, all user data is removed from the product (Phonebooks,<br />
SMS etc.). The product then switches to emergency mode.</p>
<p>Background initialization<br />
After entering the PIN (Personal Identification Number), some SIM user data files are loaded into<br />
the product (Phonebooks, SMS status, etc.). Please be aware that it might take some time to<br />
read a large phonebook.<br />
The AT+CPIN? command response comes just after the PIN is checked. After this response<br />
user data is loaded (in background). This means that some data may not be available just after<br />
PIN entry is confirmed by ’OK’. The reading of phonebooks will then be refused by “+CME<br />
ERROR: 515” or “+CMS ERROR: 515” meaning, “Please wait, service is not available, init in<br />
progress”.<br />
This type of answer may be sent by the product at several points:</p>
<ul>
<li>  when trying to execute another AT command before the previous one is completed (before response),</li>
<li>  when switching from ADN to FDN (or FDN to ADN) and trying to read the relevant phonebook immediately,</li>
<li> when asking for +CPIN? status immediately after SIM insertion and before the product has determined if the inserted card is a valid SIM Card.</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/02/26/detect-sim-inserted-or-removal.pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AT Command Modem</title>
		<link>http://delphionderdils.com/2012/02/26/at-command-modem.pas</link>
		<comments>http://delphionderdils.com/2012/02/26/at-command-modem.pas#comments</comments>
		<pubDate>Sun, 26 Feb 2012 16:01:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AT Command]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=102</guid>
		<description><![CDATA[Command line Commands always start with AT (which means ATtention) and finish with a &#60;CR&#62; character. Information responses and result codes Responses start and end with &#60;CR&#62;&#60;LF&#62;, except for the ATV0 DCE response format) and the ATQ1 (result code suppression) commands. If command syntax is incorrect, an ERROR string is returned. If command syntax is [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Command line</strong><br />
Commands always start with AT (which means ATtention) and finish with a &lt;CR&gt; character.<br />
Information responses and result codes<br />
Responses start and end with <strong>&lt;CR&gt;&lt;LF&gt;</strong>, except for the ATV0 DCE response format) and the<br />
ATQ1 (result code suppression) commands.</p>
<ul>
<li>If command syntax is incorrect, an ERROR string is returned.</li>
<li>If command syntax is correct but with some incorrect parameters, the +CME ERROR:</li>
</ul>
<p><span id="more-102"></span></p>
<p><strong>&lt;Err&gt; or +CMS ERROR: &lt;SmsErr&gt;</strong> strings are returned with different error codes.</p>
<ul>
<li> If the command line has been performed successfully, an OK string is returned.</li>
</ul>
<p>In some cases, such as <strong>“AT+CPIN?”</strong> or (unsolicited) incoming events, the product does not<br />
return the OK string as a response.<br />
In the following examples <strong>&lt;CR&gt;</strong> and<strong> &lt;CR&gt;&lt;LF&gt;</strong> are intentionally omitted.</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/02/26/at-command-modem.pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to call window form with animation</title>
		<link>http://delphionderdils.com/2012/02/11/how-to-call-window-form-with-animation.pas</link>
		<comments>http://delphionderdils.com/2012/02/11/how-to-call-window-form-with-animation.pas#comments</comments>
		<pubDate>Sat, 11 Feb 2012 23:17:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Function & Procedure]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=99</guid>
		<description><![CDATA[This example is how to call another window that mean is show window with an animation. we use two form to demontration this windows api function. this funtion is derived from  user32 library . syntax: function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): BOOL; stdcall; 3 parameters: hWnd is windows handle dwTime is how long the [...]]]></description>
			<content:encoded><![CDATA[<p>This example is how to call another window that mean is show window with an animation. we use two form to demontration this windows api function. this funtion is derived from  <strong>user32</strong> library .</p>
<p><strong>syntax</strong>: function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): BOOL; stdcall;</p>
<p>3 parameters:</p>
<ul>
<li>hWnd is windows handle</li>
<li>dwTime is how long the process is running</li>
<li>dwFlags is model of animate</li>
</ul>
<p><img src="https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash4/s320x320/430495_2717177373482_1378421774_32373190_338447581_n.jpg" alt="delphionderdils" /></p>
<p>Ok next &#8230;</p>
<p><span id="more-99"></span></p>
<p>let&#8217;s get started..</p>
<ul>
<li>Create new apllication</li>
<li>add two button like in picture in form1</li>
<li>change the caption show and hide</li>
<li>add form2</li>
<li>add label1 to form2 and change the caption like the picture</li>
<li>write code in button click on each button like this</li>
</ul>
<p>&nbsp;</p>
<pre class="brush: delphi; gutter: true">procedure TForm1.Button1Click(Sender: TObject);
begin
 AnimateWindow(form2.handle, 2000, AW_CENTER Or AW_ACTIVATE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  AnimateWindow(form2.handle, 2000, AW_CENTER Or AW_HIDE);
end;</pre>
<p>&nbsp;</p>
<p><span style="color: #ff6600;"><strong>Source</strong></span></p>
<pre class="brush: delphi; gutter: false">unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants,
  Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 AnimateWindow(form2.handle, 2000, AW_CENTER Or AW_ACTIVATE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  AnimateWindow(form2.handle, 2000, AW_CENTER Or AW_HIDE);
end;

end.

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants,
  Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Label1: TLabel;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

end.</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>source DFM</p>
<pre class="brush: delphi; gutter: false">object Form1: TForm1
  Left = 172
  Top = 174
  Width = 195
  Height = 251
  Caption = &#039;Form1&#039;
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = &#039;MS Sans Serif&#039;
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 40
    Top = 32
    Width = 75
    Height = 25
    Caption = &#039;Show&#039;
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 40
    Top = 72
    Width = 75
    Height = 25
    Caption = &#039;Hide&#039;
    TabOrder = 1
    OnClick = Button2Click
  end
end

object Form2: TForm2
  Left = 380
  Top = 174
  Width = 359
  Height = 250
  Caption = &#039;Form2&#039;
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = &#039;MS Sans Serif&#039;
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 16
    Top = 64
    Width = 309
    Height = 37
    Caption = &#039;ANIMATE WINDOW&#039;
    Font.Charset = DEFAULT_CHARSET
    Font.Color = clRed
    Font.Height = -32
    Font.Name = &#039;MS Sans Serif&#039;
    Font.Style = [fsBold]
    ParentFont = False
  end
end</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: #ff6600;"><strong>Link Download source</strong></span></p>
<p>http://www.ziddu.com/download/18582686/animasiwindow.rar.html</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/02/11/how-to-call-window-form-with-animation.pas/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Open yahoo mail with delphi</title>
		<link>http://delphionderdils.com/2012/02/11/how-to-open-yahoo-mail-with-delphi.pas</link>
		<comments>http://delphionderdils.com/2012/02/11/how-to-open-yahoo-mail-with-delphi.pas#comments</comments>
		<pubDate>Sat, 11 Feb 2012 13:39:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Component]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=96</guid>
		<description><![CDATA[Delphi is multi purposes programming, sometime I use it to open internet banking such as KLIKBCA, Bank Mandiri and Bank BNI. We can open website from delphi, by use component TwebBrowser. This example I use delphi 7 OK.. next we go to the source this step by step create new project application add two labels [...]]]></description>
			<content:encoded><![CDATA[<p>Delphi is multi purposes programming, sometime I use it to open internet banking such as KLIKBCA, Bank Mandiri and Bank BNI. We can open website from delphi, by use component TwebBrowser. This example I use delphi 7</p>
<p><img src="https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash4/s320x320/420536_2714206459211_1378421774_32372087_1461765870_n.jpg" alt="delphionderdils" /></p>
<p>OK.. next we go to the source</p>
<p><span id="more-96"></span>this step by step</p>
<ul>
<li>create new project application</li>
<li>add two labels components</li>
<li>add two edit components</li>
<li>add tbutton and change the caption with Login</li>
<li>add Twebbrowser from Internet Pallet</li>
<li>on button click write this codes</li>
</ul>
<pre>procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate(&#039;https://login.yahoo.com/config/login_verify2?&amp;.src=ym&#039;);
  while WebBrowser1.ReadyState &lt;&gt; READYSTATE_COMPLETE do application.processmessages;
  WebBrowser1.OleObject.document.forms.item(0).elements.item(&#039;login&#039;).value:=edit1.Text;
  WebBrowser1.OleObject.document.forms.item(0).elements.item(&#039;passwd&#039;).value:=edit2.Text;
  webbrowser1.OleObject.document.forms.item(&#039;login_form&#039;).submit;
end;</pre>
<p>&nbsp;</p>
<p><strong><span style="color: #ff6600;">source code</span></strong></p>
<p>&nbsp;</p>
<pre class="brush: delphi; gutter: true"> 
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser1.Navigate(&#039;https://login.yahoo.com/config/login_verify2?&amp;.src=ym&#039;);
  while WebBrowser1.ReadyState &lt;&gt; READYSTATE_COMPLETE do application.processmessages;
  WebBrowser1.OleObject.document.forms.item(0).elements.item(&#039;login&#039;).value:=edit1.Text;
  WebBrowser1.OleObject.document.forms.item(0).elements.item(&#039;passwd&#039;).value:=edit2.Text;
  webbrowser1.OleObject.document.forms.item(&#039;login_form&#039;).submit;
end;

end.</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: #ff6600;"><strong>source dfm</strong></span></p>
<pre class="brush: delphi; gutter: true">object Form1: TForm1
  Left = 192
  Top = 124
  Width = 702
  Height = 514
  Caption = &#039;Yahoo Mail &amp; Delphi&#039;
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = &#039;MS Sans Serif&#039;
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 24
    Top = 32
    Width = 45
    Height = 13
    Caption = &#039;Yahoo ID&#039;
  end
  object Label2: TLabel
    Left = 24
    Top = 64
    Width = 46
    Height = 13
    Caption = &#039;Password&#039;
  end
  object WebBrowser1: TWebBrowser
    Left = 0
    Top = 144
    Width = 686
    Height = 332
    Align = alBottom
    TabOrder = 0
    ControlData = {
      4C000000E6460000502200000000000000000000000000000000000000000000
      000000004C000000000000000000000001000000E0D057007335CF11AE690800
      2B2E126208000000000000004C0000000114020000000000C000000000000046
      8000000000000000000000000000000000000000000000000000000000000000
      00000000000000000100000000000000000000000000000000000000}
  end
  object Edit1: TEdit
    Left = 80
    Top = 32
    Width = 121
    Height = 21
    TabOrder = 1
  end
  object Edit2: TEdit
    Left = 80
    Top = 64
    Width = 121
    Height = 21
    PasswordChar = &#039;*&#039;
    TabOrder = 2
  end
  object Button1: TButton
    Left = 80
    Top = 96
    Width = 75
    Height = 25
    Caption = &#039;Login&#039;
    TabOrder = 3
    OnClick = Button1Click
  end
end</pre>
<p>&nbsp;</p>
<p><span style="color: #ff6600;"><strong>link download source</strong></span></p>
<p>http://www.ziddu.com/download/18579550/yahoomail.rar.html</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/02/11/how-to-open-yahoo-mail-with-delphi.pas/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>how to change font color in message box</title>
		<link>http://delphionderdils.com/2012/01/29/how-to-change-font-color-in-message-box.pas</link>
		<comments>http://delphionderdils.com/2012/01/29/how-to-change-font-color-in-message-box.pas#comments</comments>
		<pubDate>Sun, 29 Jan 2012 15:24:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Component]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=88</guid>
		<description><![CDATA[As we know that delphi has many message box(s), like showmessage, messagedlg ect. By defult we get font message in black color with style regular.  All style message are in dialogs unit. so if we want to enhance we have to change this unit as we want. for example like this picture : next&#8230;on for [...]]]></description>
			<content:encoded><![CDATA[<p>As we know that delphi has many message box(s), like showmessage, messagedlg ect. By defult we get font message in black color with style regular.  All style message are in dialogs unit. so if we want to enhance we have to change this unit as we want.</p>
<p>for example like this picture :<br />
<img src="https://fbcdn-sphotos-a.akamaihd.net/hphotos-ak-ash4/s320x320/405812_2634350942873_1378421774_32345829_674417923_n.jpg" alt="delphionderdils" /><br />
next&#8230;on</p>
<p><span id="more-88"></span></p>
<p>for the first time copy dialogs unit to our project/folder program</p>
<p>next..</p>
<ul>
<li>open dialogs unit</li>
<li>to change font message we must change font of label message like this</li>
<li>search function <strong>CreateMessageDialog</strong></li>
<li>at <strong>TMessageForm(Result).Message := TLabel.Create(Result); </strong></li>
<li> change font color by add code<span style="color: #ff6600;"><strong> Font.Color:=clred;</strong></span></li>
<li><span style="color: #ff6600;"><span style="color: #000000;">this example for delphi 7</span><br />
</span></li>
</ul>
<p>&nbsp;</p>
<pre class="brush: delphi; gutter: true">function CreateMessageDialog(const Msg: string;
  DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons): TForm;
const
....
....
...
    TMessageForm(Result).Message := TLabel.Create(Result);
    with TMessageForm(Result).Message do
    begin
      Name := &#039;Message&#039;;
      Parent := Result;
      WordWrap := True;
      Caption := Msg;
      Font.Color:=clred;
      BoundsRect := TextRect;
      BiDiMode := Result.BiDiMode;
      ALeft := IconTextWidth - TextRect.Right + HorzMargin;
      if UseRightToLeftAlignment then
        ALeft := Result.ClientWidth - ALeft - Width;
      SetBounds(ALeft, VertMargin,
        TextRect.Right, TextRect.Bottom);
    end;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Next&#8230; on</p>
<p><span style="color: #0000ff;"><strong>How to change font button..?</strong></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/01/29/how-to-change-font-color-in-message-box.pas/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to create MySQL Database runtime in delphi..?</title>
		<link>http://delphionderdils.com/2012/01/28/how-to-create-mysql-database-runtime-in-delphi.pas</link>
		<comments>http://delphionderdils.com/2012/01/28/how-to-create-mysql-database-runtime-in-delphi.pas#comments</comments>
		<pubDate>Sat, 28 Jan 2012 10:46:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Zeos]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=82</guid>
		<description><![CDATA[Generally we always create MySQl database using tool like heidisql, mysql yog, phpadmind and so on. But in this tutorial I will show how to create database and table using delphi by runtime. Many ways to create  MySQL  database with runtime for example : Import sql text by shellexecute to call mysql.exe or call batch [...]]]></description>
			<content:encoded><![CDATA[<p>Generally we always create MySQl database using tool like heidisql, mysql yog, phpadmind and so on. But in this tutorial I will show how to create database and table using delphi by runtime. Many ways to create  MySQL  database with runtime for example :</p>
<ul>
<li>Import sql text by shellexecute to call mysql.exe or call batch file</li>
<li>Using Tzconnection</li>
<li>Using ZSQLProcessor</li>
<li>Using TZQuery</li>
<li>or may be using ado component witch connected with ODBC</li>
</ul>
<p>In this section I will give example how to create MySQL database using Tzconnection</p>
<p>Next&#8230; on</p>
<p><span id="more-82"></span>The first time create new application and save all (project and unit). and then</p>
<ul>
<li>add Tzconnection</li>
<li>add button</li>
<li>onbutton clik write codes :</li>
</ul>
<blockquote>
<ol>
<li>make connection to mysql</li>
<li>if success then create database</li>
<li>create table</li>
</ol>
</blockquote>
<pre class="brush: delphi; gutter: true">procedure TForm1.Button1Click(Sender: TObject);
var sdatabase,A,B,Csql:string;
begin
  sdatabase:=&#039;CREATE DATABASE IF NOT EXISTS SCHOOl&#039;;
  A:=&#039;USE SCHOOL;&#039;;
  B:=&#039;DROP TABLE IF EXISTS TSISWA;&#039;;
  Csql:=&#039;CREATE TABLE TSISWA ( &#039; +
   &#039; NIS varchar(9) default NULL,&#039; +
   &#039; NAMA varchar(9) default NULL,&#039; +
   &#039; ALAMAT varchar(9) default NULL&#039;+
   &#039; )ENGINE=MyISAM DEFAULT CHARSET=latin1; &#039;;
 ZConnection1.Disconnect;
 ZConnection1.HostName:=&#039;localhost&#039;;
 ZConnection1.User:=&#039;root&#039;;
 ZConnection1.Protocol:=&#039;mysql&#039;;
 ZConnection1.Port:=3306;
 ZConnection1.Password:=&#039;&#039;;
// connect
  try
  ZConnection1.Connect;
  except
    on E: Exception do showmessage(E.Message);
  end;
  //create database
    Try
    ZConnection1.ExecuteDirect(sdatabase);
    showmessage(&#039;success&#039;);
    except
     on E: Exception do showmessage(E.Message);
    end;
   //create table

    Try
    ZConnection1.ExecuteDirect(A);
    ZConnection1.ExecuteDirect(B);
    ZConnection1.ExecuteDirect(Csql);
    showmessage(&#039;success create table..!&#039;);
    except
      on E: Exception do showmessage(E.Message);
    end;

end;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: #ff6600;"><strong>source</strong></span></p>
<pre class="brush: delphi; gutter: false">unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms,
  Dialogs, StdCtrls, ZConnection;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ZConnection1: TZConnection;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var sdatabase,A,B,Csql:string;
begin
  sdatabase:=&#039;CREATE DATABASE IF NOT EXISTS SCHOOl&#039;;
  A:=&#039;USE SCHOOL;&#039;;
  B:=&#039;DROP TABLE IF EXISTS TSISWA;&#039;;
  Csql:=&#039;CREATE TABLE TSISWA ( &#039; +
   &#039; NIS varchar(9) default NULL,&#039; +
   &#039; NAMA varchar(9) default NULL,&#039; +
   &#039; ALAMAT varchar(9) default NULL&#039;+
   &#039; )ENGINE=MyISAM DEFAULT CHARSET=latin1; &#039;;
 ZConnection1.Disconnect;
 ZConnection1.HostName:=&#039;localhost&#039;;
 ZConnection1.User:=&#039;root&#039;;
 ZConnection1.Protocol:=&#039;mysql&#039;;
 ZConnection1.Port:=3306;
 ZConnection1.Password:=&#039;&#039;;
// connect
  try
  ZConnection1.Connect;
  except
    on E: Exception do showmessage(E.Message);
  end;
  //create database
    Try
    ZConnection1.ExecuteDirect(sdatabase);
    showmessage(&#039;success&#039;);
    except
     on E: Exception do showmessage(E.Message);
    end;
   //create table

    Try
    ZConnection1.ExecuteDirect(A);
    ZConnection1.ExecuteDirect(B);
    ZConnection1.ExecuteDirect(Csql);
    showmessage(&#039;success create table..!&#039;);
    except
      on E: Exception do showmessage(E.Message);
    end;

end;

end.</pre>
<p><span style="color: #ff6600;"><strong>form</strong></span></p>
<pre class="brush: delphi; gutter: false">object Form1: TForm1
  Left = 192
  Top = 124
  Width = 427
  Height = 286
  Caption = &#039;Form1&#039;
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = &#039;MS Sans Serif&#039;
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 168
    Top = 120
    Width = 75
    Height = 25
    Caption = &#039;Button1&#039;
    TabOrder = 0
    OnClick = Button1Click
  end
  object ZConnection1: TZConnection
    Left = 128
    Top = 80
  end
end</pre>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/01/28/how-to-create-mysql-database-runtime-in-delphi.pas/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Make a Connection to MySQL using Tzconnection</title>
		<link>http://delphionderdils.com/2012/01/27/make-a-connection-to-mysql-using-tzconnection.pas</link>
		<comments>http://delphionderdils.com/2012/01/27/make-a-connection-to-mysql-using-tzconnection.pas#comments</comments>
		<pubDate>Fri, 27 Jan 2012 10:09:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Zeos]]></category>

		<guid isPermaLink="false">http://delphionderdils.com/?p=76</guid>
		<description><![CDATA[ZEOS is one component package to connect delphi with mysql database. to be able to interact with MySQL database ZEOS requires a library file that is libmysql.dll, the file can be obtained at the time we install heidisql. File position is located in C: \ Program Files \ HeidiSQL \libmysql.dll we can download heidisql www.heidisql.com [...]]]></description>
			<content:encoded><![CDATA[<p>ZEOS is one component package to connect delphi with mysql database. to be able to interact with MySQL database ZEOS requires a library file that is libmysql.dll, the file can be obtained at the time we install heidisql. File position is located in <strong>C: \ Program Files \ HeidiSQL \libmysql.dll</strong><br />
we can download heidisql www.heidisql.com site.<br />
ok.. next..</p>
<p><span id="more-76"></span></p>
<ul>
<li>create new application</li>
<li>save all to c:\myproject\</li>
<li>put <strong>libmysql.dll </strong>to c:\myproject\</li>
<li>put tzconnection from zeos pallet to form</li>
<li>add button</li>
<li>change button1 caption : connect</li>
<li>on button1 click write this code</li>
</ul>
<pre class="brush: delphi; gutter: true">procedure TForm1.Button1Click(Sender: TObject);
begin
   // configuration pre connect
    ZConnection1.Disconnect;
    ZConnection1.HostName:=&#039;localhost&#039;;
    ZConnection1.Protocol:=&#039;mysql&#039;;
    ZConnection1.User:=&#039;root&#039;;
    ZConnection1.Password:=&#039;&#039;;
    ZConnection1.Port:=3306;
    ZConnection1.LoginPrompt:=false;

    // try connect to localhost
    try
     ZConnection1.Connect;
     showmessage(&#039;connecting success..!&#039;)
    except
     showmessage(&#039;connecting fail..!&#039;)
    end;
end;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>source code unit</p>
<p>&nbsp;</p>
<pre class="brush: delphi; gutter: false">unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes,
  Graphics, Controls, Forms,
  Dialogs, StdCtrls, ZConnection;

type
  TForm1 = class(TForm)
    ZConnection1: TZConnection;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   // configuration pre connect
    ZConnection1.Disconnect;
    ZConnection1.HostName:=&#039;localhost&#039;;
    ZConnection1.Protocol:=&#039;mysql&#039;;
    ZConnection1.User:=&#039;root&#039;;
    ZConnection1.Password:=&#039;&#039;;
    ZConnection1.Port:=3306;
    ZConnection1.LoginPrompt:=false;

    // try connect to localhost
    try
     ZConnection1.Connect;
     showmessage(&#039;connecting success..!&#039;)
    except
     showmessage(&#039;connecting fail..!&#039;)
    end;
end;

end.</pre>
<p>&nbsp;</p>
<p>form  code</p>
<pre class="brush: delphi; gutter: false">object Form1: TForm1
  Left = 192
  Top = 124
  Width = 870
  Height = 500
  Caption = &#039;Form1&#039;
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = &#039;MS Sans Serif&#039;
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 208
    Top = 96
    Width = 75
    Height = 25
    Caption = &#039;Connect&#039;
    TabOrder = 0
    OnClick = Button1Click
  end
  object ZConnection1: TZConnection
    Left = 96
    Top = 88
  end
end</pre>
]]></content:encoded>
			<wfw:commentRss>http://delphionderdils.com/2012/01/27/make-a-connection-to-mysql-using-tzconnection.pas/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

