<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUINRXk4eSp7ImA9WhRUE0k.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313</id><updated>2012-01-23T10:33:14.731-08:00</updated><title>DELPHI SOURCE CODE</title><subtitle type="html">delphi source code sample collection</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://delphisource.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>73</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/DelphiSourceCode" /><feedburner:info uri="delphisourcecode" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUIBQXo-cSp7ImA9WhRSFEg.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-2929672163815947163</id><published>2011-11-16T06:25:00.000-08:00</published><updated>2011-11-16T06:25:50.459-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T06:25:50.459-08:00</app:edited><title>Download Gammu smsm gateway installer</title><content type="html">Download Gammu smsm gateway installer &lt;a href="http://www.ziddu.com/download/12654506/gammu_win32.zip.html"&gt;here&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-2929672163815947163?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1GT4H6IUHBvcZ7a0P-k8mPcoLtI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1GT4H6IUHBvcZ7a0P-k8mPcoLtI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1GT4H6IUHBvcZ7a0P-k8mPcoLtI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1GT4H6IUHBvcZ7a0P-k8mPcoLtI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/zF0Sq7s9Rgo" height="1" width="1"/&gt;</content><link rel="related" href="http://endanesia.com" title="Download Gammu smsm gateway installer" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/2929672163815947163/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=2929672163815947163" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2929672163815947163?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2929672163815947163?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/zF0Sq7s9Rgo/download-gammu-smsm-gateway-installer.html" title="Download Gammu smsm gateway installer" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2011/11/download-gammu-smsm-gateway-installer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04ASHk7cCp7ImA9WhRSFEg.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-239468847078982103</id><published>2011-11-16T05:59:00.000-08:00</published><updated>2011-11-16T05:59:09.708-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T05:59:09.708-08:00</app:edited><title>How to show printing a Rich Edit control onto a bitmap for preview</title><content type="html">&lt;h2&gt;How to show printing a Rich Edit control onto a bitmap for preview&lt;/h2&gt;The Rich Edit control (we a talking  about standard Windows control,  not a Delphi component) contains built-in printing features that can be  used to send formatted text to the printer or to paint it's content onto  any canvas with minimal effort from the programmer.&lt;br /&gt;
Of course, the standard Delphi TRichEdit component incapsulates this feature.&lt;br /&gt;
We can use this posibility to make a fast &lt;strong&gt;print preview&lt;/strong&gt; with a scaling or drawing Rich Text on any Delphi control.&lt;br /&gt;
Drawing from a Rich Edit control to any canvas involves the use of the standard Rich Edit control message &lt;strong&gt;EM_FORMATRANGE&lt;/strong&gt;.&lt;br /&gt;
The lParam parameter for this message is a pointer to the TFormatRange record.&lt;br /&gt;
This record have to be filled before sending the message to the RichEdit.&lt;br /&gt;
The TFORMATRANGE record contains information that a rich edit control uses to format its output for a particular device, where&lt;br /&gt;
&lt;b&gt;hdc&lt;/b&gt; Device to render to. &lt;br /&gt;
&lt;b&gt;hdcTarget&lt;/b&gt; Target device to format for. &lt;br /&gt;
&lt;b&gt;rc&lt;/b&gt; Area to render to. Units are measured in twips. Twips are        screen-independent units to ensure that the proportion of screen elements        are the same on all display systems. A twip is defined as being 1/1440 of        an inch.&lt;br /&gt;
&lt;b&gt;rcPage&lt;/b&gt; Entire area of rendering device. Units are measured in twips. &lt;br /&gt;
&lt;b&gt;chrg&lt;/b&gt; TCHARRANGE record that specifies the range of text to format.&lt;br /&gt;
This record usually is used with the EM_EXGETSEL and EM_EXSETSEL messages and includes two fields: cpMin and cpMax.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;cpMin&lt;/b&gt; is a character position index immediately preceding the first        character in the range. &lt;br /&gt;
&lt;b&gt;cpMax&lt;/b&gt; is a character position immediately following the last character in        the range.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;function &amp;nbsp;&lt;/b&gt;PrintRTFToBitmap(ARichEdit : TRichEdit; ABitmap : TBitmap) :        Longint;&lt;br /&gt;
&lt;b&gt;var&lt;br /&gt;
&amp;nbsp;&lt;/b&gt;range&amp;nbsp;&amp;nbsp; &amp;nbsp;: TFormatRange;&lt;br /&gt;
&lt;b&gt;begin&lt;br /&gt;
&amp;nbsp;&lt;/b&gt;&amp;nbsp; FillChar(Range, SizeOf(TFormatRange), &lt;span style="color: navy;"&gt;0&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;span style="color: navy;"&gt;&lt;i&gt;// Rendering to the same DC we are measuring.&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;/i&gt;&lt;/span&gt;Range.hdc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;:=        ABitmap.Canvas.handle;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;Range.hdcTarget &amp;nbsp;:= ABitmap.Canvas.Handle;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;span style="color: navy;"&gt;&lt;i&gt;// Set up the page.&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;/i&gt;&lt;/span&gt;Range.rc.left&amp;nbsp;&amp;nbsp; &amp;nbsp;:= &lt;span style="color: navy;"&gt;0&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;Range.rc.top&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; := &lt;span style="color: navy;"&gt;0&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;Range.rc.right&amp;nbsp;&amp;nbsp; := ABitmap.Width * &lt;span style="color: navy;"&gt;1440 &lt;/span&gt;&lt;b&gt;       div &lt;/b&gt;Screen.PixelsPerInch;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;Range.rc.Bottom &amp;nbsp;:= ABitmap.Height * &lt;span style="color: navy;"&gt;1440 &lt;/span&gt;&lt;b&gt;       div &lt;/b&gt;Screen.PixelsPerInch;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;span style="color: navy;"&gt;&lt;i&gt;// Default the range of text to print as the        entire document.&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;/i&gt;&lt;/span&gt;Range.chrg.cpMax := -&lt;span style="color: navy;"&gt;1&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;Range.chrg.cpMin := &lt;span style="color: navy;"&gt;0&lt;/span&gt;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;span style="color: navy;"&gt;&lt;i&gt;// format the text&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;/i&gt;&lt;/span&gt;Result := SendMessage(ARichedit.Handle, EM_FORMATRANGE, &lt;span style="color: navy;"&gt;1&lt;/span&gt;, Longint(@Range));&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;span style="color: navy;"&gt;&lt;i&gt;// Free cached information&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;&lt;/i&gt;&lt;/span&gt;SendMessage(ARichEdit.handle, EM_FORMATRANGE, &lt;span style="color: navy;"&gt;       0&lt;/span&gt;,&lt;span style="color: navy;"&gt;0&lt;/span&gt;);&lt;br /&gt;
&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;
The next example shows how to draw the Rich Edit not only to any canvas, but also how to draw only selected text range.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;function &lt;/b&gt;PrintToCanvas(ACanvas : TCanvas; FromChar, ToChar : integer;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;        ARichEdit : TRichEdit; AWidth, AHeight : integer) : Longint;&lt;br /&gt;
&lt;b&gt;var&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;/b&gt;Range&amp;nbsp;&amp;nbsp; &amp;nbsp;: TFormatRange;&lt;br /&gt;
&lt;b&gt;begin&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;&lt;/b&gt;FillChar(Range, SizeOf(TFormatRange), &lt;span style="color: navy;"&gt;0&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.hdc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;:= ACanvas.handle;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.hdcTarget &amp;nbsp;:= ACanvas.Handle;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.rc.left&amp;nbsp;&amp;nbsp; &amp;nbsp;:= &lt;span style="color: navy;"&gt;0&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.rc.top&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; := &lt;span style="color: navy;"&gt;0&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.rc.right&amp;nbsp;&amp;nbsp; := AWidth * &lt;span style="color: navy;"&gt;1440 &lt;/span&gt;&lt;b&gt;       div &lt;/b&gt;       Screen.PixelsPerInch;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.rc.Bottom &amp;nbsp;:= AHeight * &lt;span style="color: navy;"&gt;1440 &lt;/span&gt;&lt;b&gt;div &lt;/b&gt;       Screen.PixelsPerInch;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.chrg.cpMax := ToChar;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Range.chrg.cpMin := FromChar;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;Result := SendMessage(ARichedit.Handle, EM_FORMATRANGE, &lt;span style="color: navy;"&gt;       1&lt;/span&gt;, Longint(@Range));&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;SendMessage(ARichEdit.handle, EM_FORMATRANGE, &lt;span style="color: navy;"&gt;0&lt;/span&gt;,&lt;span style="color: navy;"&gt;0&lt;/span&gt;);&lt;br /&gt;
&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;
But how to draw a Rich Text with the background image?&lt;br /&gt;
That is hopeless with the standard TRichedit control, because it  based on the Windows control and have no provision to handle background  bitmaps or transparency.&lt;br /&gt;
In this case we can use two different bitmaps for background and drawing the Rich Text and after combine them togehter.&lt;br /&gt;
&lt;b&gt;procedure &lt;/b&gt;TForm1.Button2Click(Sender: TObject);&lt;br /&gt;
&lt;b&gt;var &lt;/b&gt;Bmp : TBitmap;&lt;br /&gt;
&lt;b&gt;begin&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;&lt;/b&gt;Bmp := TBitmap.Create;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;bmp.Width := &lt;span style="color: navy;"&gt;300&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;bmp.Height := &lt;span style="color: navy;"&gt;300&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;PrintToCanvas(bmp.Canvas,&lt;span style="color: navy;"&gt;2&lt;/span&gt;,&lt;span style="color: navy;"&gt;5&lt;/span&gt;,RichEdit1,&lt;span style="color: navy;"&gt;300&lt;/span&gt;,&lt;span style="color: navy;"&gt;300&lt;/span&gt;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;       &amp;nbsp;BitBlt(Image1.Picture.Bitmap.Canvas.Handle, &lt;span style="color: navy;"&gt;0&lt;/span&gt;, &lt;span style="color: navy;"&gt;0&lt;/span&gt;, Bmp.Width, Bmp.Height,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bmp.Canvas.Handle, &lt;span style="color: navy;"&gt;       0&lt;/span&gt;, &lt;span style="color: navy;"&gt;       0&lt;/span&gt;, srcAND);&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;Image1.Repaint;&lt;br /&gt;
&amp;nbsp;       &amp;nbsp;bmp.Free;&lt;br /&gt;
&lt;b&gt;end&lt;/b&gt;;&lt;br /&gt;
This tutorial was kindly provided by &lt;a href="http://users.chello.be/ws36637"&gt;serge perevoznyk&lt;/a&gt;, thank you Serge&lt;br /&gt;
&lt;br /&gt;
&lt;center&gt;              &lt;form action="http://www.google.com/custom" method="get" target="google_window"&gt;         &lt;table bgcolor="#ffffff" border="0"&gt;&lt;tbody&gt;
&lt;tr&gt;             &lt;td align="left" height="32" nowrap="nowrap" valign="top"&gt;&lt;a href="http://www.google.com/"&gt; &lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/form&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-239468847078982103?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yJNLnpbYwzpWG3OKfmA-5JcNKxs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yJNLnpbYwzpWG3OKfmA-5JcNKxs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yJNLnpbYwzpWG3OKfmA-5JcNKxs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yJNLnpbYwzpWG3OKfmA-5JcNKxs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/4uGhsv_ASP0" height="1" width="1"/&gt;</content><link rel="related" href="http://endanesia.com" title="How to show printing a Rich Edit control onto a bitmap for preview" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/239468847078982103/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=239468847078982103" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/239468847078982103?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/239468847078982103?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/4uGhsv_ASP0/how-to-show-printing-rich-edit-control.html" title="How to show printing a Rich Edit control onto a bitmap for preview" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2011/11/how-to-show-printing-rich-edit-control.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UCQXg7cSp7ImA9WhRSFEg.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-64873964054234049</id><published>2011-11-16T05:47:00.001-08:00</published><updated>2011-11-16T05:47:40.609-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-16T05:47:40.609-08:00</app:edited><title>Mengubah Background Toolbar Windows Explorer dgn Gambar Bitmap</title><content type="html">&lt;h3 class="post-title entry-title"&gt; Mengubah Background Toolbar Windows Explorer dgn Gambar Bitmap &lt;/h3&gt;&lt;div class="post-header"&gt;  &lt;/div&gt;Program ini menjelaskan tentang  mengubah background toolbar windos Explorer dengan gambar bitmap. Yang  dilakukan program ini sangat sederhana, yakni memberikan data value  BackBitmapShell pada key &lt;span style="font-style: italic;"&gt;HKEY_CURRENT_USER\Software\Microsoft\Internet&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Explorer\Toolbat&lt;/span&gt; dan nilainya merupakan path file bitmap yang digunakan.&lt;br /&gt;
Pada Fom rancang 2 Button dan poperty Dialog dengan mengambil OpenPictureDialog, dan juga EditText&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: 130%; font-style: italic;"&gt;Ini Listing program selengkapnya&lt;br /&gt;
&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Procedure Tform1.Button1Click(Sender:TObject);&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt; if OpenPictureDialog1.Execute then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;    Edit1.Text:=OpenPicutreDialog1.FileName;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;end;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Procedure Tfrom1.Button2Click(Sender:TObject);&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;var Register:Tregister;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  Register:=Tregister.create;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  Register.RootKey:=HKEY_CURRENT_USER;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;try&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt; try&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  Register.OpenKey('\Software\Microsoft\Internet Explorer\'+ 'Toolbar',True);&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  Register.WriteString('BackBitmapShell',Edit1.Text);&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  ShowMessage('Berhasil mengubah background toolbar'+#13+'Untuk melihat hasilnya,buka'+&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  ' "Windows Explorer" baru.');&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Except on ERegistryException do&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;  ShowMessage('Gagal mengubah background toolbar explorer');&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;end;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Finally&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt; Register.CloseKey;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Register.Free;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;end;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Selamat mencoba&amp;gt;&amp;gt;&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-64873964054234049?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tVHEWNOrNQVXMRoFBRK5aIZAMhY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tVHEWNOrNQVXMRoFBRK5aIZAMhY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tVHEWNOrNQVXMRoFBRK5aIZAMhY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tVHEWNOrNQVXMRoFBRK5aIZAMhY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/KzRHaA_Y-pE" height="1" width="1"/&gt;</content><link rel="related" href="http://endanesia.com" title="Mengubah Background Toolbar Windows Explorer dgn Gambar Bitmap" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/64873964054234049/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=64873964054234049" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/64873964054234049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/64873964054234049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/KzRHaA_Y-pE/mengubah-background-toolbar-windows.html" title="Mengubah Background Toolbar Windows Explorer dgn Gambar Bitmap" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2011/11/mengubah-background-toolbar-windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYARX0_fip7ImA9Wx9RE0U.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-5932352282894211711</id><published>2010-12-14T20:25:00.001-08:00</published><updated>2010-12-14T20:25:44.346-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-14T20:25:44.346-08:00</app:edited><title>Run your Delphi application fullscreen</title><content type="html">&lt;div style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 10pt;"&gt;Here's a nice trick to run your application&amp;nbsp;&lt;b style="color: #003399; font-weight: bold;"&gt;fullscreen&lt;/b&gt;.&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 10pt;"&gt;A "normal" form doesn't cover the entire screen, but only a part of it. Of course you could maximize your form, but then it still wouldn't cover the entire screensize, because of the&amp;nbsp;&lt;i&gt;title bar&lt;/i&gt;&amp;nbsp;of the window and because of Windows'&amp;nbsp;&lt;i&gt;taskbar&lt;/i&gt;.&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 10pt;"&gt;In order to hide both the title bar and the task bar, so to make your form have the same dimensions as the screen dimensions,&amp;nbsp;&lt;b style="color: #003399; font-weight: bold;"&gt;turn off the border&lt;/b&gt;of the form and then&amp;nbsp;&lt;b style="color: #003399; font-weight: bold;"&gt;maximize&lt;/b&gt;&amp;nbsp;it. You can do this in the form's OnCreate event. The OnCreate event-handler should look like this:&lt;/div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 13px;"&gt;&lt;pre class="preg" style="background-color: #f0f0ff; border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: dotted; border-top-width: 1px; color: black; font-family: 'courier new'; font-size: 10pt; margin-bottom: 8px; margin-left: 8px; margin-right: 8px; margin-top: 8px; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 500px;"&gt;procedure TForm1.FormCreate(Sender: TObject);
begin
  BorderStyle := bsNone;
  WindowState := wsMaximized;
end;&lt;/pre&gt;&lt;/span&gt;&lt;div style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 10pt;"&gt;Now run your application: it covers the entire screen!&lt;/div&gt;&lt;div style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 10pt;"&gt;But... how do you stop the program? Simply press&amp;nbsp;&lt;b style="color: #003399; font-weight: bold;"&gt;Alt-F4&lt;/b&gt;. Because that's not very friendly towards the user, you'd better add a button with a caption (title)&amp;nbsp;&lt;b style="color: #003399; font-weight: bold;"&gt;Close&lt;/b&gt;, that closes the form; if this is the main form (or only form), you also automatically end the program. Here's the button's OnClick event handler:&lt;/div&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 4px; -webkit-border-vertical-spacing: 4px; color: #003366; font-family: arial, verdana, sans-serif; font-size: 13px;"&gt;&lt;pre class="preg" style="background-color: #f0f0ff; border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: dotted; border-left-width: 1px; border-right-color: rgb(204, 204, 204); border-right-style: dotted; border-right-width: 1px; border-top-color: rgb(204, 204, 204); border-top-style: dotted; border-top-width: 1px; color: black; font-family: 'courier new'; font-size: 10pt; margin-bottom: 0px; margin-left: 8px; margin-right: 8px; margin-top: 8px; padding-bottom: 8px; padding-left: 8px; padding-right: 8px; padding-top: 8px; width: 500px;"&gt;procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;&lt;/pre&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-5932352282894211711?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/i1zcNoLvnBI_jt0DWKA3tNBSNSs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i1zcNoLvnBI_jt0DWKA3tNBSNSs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/i1zcNoLvnBI_jt0DWKA3tNBSNSs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/i1zcNoLvnBI_jt0DWKA3tNBSNSs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/uHw79pOMBds" height="1" width="1"/&gt;</content><link rel="related" href="http://www.festra.com/eng/snip13.htm" title="Run your Delphi application fullscreen" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/5932352282894211711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=5932352282894211711" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5932352282894211711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5932352282894211711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/uHw79pOMBds/run-your-delphi-application-fullscreen.html" title="Run your Delphi application fullscreen" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2010/12/run-your-delphi-application-fullscreen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8NQH47eSp7ImA9Wx5bFko.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-6412094739628427783</id><published>2010-11-01T22:48:00.000-07:00</published><updated>2010-11-01T22:48:11.001-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-01T22:48:11.001-07:00</app:edited><title>Delphi Basics hints and tips</title><content type="html">Delphi Basics hints and tips &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The idea of this page is to collect together in one place small, but eminently useful aids to efficient and productive programming in Delphi.&lt;br /&gt;
&lt;br /&gt;
This list will start small, and grow with just the best hints and tips. Alternatively, you can look in Delphi help - for example, type in Shortcuts in the Find tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Feel free to contact the author to add to the list here - your suggestions are more than welcome.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Editor shortcuts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Shortcut Keys Resulting actions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alt + BlockSelect Allows column constrained selection of a text block.&lt;br /&gt;
&lt;br /&gt;
Normally, when you select more than one line using the mouse (by dragging with the left mouse button down) or the arrow keys (with shift held down), the text on the middle lines is always the whole line.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By holding down the Alt key before doing starting the selection, you mark just a vertical block of text. (You can release the Alt key as soon as you have started marking).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you insert the copied block, it will insert the text where the cursor is positioned, but will not create new lines. It effectively inserts horizontally, but not vertically. The best way to see the effect is to try it!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + Shift + i Block Indent. Indents a block of text (lines or Alt-selection) by the tab amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + Shit + u Block UnIndent. UnIndents a block of text (lines or Alt-selection) by the tab amount.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + Shift&lt;br /&gt;
&lt;br /&gt;
+ UpArrow Switch between routine definition and implementation.&lt;br /&gt;
&lt;br /&gt;
Position the cursor on the line of a function or procedure in the interface part of your unit, and this key combination will move to the implementation. And vice versa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + Shift + c Code completion&lt;br /&gt;
&lt;br /&gt;
Position the cursor at a new function or procedure definition, and this key combination will create the code skeleton, and move the cursor into the begin block ready for typing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + Shift + r Macro record&lt;br /&gt;
&lt;br /&gt;
Records the subsequent mouse and key actions as a macro. Finish with the same key combination.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + Shift + p Macro play&lt;br /&gt;
&lt;br /&gt;
Plays the last recorded macro.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ctrl + e Incremental search. The letters you subsequently type form a search string. As you type, it moves to the first part of the current file that matches the string.&lt;br /&gt;
&lt;br /&gt;
It is not case sensitive. Press Escape to stop searching.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-6412094739628427783?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6sr9SDhRcrfprbZ6l-AR4ubJcVc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6sr9SDhRcrfprbZ6l-AR4ubJcVc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6sr9SDhRcrfprbZ6l-AR4ubJcVc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6sr9SDhRcrfprbZ6l-AR4ubJcVc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/-JJbZ0UdFsY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/6412094739628427783/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=6412094739628427783" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/6412094739628427783?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/6412094739628427783?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/-JJbZ0UdFsY/delphi-basics-hints-and-tips.html" title="Delphi Basics hints and tips" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2010/11/delphi-basics-hints-and-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HQHk_eCp7ImA9Wx5TE0o.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-1148083418946290411</id><published>2010-07-28T20:07:00.000-07:00</published><updated>2010-07-28T20:07:11.740-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-28T20:07:11.740-07:00</app:edited><title>Google Map API on Delphi</title><content type="html">&lt;div class="container"&gt;&lt;div id="content"&gt;&lt;div id="mainbar"&gt;&lt;div id="answers"&gt;&lt;div class="answer" id="answer-559725"&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class="post-text"&gt;I've  wrapped the Google Maps API some time ago.  It's a component that contains a TWebBrowser that loads a local html  file that contains some javascript helper functions and sets up a basic  Google maps page. The HTML file is embedded into the exe as a resource  for easy deployment.&lt;br /&gt;
It can use some work, but it has done some nice jobs for me already. It expands on the idea that was posed here: &lt;a href="http://www.xs4all.nl/~niff/GoogleMaps.zip" rel="nofollow"&gt;http://www.stevetrefethen.com/blog/UsingGoogleMapsFromVCLSampleApplication.aspx&lt;/a&gt;&lt;br /&gt;
I've put a demo executable and sourcecode online here:  &lt;a href="http://www.xs4all.nl/~niff/GoogleMaps.zip" rel="nofollow"&gt;http://www.xs4all.nl/~niff/GoogleMaps.zip&lt;/a&gt;&lt;br /&gt;
On this screenshot I've switched to the Google Earth view:&lt;br /&gt;
&lt;img src="http://www.xs4all.nl/~niff/GoogleMapsDemo.png" width="620" /&gt;&lt;br /&gt;
Here are a few examples of how you can use it:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Center the map to some shithole in the Netherlands, with nicely rounded coordinates:&lt;br /&gt;
&lt;blockquote&gt; &lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;SetCenter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;52&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="lit"&gt;5&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="kwd"&gt;True&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;Load a KML or KMZ file:&lt;br /&gt;
&lt;blockquote&gt; &lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="typ"&gt;GeoXML&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGGeoXML&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;'http://mywebsite.com/mykml.kmz'&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="typ"&gt;GeoXML&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;AddOverlay&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GeoXML&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;Switch to the embedded version of Google Earth, for fast and smooth 3d action:&lt;br /&gt;
&lt;blockquote&gt; &lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;MapType&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:=&lt;/span&gt;&lt;span class="pln"&gt; MT_SATELLITE_3D&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;Keep a list of overlays, and manage it via Delphi structures:&lt;br /&gt;
&lt;blockquote&gt; &lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Overlays&lt;/span&gt;&lt;span class="pun"&gt;[&lt;/span&gt;&lt;span class="lit"&gt;2&lt;/span&gt;&lt;span class="pun"&gt;].&lt;/span&gt;&lt;span class="pln"&gt;hide&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// hide overlay 2&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;RemoveOverlayByIndex&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="lit"&gt;3&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// delete overlay 3&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;It lets you create polygons using fast Delphi arrays and then plot that in GMaps;&lt;/li&gt;
&lt;/ul&gt;&lt;blockquote&gt; &lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="typ"&gt;MyPolygon&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;MyPointArray&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="typ"&gt;MyPolygon&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Color&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:=&lt;/span&gt;&lt;span class="pln"&gt; clBlue&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;MyPolygon&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Name&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="str"&gt;'Awesome Polygon 1'&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps1&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;AddPolygon&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;MyPolygon&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;It doesn't intend to wrap the full API; it's just to make life easier when dealing with Google maps. The unit DouglasPeuckers is not really needed. It's used to simplify a polygon when you run out of resources.&lt;br /&gt;
Good luck, and let me know if you've created something useful with it.&lt;br /&gt;
&lt;pre class="prettyprint"&gt;&lt;code&gt;&lt;span class="pun"&gt;{—————————————————————————————————————————————————————————————————————————}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Project&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; uGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;pas &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Comment&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Google&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Maps&lt;/span&gt;&lt;span class="pln"&gt; API wrapper &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="typ"&gt;Date&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;14&lt;/span&gt;&lt;span class="pln"&gt; mrt &lt;/span&gt;&lt;span class="lit"&gt;2008&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="typ"&gt;Author&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Wouter&lt;/span&gt;&lt;span class="pln"&gt; van &lt;/span&gt;&lt;span class="typ"&gt;Nifterick&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{—————————————————————————————————————————————————————————————————————————}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;The&lt;/span&gt;&lt;span class="pln"&gt; aim of &lt;/span&gt;&lt;span class="kwd"&gt;this&lt;/span&gt;&lt;span class="pln"&gt; unit &lt;/span&gt;&lt;span class="kwd"&gt;is&lt;/span&gt;&lt;span class="pln"&gt; to wrap the &lt;/span&gt;&lt;span class="typ"&gt;Google&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Maps&lt;/span&gt;&lt;span class="pln"&gt; API &lt;/span&gt;&lt;span class="kwd"&gt;in&lt;/span&gt;&lt;span class="pln"&gt; such a way that &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; users don&lt;/span&gt;&lt;span class="str"&gt;'t need to know that map operations end up being rendered by &amp;nbsp; }
{ a browser component and JavaScript. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
{ JavaScript classes have a Delphi counterpart, and each Delphi class &amp;nbsp; &amp;nbsp; }
{ takes care of proper JavaScript rendering and execution. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
{ For many things, like constructing detailed polygons, this provides a &amp;nbsp; }
{ major performance boost and adds compile-time type checking. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
{ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
{ A big limitation so far is that I didn'&lt;/span&gt;&lt;span class="pln"&gt;t find a way to directly &lt;/span&gt;&lt;span class="kwd"&gt;pass&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; complex types &lt;/span&gt;&lt;span class="kwd"&gt;from&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;and&lt;/span&gt;&lt;span class="pln"&gt; to the &lt;/span&gt;&lt;span class="typ"&gt;JavaScript&lt;/span&gt;&lt;span class="pln"&gt; engine &lt;/span&gt;&lt;span class="kwd"&gt;in&lt;/span&gt;&lt;span class="pln"&gt; IE via COM&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; so &lt;/span&gt;&lt;span class="kwd"&gt;for&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; now&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; everything needs to be &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;de&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;serialized to &lt;/span&gt;&lt;span class="kwd"&gt;and&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;from&lt;/span&gt;&lt;span class="pln"&gt; strings&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:(&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{—————————————————————————————————————————————————————————————————————————}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Last&lt;/span&gt;&lt;span class="pln"&gt; modified &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="typ"&gt;Date&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="typ"&gt;Author&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{—————————————————————————————————————————————————————————————————————————}&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;$M&lt;/span&gt;&lt;span class="pun"&gt;+}&lt;/span&gt;&lt;span class="pln"&gt;

unit uGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="kwd"&gt;interface&lt;/span&gt;&lt;span class="pln"&gt;

uses
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Controls&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Dialogs&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;ActiveX&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;StdCtrls&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;ExtCtrls&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;SysUtils&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Classes&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Contnrs&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Forms&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;SHDocVw&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; MSHTML&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;StrUtils&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;DouglasPeuckers&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp;, &amp;nbsp;uGoogleEarth_intf&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;GoogleMapsFileName&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="str"&gt;'GoogleMaps.html'&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; WGS84_MULT_FACT &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;100000&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// multiply lat/lon values by this value in order to fit them into integers&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; DEFAULT_SIMPLIFY_TOLERANCE &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="lit"&gt;0.5&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;$R &lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps_html&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="pln"&gt;res&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;


type


&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMapControl&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;MC_NONE&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="lit"&gt;1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;MC_SMALL&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;MC_LARGE&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMapType&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;MT_NORMAL&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="lit"&gt;1&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;MT_SATELLITE&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;MT_HYBRID&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;MT_PHYSICAL&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;MT_SATELLITE_3D&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMaps&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// forward declaration&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;GIcon&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// to be implemented&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;interface&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;IInterface&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;JsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;interface&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;IInterface&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure hide&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// Hides the object if the overlay is both currently visible and the overlay's supportsHide() method returns true. Note that this method will trigger the respective visibilitychanged event for each child overlay that fires that event (e.g. GMarker.visibilitychanged, GGroundOverlay.visibilitychanged, etc.). If no overlays are currently visible that return supportsHide() as true, this method has no effect. (Since 2.87)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;isHidden &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns true if the GGeoXml object is currently hidden, as changed by the GGeoXml.hide() method. Otherwise returns false. (Since 2.87)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure show&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// Shows the child overlays created by the GGeoXml object, if they are currently hidden. Note that this method will trigger the respective visibilitychanged event for each child overlay that fires that event (e.g. GMarker.visibilitychanged, GGroundOverlay.visibilitychanged). (Since 2.87)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;supportsHide &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;


&amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// marker class&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;GMarkerOptions&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt;record
&amp;nbsp; &amp;nbsp; icon &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GIcon&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// Chooses the Icon for this class. If not specified, G_DEFAULT_ICON is used. (Since 2.50)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; dragCrossMove &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// When dragging markers normally, the marker floats up and away from the cursor. Setting this value to true keeps the marker underneath the cursor, and moves the cross downwards instead. The default value for this option is false. (Since 2.63)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; title &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// This string will appear as tooltip on the marker, i.e. it will work just as the title attribute on HTML elements. (Since 2.50)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; clickable &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// Toggles whether or not the marker is clickable. Markers that are not clickable or draggable are inert, consume less resources and do not respond to any events. The default value for this option is true, i.e. if the option is not specified, the marker will be clickable. (Since 2.50)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; draggable &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// Toggles whether or not the marker will be draggable by users. Markers set up to be dragged require more resources to set up than markers that are clickable. Any marker that is draggable is also clickable, bouncy and auto-pan enabled by default. The default value for this option is false. (Since 2.61)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; bouncy &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// Toggles whether or not the marker should bounce up and down after it finishes dragging. The default value for this option is false. (Since 2.61)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; bounceGravity &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// When finishing dragging, this number is used to define the acceleration rate of the marker during the bounce down to earth. The default value for this option is 1. (Since 2.61)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; autoPan &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="com"&gt;// Auto-pan the map as you drag the marker near the edge. If the marker is draggable the default value for this option is true. (Since 2.87)&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// to implement:&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;zIndexProcess : Function; // This function is used for changing the z-Index order of the markers when they are overlaid on the map and is also called when their infowindow is opened. The default order is that the more southerly markers are placed higher than more northerly markers. This function is passed in the GMarker object and returns a number indicating the new z-index. (Since 2.98)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGPoint&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TInterfacedObject&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FLat&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aLat&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;aLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Lat&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FLat&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FLat&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Lng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FLng&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Equals&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;AGLatLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToString&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;JsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;


&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGBounds&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TInterfacedObject&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FMinX&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;FMinY&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;FMaxX&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;FMaxY&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FMin&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;FMax&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;FMid&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetMax&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetMid&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetMin&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property minX &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FMinX&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FMinX&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property minY &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FMinY&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FMinY&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property maxX &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FMaxX&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FMaxX&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property maxY &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FMaxY&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FMaxY&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToString&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Equals&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aGBounds&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGBounds&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Min&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetMin&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Mid&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetMid&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Max&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetMax&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;JsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure setNorthEast&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure setSouthWest&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;sw&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt;ne&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; contains&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aLatLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; deprecated&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns true iff the geographical coordinates of the point lie within this rectangle. (Deprecated since 2.88)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; containsLatLng&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aLatLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns true iff the geographical coordinates of the point lie within this rectangle. (Since 2.88)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; intersects&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; containsBounds&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure extend&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aLatLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Enlarges this rectangle such that it contains the given point. In longitude direction, it is enlarged in the smaller of the two possible ways. If both are equal, it is enlarged at the eastern boundary.&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; toSpan&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns a GLatLng whose coordinates represent the size of this rectangle.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; isFullLat&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns true if this rectangle extends from the south pole to the north pole.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; isFullLng&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns true if this rectangle extends fully around the earth in the longitude direction.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; isEmpty&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns true if this rectangle is empty.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; getCenter&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns the point at the center of the rectangle. (Since 2.52)&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; getSouthWest&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns the point at the south-west corner of the rectangle.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; getNorthEast&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;Returns the point at the north-east corner of the rectangle.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;SouthWest&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read getSouthWest write setSouthWest&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;NorthEast&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read getNorthEast write setNorthEast&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToString&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Equals&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TColor&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// abstract class.. subclassed by TGMarker and TGPolygon and TGPolyLine..&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TInterfacedObject&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; FID&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetID&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure hide&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; isHidden&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure show&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; supportsHide&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; property ID&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pln"&gt; read FID write &lt;/span&gt;&lt;span class="typ"&gt;SetID&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;abstract&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;JsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetJsVarName&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;GoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGoogleMaps&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FGoogleMaps&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Name&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FName&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetName&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="kwd"&gt;string&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TOverlayList&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TObjectList&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;AutoIncrementID&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetItems&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Index&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetItems&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Index&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Items&lt;/span&gt;&lt;span class="pun"&gt;[&lt;/span&gt;&lt;span class="typ"&gt;Index&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;]:&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetItems&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetItems&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;default&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Add&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aGOverlay&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Clear&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToString&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;



&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGInfoWindow&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Maximize&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Restore&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; FHTML&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetHTML&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property HTML&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read FHTML write &lt;/span&gt;&lt;span class="typ"&gt;SetHTML&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aCenter&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; supportsHide&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;


&amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// used to show a location on a map&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// can be dragged, can show a popup, can have custom colors and icon&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGMarker&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FCenter&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FDraggingEnabled&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure setLatLng&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetDraggingEnabled&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; supportsHide&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aCenter&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Center&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FCenter&lt;/span&gt;&lt;span class="pln"&gt; write setLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;DraggingEnabled&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FDraggingEnabled&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetDraggingEnabled&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; TODO &lt;/span&gt;&lt;span class="lit"&gt;3&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;-&lt;/span&gt;&lt;span class="pln"&gt;oWouter &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; implement all marker methods &lt;/span&gt;&lt;span class="kwd"&gt;and&lt;/span&gt;&lt;span class="pln"&gt; events &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; procedure openInfoWindow&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aContent&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Opens the map info window over the icon of the marker. The content of the info window is given as a DOM node. Only option GInfoWindowOptions.maxWidth is applicable.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure openInfoWindowHtml&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aContent&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Opens the map info window over the icon of the marker. The content of the info window is given as a string that contains HTML text. Only option GInfoWindowOptions.maxWidth is applicable.&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp;procedure openInfoWindowTabs&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;tabs&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as DOM nodes. Only options GInfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure openInfoWindowTabsHtml&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;tabs&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Opens the tabbed map info window over the icon of the marker. The content of the info window is given as an array of tabs that contain the tab content as Strings that contain HTML text. Only options InfoWindowOptions.maxWidth and InfoWindowOptions.selectedTab are applicable.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure bindInfoWindow&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;content&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Binds the given DOM node to this marker. The content within this node will be automatically displayed in the info window when the marker is clicked. Pass content as null to unbind. (Since 2.85)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure bindInfoWindowHtml&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;content&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Binds the given HTML to this marker. The HTML content will be automatically displayed in the info window when the marker is clicked. Pass content as null to unbind. (Since 2.85)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure bindInfoWindowTabs&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;tabs&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Binds the given GInfoWindowTabs (provided as DOM nodes) to this marker. The content within these tabs' nodes will be automatically displayed in the info window when the marker is clicked. Pass tabs as null to unbind. (Since 2.85)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure bindInfoWindowTabsHtml&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;tabs&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="pln"&gt; opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Binds the given GInfoWindowTabs (provided as strings of HTML) to this marker. The HTML content within these tabs will be automatically displayed in the info window when the marker is clicked. Pass tabs as null to unbind. (Since 2.85)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure closeInfoWindow&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Closes the info window only if it belongs to this marker. (Since 2.85)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure showMapBlowup&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;opts&lt;/span&gt;&lt;span class="pun"&gt;?)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Opens the map info window over the icon of the marker. The content of the info window is a closeup map around the marker position. Only options InfoWindowOptions.zoomLevel and InfoWindowOptions.mapType are applicable.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure getIcon&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GIcon&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns the icon of this marker, as set by the constructor.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure getTitle&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns the title of this marker, as set by the constructor via the GMarkerOptions.title property. Returns undefined if no title is passed in. (Since 2.85)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure getPoint&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by setPoint(). (Deprecated since 2.88)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure getLatLng&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns the geographical coordinates at which this marker is anchored, as set by the constructor or by setLatLng(). (Since 2.88)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure setPoint&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;latlng&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Sets the geographical coordinates of the point at which this marker is anchored. (Deprecated since 2.88)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure setLatLng&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;latlng&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Sets the geographical coordinates of the point at which this marker is anchored. (Since 2.88)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure enableDragging&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Enables the marker to be dragged and dropped around the map. To function, the marker must have been initialized with GMarkerOptions.draggable = true.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure disableDragging&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Disables the marker from being dragged and dropped around the map.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure draggable&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns true if the marker has been initialized via the constructor using GMarkerOptions.draggable = true. Otherwise, returns false.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure draggingEnabled&lt;/span&gt;&lt;span class="pun"&gt;()&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Returns true if the marker is currently enabled for the user to drag on the map.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure setImage&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;url&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; none&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Requests the image specified by the url to be set as the foreground image for this marker. Note that neither the print image nor the shadow image are adjusted. Therefore this method is primarily intended to implement highlighting or dimming effects, rather than drastic changes in marker's appearances. (Since 2.75)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;


&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGGeoXml&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FUrlOfXml&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetUrlOfXml&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;function &amp;nbsp;getTileLayerOverlay: GTileLayerOverlay; // GGeoXml objects may create a tile overlay for optimization purposes in certain cases. This method returns this tile layer overlay (if available). Note that the tile overlay may be null if not needed, or if the GGeoXml file has not yet finished loading. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;function &amp;nbsp;getDefaultCenter &amp;nbsp; : GLatLng; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Returns the center of the default viewport as a lat/lng. This function should only be called after the file has been loaded. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;function &amp;nbsp;getDefaultSpan &amp;nbsp; &amp;nbsp; : GLatLng; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Returns the span of the default viewport as a lat/lng. This function should only be called after the file has been loaded. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;function &amp;nbsp;getDefaultBounds &amp;nbsp; : GLatLngBounds; &amp;nbsp; &amp;nbsp; // Returns the bounding box of the default viewport. This function should only be called after the file has been loaded. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure gotoDefaultViewport&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Map&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// Sets the map's viewport to the default viewport of the XML file. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;function &amp;nbsp;hasLoaded &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Boolean; // Checks to see if the XML file has finished loading, in which case it returns true. If the XML file has not finished loading, this method returns false. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;span class="com"&gt;// &amp;nbsp; &amp;nbsp;function &amp;nbsp;loadedCorrectly &amp;nbsp; &amp;nbsp;: Boolean; // Checks to see if the XML file has loaded correctly, in which case it returns true. If the XML file has not loaded correctly, this method returns false. If the XML file has not finished loading, this method's return value is undefined. (Since 2.84)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;supportsHide &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// Always returns true. (Since 2.87)&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aUrlOfXml&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;UrlOfXml&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FUrlOfXml&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetUrlOfXml&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;


&amp;nbsp; &lt;/span&gt;&lt;span class="com"&gt;// polygon class&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FCoordinates&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Array&lt;/span&gt;&lt;span class="pln"&gt; of &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FOpacity&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;double&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FWeightPx&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FColor&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TColor&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FSimplified&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FIsDirty&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetColor&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TColor&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetOpacity&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;double&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetWeightPx&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; integer&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetCount&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetSimplified&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetSimplified&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aCoordinates&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; array of &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;overload&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aPoints&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Array&lt;/span&gt;&lt;span class="pln"&gt; of &lt;/span&gt;&lt;span class="typ"&gt;TPointFloat2D&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;overload&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; supportsHide&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Clear&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ToJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;AddPoint&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aGLatLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="pln"&gt;integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Color&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TColor&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FColor&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetColor&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;WeightPx&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt;integer read &lt;/span&gt;&lt;span class="typ"&gt;FWeightPx&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetWeightPx&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Opacity&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="kwd"&gt;double&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FOpacity&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetOpacity&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="com"&gt;// number between 0 and 1&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Count&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetCount&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;IsDirty&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FIsDirty&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FIsDirty&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Simplified&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetSimplified&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetSimplified&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; getSimplifiedVersion&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Tolerance&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt;DEFAULT_SIMPLIFY_TOLERANCE&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;PolyTypeStr&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;virtual&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGPolyLine&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;PolyTypeStr&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;JsClassName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGCopyright&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IJsClassWrapper&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;IHidable&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FminZoom&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Fid&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Fbounds&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;Ftext&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Setbounds&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Setid&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetminZoom&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Settext&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; property id &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read &lt;/span&gt;&lt;span class="typ"&gt;Fid&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;Setid&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// A unique identifier for this copyright information.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property minZoom &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read &lt;/span&gt;&lt;span class="typ"&gt;FminZoom&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetminZoom&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// The lowest zoom level at which this information applies.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property bounds &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;Fbounds&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;Setbounds&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// The region to which this information applies.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property text &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; read &lt;/span&gt;&lt;span class="typ"&gt;Ftext&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;Settext&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="com"&gt;// The text of the copyright message.&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aId &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; aBounds&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLngBounds&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;aMinZoom&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;aText&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;end&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMaps&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;TPanel&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;private&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FWebBrowser&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TWebBrowser&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FhasEnd&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FhasStart&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FLogLines&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TStrings&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FOverlays&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TOverlayList&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FMapType&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGoogleMapType&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FLatLngCenter&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FEnableDoubleClickZoom&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FEnableContinuousZoom&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FStatusPanel&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TPanel&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="typ"&gt;FJsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;LoadHTML&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;URL&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetLogLines&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TStrings&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetOverlays&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TOverlayList&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;Init&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SaveGoogleMapsHtml&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aFileName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetLatLngCenter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetEnableContinuousZoom&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetEnableDoubleClickZoom&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetLatLngCenter&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;WebBrowser&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TWebBrowser&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FWebBrowser&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FWebBrowser&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetMapType&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;AMapType&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGoogleMapType&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SaveHTML&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;FileName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetHTML&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property hasStart &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FhasStart&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FhasStart&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property hasEnd &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FhasEnd&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;FhasEnd&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetStatusPanel&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TPanel&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Value&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;DragKind&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;DragMode&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;DockSite&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Ctl3D&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;BiDiMode&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;AutoSize&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;HelpContext&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;HelpKeyword&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;HelpType&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Owner&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;ParentBackground&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;ParentBiDiMode&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;ParentCtl3D&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Showing&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;UseDockManager&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;VerticalAlignment&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;WheelAccumulator&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;



&amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;public&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; constructor &lt;/span&gt;&lt;span class="typ"&gt;Create&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;AOwner&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TComponent&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; destructor &lt;/span&gt;&lt;span class="typ"&gt;Destroy&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="kwd"&gt;override&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetCenter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Lat&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;Lng&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;Alt&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;doPan&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;false&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;overload&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetCenter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Lat&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;Lng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;doPan&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;false&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;overload&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SetCenter&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;LatLng&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;doPan&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="kwd"&gt;false&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;overload&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;HandleOnResize&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Sender&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TObject&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="kwd"&gt;function&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;GetJsValue&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aJavaScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;):&lt;/span&gt;&lt;span class="typ"&gt;OleVariant&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property HTML&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetHTML&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;CheckResize&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; published
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;StatusPanel&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp;&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TPanel&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FStatusPanel&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetStatusPanel&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;LogLines&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TStrings&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FLogLines&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetLogLines&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Overlays&lt;/span&gt;&lt;span class="pln"&gt; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TOverlayList&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FOverlays&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetOverlays&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;LatLngCenter&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;GetLatLngCenter&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetLatLngCenter&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;EnableContinuousZoom&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FEnableContinuousZoom&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetEnableContinuousZoom&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;default&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;true&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;EnableDoubleClickZoom&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Boolean&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FEnableDoubleClickZoom&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetEnableDoubleClickZoom&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;default&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;true&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;MapType&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGoogleMapType&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FMapType&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetMapType&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;JsVarName&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pln"&gt; read &lt;/span&gt;&lt;span class="typ"&gt;FJsVarName&lt;/span&gt;&lt;span class="pln"&gt; write &lt;/span&gt;&lt;span class="typ"&gt;SetJsVarName&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;AddControl&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ControlType&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGoogleMapControl&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;AddStartMarker&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;AddEndMarker&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;AddMarker&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Lat&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;Lon&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Double&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;AddPolygon&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;GPolygon&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGPolygon&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;AddOverlay&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aOverlay&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;RemoveOverlay&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aOverlay&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;TGOverlay&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;RemoveOverlayByIndex&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Index&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;Integer&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;ClearOverlays&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;SwapBeginEndMarkers&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;GetDirections&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;ShowAddress&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Street&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;City&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;State&lt;/span&gt;&lt;span class="pun"&gt;,&lt;/span&gt;&lt;span class="typ"&gt;Country&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure openInfoWindow&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;aLatlng &lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TGLatLng&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; aHTML&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure closeInfoWindow&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;ExecJavaScript&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; aScript&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="typ"&gt;String&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;WebBrowserDocumentComplete&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ASender&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;TObject&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;const&lt;/span&gt;&lt;span class="pln"&gt; pDisp&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;IDispatch&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;var&lt;/span&gt;&lt;span class="pln"&gt; URL&lt;/span&gt;&lt;span class="pun"&gt;:&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;OleVariant&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; procedure &lt;/span&gt;&lt;span class="typ"&gt;OnMouseOver&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;

&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;Align&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnClick&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnCanResize&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnResize&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnEnter&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnExit&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnKeyDown&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnKeyPress&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnKeyUp&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnDblClick&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnMouseWheel&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnMouseWheelDown&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnMouseWheelUp&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&amp;nbsp; &amp;nbsp; property &lt;/span&gt;&lt;span class="typ"&gt;OnConstrainedResize&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table class="fw"&gt;&lt;tbody&gt;
&lt;tr&gt;             &lt;td class="vt"&gt;                 &lt;div class="post-menu"&gt;&lt;/div&gt;&lt;/td&gt;&lt;td align="right" class="post-signature"&gt;&lt;br /&gt;
&lt;/td&gt;&lt;td align="right" class="post-signature"&gt;&lt;div class="user-info"&gt;&lt;div class="user-details"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;             &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;         &lt;/tr&gt;
&lt;tr&gt; &lt;td class="votecell"&gt;&lt;/td&gt; &lt;td&gt;     &lt;div class="comments" id="comments-559725"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt; &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;a href="" name="558716"&gt;&lt;/a&gt;          &lt;div class="answer" id="answer-558716"&gt;                  &lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;         &lt;td class="votecell"&gt;              &lt;div class="vote"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/td&gt;         &lt;td&gt;             &lt;div class="post-text"&gt;A quick Google search on "Google maps delphi" turned up 10+ pages of hits. Among the top 3 was &lt;a href="http://www.stevetrefethen.com/blog/UsingGoogleMapsFromVCLSampleApplication.aspx" rel="nofollow"&gt;Using Google Maps from a VCL Sample Application&lt;/a&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="footer"&gt;&lt;div class="footerwrap"&gt;         &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-1148083418946290411?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ye-L4-JxnZWzylUXr5SS80DFA2w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ye-L4-JxnZWzylUXr5SS80DFA2w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ye-L4-JxnZWzylUXr5SS80DFA2w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ye-L4-JxnZWzylUXr5SS80DFA2w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/8egBJToCUlk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/1148083418946290411/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=1148083418946290411" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/1148083418946290411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/1148083418946290411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/8egBJToCUlk/google-map-api-on-delphi.html" title="Google Map API on Delphi" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2010/07/google-map-api-on-delphi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEBR3czeip7ImA9WxFbGU0.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-9099895590622934415</id><published>2010-07-11T19:44:00.000-07:00</published><updated>2010-07-11T19:44:16.982-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-11T19:44:16.982-07:00</app:edited><title>Knowing the URL of the Browser with Delphi</title><content type="html">&lt;span style="font-size: x-small;"&gt;&lt;/span&gt;&lt;div style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: x-small;"&gt;unit Unit1;&lt;br /&gt;
&lt;br /&gt;
interface&lt;br /&gt;
&lt;br /&gt;
uses&lt;br /&gt;
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,&lt;br /&gt;
StdCtrls;&lt;br /&gt;
&lt;br /&gt;
type&lt;br /&gt;
TForm1 = class(TForm)&lt;br /&gt;
Button1: TButton;&lt;br /&gt;
Edit1: TEdit;&lt;br /&gt;
Label1: TLabel;&lt;br /&gt;
procedure Button1Click(Sender: TObject);&lt;br /&gt;
private&lt;br /&gt;
{ Private declarations }&lt;br /&gt;
public&lt;br /&gt;
{ Public declarations }&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
var&lt;br /&gt;
Form1: TForm1;&lt;br /&gt;
&lt;br /&gt;
implementation&lt;br /&gt;
&lt;br /&gt;
{$R *.DFM}&lt;br /&gt;
&lt;br /&gt;
uses ddeman;&lt;br /&gt;
&lt;br /&gt;
procedure TForm1.Button1Click(Sender: TObject);&lt;br /&gt;
const&lt;br /&gt;
sName = 'Name';&lt;br /&gt;
sURL = 'URL';&lt;br /&gt;
var&lt;br /&gt;
DDEClient : TDDEClientConv;&lt;br /&gt;
s : string;&lt;br /&gt;
begin&lt;br /&gt;
s := '';&lt;br /&gt;
try&lt;br /&gt;
DDEClient := TDDEClientConv.Create(self);&lt;br /&gt;
try&lt;br /&gt;
with DDEClient do&lt;br /&gt;
begin&lt;br /&gt;
if SetLink('IExplore','WWW_GetWindowInfo') then&lt;br /&gt;
s := RequestData('0xFFFFFFFF,sURL,sTitle')&lt;br /&gt;
else&lt;br /&gt;
if SetLink('Netscape','WWW_GetWindowInfo') then&lt;br /&gt;
s := RequestData('0xFFFFFFFF,sURL,sTitle')&lt;br /&gt;
else&lt;br /&gt;
if SetLink('Mosaic','WWW_GetWindowInfo') then&lt;br /&gt;
s := RequestData('0xFFFFFFFF,sURL,sTitle')&lt;br /&gt;
else&lt;br /&gt;
if SetLink('Netscp6','WWW_GetWindowInfo') then&lt;br /&gt;
s := RequestData('0xFFFFFFFF,sURL,sTitle')&lt;br /&gt;
else&lt;br /&gt;
if SetLink('Mozilla','WWW_GetWindowInfo') then&lt;br /&gt;
s := RequestData('0xFFFFFFFF,sURL,sTitle');&lt;br /&gt;
end;&lt;br /&gt;
finally&lt;br /&gt;
Edit1.Text := s;     &lt;br /&gt;
DDEClient.Free;&lt;br /&gt;
end;&lt;br /&gt;
except&lt;br /&gt;
end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
end.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-9099895590622934415?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/n6R8XQlAruXt1b80CQVHdm9hA74/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n6R8XQlAruXt1b80CQVHdm9hA74/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/n6R8XQlAruXt1b80CQVHdm9hA74/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/n6R8XQlAruXt1b80CQVHdm9hA74/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/vIA7F-sivDU" height="1" width="1"/&gt;</content><link rel="related" href="http://negeriads.com/index.php?r=7743" title="Knowing the URL of the Browser with Delphi" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/9099895590622934415/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=9099895590622934415" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/9099895590622934415?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/9099895590622934415?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/vIA7F-sivDU/knowing-url-of-browser-with-delphi.html" title="Knowing the URL of the Browser with Delphi" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2010/07/knowing-url-of-browser-with-delphi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4DRX88eCp7ImA9WxBbEEw.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-7282025626327722966</id><published>2010-03-07T18:21:00.000-08:00</published><updated>2010-03-07T18:22:54.170-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-07T18:22:54.170-08:00</app:edited><title>Software Pengirim Iklan</title><content type="html">&lt;span style="font-family: verdana;"&gt;Inginkah Anda memiliki satu software khusus, yang mampu mengirimkan iklan Anda ke ratusan bahkan ribuan situs iklan baris SEKALIGUS hanya dalam waktu 1 klik ??? Anda hanya perlu mengetikkan isi iklan Anda 1 x saja, lalu pilih iklan baris mana yang ingin Anda kirimkan, dan... satu klik terakhir akan langsung mengirimkan iklan Anda ke semua iklan baris yang Anda pilih! WOW!!!&lt;br /&gt;&lt;br /&gt;Anda Bisa Download disini Gratis!!!.  http://www.ziddu.com/download/8836211/pasangiklan.zip.html&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-7282025626327722966?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MVmfvaBze19WIdfSkQtDdkZhA44/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MVmfvaBze19WIdfSkQtDdkZhA44/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MVmfvaBze19WIdfSkQtDdkZhA44/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MVmfvaBze19WIdfSkQtDdkZhA44/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/mhdrxflNNmE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/7282025626327722966/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=7282025626327722966" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/7282025626327722966?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/7282025626327722966?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/mhdrxflNNmE/software-pengirim-iklan.html" title="Software Pengirim Iklan" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2010/03/software-pengirim-iklan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8HSHo9cSp7ImA9WxBXE08.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-401138456951791835</id><published>2010-01-24T02:08:00.000-08:00</published><updated>2010-01-24T02:10:39.469-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-24T02:10:39.469-08:00</app:edited><title>Write Excel sheet with Delphi</title><content type="html">Anyway, I had concealed this topic somehow for several years after finalized my last project contains an Excel spreadsheet module exported from database. I knew that what I show you below is a kind of old-fashioned and everyone will know how to did it, but I wrote it just for me. Nothing more except for remind my self that I used to have a project which deal with database and Excel.&lt;br /&gt;&lt;br /&gt;The subject is Delphi, records in a database and Microsoft Excel application. It have really quite &lt;a style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: rgb(0, 102, 0); text-decoration: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_simple" id="AdBriteInlineAd_simple" target="_top"&gt;&lt;/a&gt; process: retrieve the data into a component and move the records to Excel sheet grid by grid. You may said that this one is a stupid way, but believe me… this stupid way will work great.&lt;br /&gt;&lt;br /&gt;Let’s assumed that you have the way how to retrieve data sources, since I’ll not &lt;a style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: rgb(0, 102, 0); text-decoration: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_talk" id="AdBriteInlineAd_talk" target="_top"&gt;&lt;/a&gt; about how to do that. What I tried to explain is a method how to transfer it to Excel. Strike to the point, simply add the blank form with TDBGrid, TButton and few components got from Servers tab such as TExcelApplication, TExcelWorkBook, TExcelWorkSheet and optionally TExcelQueryTable if you plan to do more action.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.wahyudiharto.com/blog_images/export_excel_1.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Whatever the event is, just &lt;a style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: rgb(0, 102, 0); text-decoration: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_make" id="AdBriteInlineAd_make" target="_top"&gt;&lt;/a&gt; a connection to database and display the records into TDBGrid component. Once you do that, I’ll show you the rest of the step.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.wahyudiharto.com/blog_images/export_excel_2.jpg" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;TButton component &lt;a style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: rgb(0, 102, 0); text-decoration: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_purposed" id="AdBriteInlineAd_purposed" target="_top"&gt;&lt;/a&gt; to trigger the opening of Microsoft Excel and transfer one by one records into it. But first, you have to catch the total number of the records and fields then use it as the looping procedure, the grid by grid data mover horizontally and vertically &lt;a style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: rgb(0, 102, 0); text-decoration: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_start" id="AdBriteInlineAd_start" target="_top"&gt;&lt;/a&gt; from header until end of records. See below example code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;baris:=q1.RecordCount; // number of rows&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;kolom:=DBGrid1.FieldCount; // number of columns&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;objExcel := TExcelApplication.Create(nil);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;objExcel.Visible[0] := TRUE;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;objWB := objExcel.Workbooks.Add(null,1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;for j:=1 to kolom do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        objWB.Worksheets.Application.Cells.Item[1,j]:=DBGrid1.Fields[j-1].DisplayName;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;q1.First; // TQuery component&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;for i:=1 to baris do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        for j:=1 to kolom do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                objWB.Worksheets.Application.Cells.Item[i+1,j]:=DBGrid1.Fields[j-1].AsString;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        q1.Next;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        end;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;objExcel.Free;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Okay, let’s execute the application, press the button and see the result. Voila! Now you have an Excel with records &lt;a style="background: transparent url(http://files.adbrite.com/mb/images/green-double-underline-006600.gif) repeat-x scroll center bottom; cursor: pointer; color: rgb(0, 102, 0); text-decoration: none; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; margin-bottom: -2px; padding-bottom: 2px;" name="AdBriteInlineAd_imported" id="AdBriteInlineAd_imported" target="_top"&gt;&lt;/a&gt;from database directly.&lt;br /&gt;&lt;br /&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://www.wahyudiharto.com/blog_images/export_excel_3.jpg" alt="" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-401138456951791835?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ms6ZWFhDNoUqt1SxWjS4E2iCayw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ms6ZWFhDNoUqt1SxWjS4E2iCayw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ms6ZWFhDNoUqt1SxWjS4E2iCayw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ms6ZWFhDNoUqt1SxWjS4E2iCayw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/WQA4SmFhJcM" height="1" width="1"/&gt;</content><link rel="related" href="http://paparadit.blogspot.com/2008/06/exporting-data-to-excel-from-delphi.html" title="Write Excel sheet with Delphi" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/401138456951791835/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=401138456951791835" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/401138456951791835?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/401138456951791835?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/WQA4SmFhJcM/write-excel-sheet-with-delphi.html" title="Write Excel sheet with Delphi" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2010/01/write-excel-sheet-with-delphi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ADRns7eyp7ImA9WxBSEkw.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-5631478141527054140</id><published>2009-12-19T00:34:00.000-08:00</published><updated>2009-12-19T00:36:17.503-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-19T00:36:17.503-08:00</app:edited><title>ComboBox with icons</title><content type="html">&lt;p&gt;Each ComboBox item with own icon? No problem. Using OwnerDraw style, we can do almost anything.&lt;span id="more-69"&gt;&lt;/span&gt;&lt;br /&gt;Place ComboBox and ImageList on form. Fill ImageList with icons for ComboBox items and set Style of ComboBox to csOwnerDrawFixed or csOwnerDrawVariable. And last thing is the OnDrawItem event of ComboBox:&lt;/p&gt;  &lt;div class="wp_syntax"&gt;&lt;div class="code"&gt;&lt;pre class="delphi" style="font-family: monospace;"&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;unit&lt;/span&gt; Unit1&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;uses&lt;/span&gt;&lt;br /&gt; Windows&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Messages&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; SysUtils&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Variants&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Classes&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Graphics&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Controls&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Forms&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt;&lt;br /&gt; Dialogs&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; ImgList&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; StdCtrls&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;type&lt;/span&gt;&lt;br /&gt; TForm1 &lt;span style="color: rgb(0, 0, 102);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;TForm&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;   ComboBox1&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;   ImageList1&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TImageList&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;procedure&lt;/span&gt; ComboBox1DrawItem&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;Control&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TWinControl&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt; Index&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;Integer&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TRect&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt; State&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TOwnerDrawState&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;{ Private declarations }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;{ Public declarations }&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;end&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;var&lt;/span&gt;&lt;br /&gt; Form1&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TForm1&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 128, 0); font-style: italic;"&gt;{$R *.dfm}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;procedure&lt;/span&gt; TForm1&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;ComboBox1DrawItem&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;Control&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TWinControl&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt; Index&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;Integer&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TRect&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt; State&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TOwnerDrawState&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;var&lt;/span&gt;&lt;br /&gt; ComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt; bitmap&lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt; TBitmap&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt; ComboBox &lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;=&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;Control &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;as&lt;/span&gt; TComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt; Bitmap &lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;=&lt;/span&gt; TBitmap&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Create&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;try&lt;/span&gt;&lt;br /&gt;   ImageList1&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;GetBitmap&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;Index&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Bitmap&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;with&lt;/span&gt; ComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Canvas&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;do&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;     FillRect&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;if&lt;/span&gt; Bitmap&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Handle&lt;/span&gt; &lt;&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;0&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;then&lt;/span&gt; Draw&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Left&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;+&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Top&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; Bitmap&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;     &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;=&lt;/span&gt; Bounds&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Left&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;+&lt;/span&gt; ComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;ItemHeight&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;+&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Top&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Right&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;-&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Left&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Bottom&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;-&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Top&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;     DrawText&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;handle&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102); font-weight: bold;"&gt;PChar&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;ComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Items&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;[&lt;/span&gt;Index&lt;span style="color: rgb(0, 0, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;length&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;(&lt;/span&gt;ComboBox&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Items&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;[&lt;/span&gt;index&lt;span style="color: rgb(0, 0, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; &lt;span style="color: rgb(0, 0, 102);"&gt;Rect&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;,&lt;/span&gt; DT_VCENTER&lt;span style="color: rgb(0, 0, 102);"&gt;+&lt;/span&gt;DT_SINGLELINE&lt;span style="color: rgb(0, 0, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;end&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;finally&lt;/span&gt;&lt;br /&gt;   Bitmap&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Free&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;end&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;end&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;end&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);"&gt;.&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-5631478141527054140?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JmJgF9hg6nhHnK5S_R_72oIUFnU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JmJgF9hg6nhHnK5S_R_72oIUFnU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JmJgF9hg6nhHnK5S_R_72oIUFnU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JmJgF9hg6nhHnK5S_R_72oIUFnU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/tXFdv7QD1cE" height="1" width="1"/&gt;</content><link rel="related" href="http://www.delphitips.net/2009/07/24/combobox-with-icons/#more-69" title="ComboBox with icons" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/5631478141527054140/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=5631478141527054140" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5631478141527054140?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5631478141527054140?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/tXFdv7QD1cE/combobox-with-icons.html" title="ComboBox with icons" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/12/combobox-with-icons.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEMRng6eip7ImA9WxNbGEo.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-7394857720277082230</id><published>2009-11-22T00:11:00.000-08:00</published><updated>2009-11-22T00:14:47.612-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-22T00:14:47.612-08:00</app:edited><title>Are we connected to the Internet?</title><content type="html">Here's how to check whether you are connected to the Internet:&lt;br /&gt;&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~procedure TForm1.Button1Click(Sender: TObject) ;  function FuncAvail(_dllname, _funcname: string; var _p: pointer): boolean;  {return True if _funcname exists in _dllname} &lt;br /&gt;var _lib: tHandle; &lt;br /&gt;begin  &lt;br /&gt;   Result := false;  &lt;br /&gt;   if LoadLibrary(PChar(_dllname)) = 0 then exit;  &lt;br /&gt;   _lib := GetModuleHandle(PChar(_dllname)) ;  &lt;br /&gt;     if _lib &lt;&gt; 0 then begin   &lt;br /&gt;           _p := GetProcAddress(_lib, PChar(_funcname)) ;  &lt;br /&gt;            if _p &lt;&gt; NIL then Result := true;  &lt;br /&gt;    end; &lt;br /&gt;end;  {  Call SHELL32.DLL for Win &lt; Win98  otherwise call URL.dll  } &lt;br /&gt;{button code:} &lt;br /&gt;var   InetIsOffline : function(dwFlags: DWORD):                   BOOL;&lt;br /&gt;          stdcall; &lt;br /&gt;begin  &lt;br /&gt;    if FuncAvail('URL.DLL', 'InetIsOffline',                @InetIsOffline) then   &lt;br /&gt;        if InetIsOffLine(0) = true     then&lt;br /&gt;             ShowMessage('Not connected')    &lt;br /&gt;        else&lt;br /&gt;             ShowMessage('Connected!') ; &lt;br /&gt;end;&lt;br /&gt;~~~~~~~~~~~~~~~~~~~~~~~~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-7394857720277082230?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JEIgZWmNUfERg36O79ZLinDsUZw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JEIgZWmNUfERg36O79ZLinDsUZw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JEIgZWmNUfERg36O79ZLinDsUZw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JEIgZWmNUfERg36O79ZLinDsUZw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/tWGaaZQIlvg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/7394857720277082230/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=7394857720277082230" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/7394857720277082230?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/7394857720277082230?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/tWGaaZQIlvg/are-we-connected-to-internet.html" title="Are we connected to the Internet?" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/11/are-we-connected-to-internet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cNRHs-fip7ImA9WxNbFk0.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-6146583674404552890</id><published>2009-11-18T19:23:00.000-08:00</published><updated>2009-11-18T19:24:55.556-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-18T19:24:55.556-08:00</app:edited><title>Numerical Entry Only On TEdit</title><content type="html">&lt;table width="100%" border="0" cellpadding="0" cellspacing="4"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;br /&gt;   If you want to limit the input of a TEdit to numerical strings only, you can discard      the "invalid" characters in its &lt;b&gt;OnKeyPress&lt;/b&gt; event handler.     &lt;p&gt; Let's assume that you only want to allow positive integer numbers. The code for     the OnKeyPress event handler is as follows:  &lt;/p&gt;&lt;pre class="preg"&gt;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);&lt;br /&gt;begin&lt;br /&gt; &lt;span style="color:#000099;"&gt;&lt;i&gt;// #8 is Backspace&lt;/i&gt;&lt;/span&gt;&lt;br /&gt; if not (Key in [#8, '0'..'9']) then begin&lt;br /&gt;   ShowMessage('Invalid key');&lt;br /&gt;   &lt;span style="color:#000099;"&gt;&lt;i&gt;// Discard the key&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;   Key := #0;&lt;br /&gt; end;&lt;br /&gt;end;&lt;/pre&gt;    &lt;p&gt; If you also want numbers with a decimal fraction, you must allow a POINT or a COMMA,     but only once. For an international version that looks at the correct decimal separator,     the code could be as follows:    &lt;/p&gt;&lt;pre class="preg"&gt;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);&lt;br /&gt;begin&lt;br /&gt; if not (Key in [#8, '0'..'9', DecimalSeparator]) then begin&lt;br /&gt;   ShowMessage('Invalid key: ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end&lt;br /&gt; else if (Key = DecimalSeparator) and&lt;br /&gt;         (Pos(Key, Edit1.Text) &gt; 0) then begin&lt;br /&gt;   ShowMessage('Invalid Key: twice ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end;&lt;br /&gt;end;&lt;/pre&gt;    &lt;p&gt; And here's a full blown version of the event handler, accepting a decimal separator    and negative numbers (minus sign: only accepted once, has to be the first character):    &lt;/p&gt;&lt;/td&gt;   &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;pre class="preg"&gt;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);&lt;br /&gt;begin&lt;br /&gt; if not (Key in [#8, '0'..'9', '-', DecimalSeparator]) then&lt;br /&gt;   ShowMessage('Invalid key: ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end&lt;br /&gt; else if ((Key = DecimalSeparator) or (Key = '-')) and&lt;br /&gt;         (Pos(Key, Edit1.Text) &gt; 0) then begin&lt;br /&gt;   ShowMessage('Invalid Key: twice ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end&lt;br /&gt; else if (Key = '-') and&lt;br /&gt;         (Edit1.SelStart &lt;&gt; 0) then begin&lt;br /&gt;   ShowMessage('Only allowed at beginning of number: ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end;&lt;br /&gt;end;&lt;/pre&gt; &lt;p&gt; How about giving that same behaviour to several TEdits on the same form, say 10 of  them? In the Object Inspector, you change the name of the event handler of Edit1 from  Edit1KeyPress to &lt;i&gt;Edit1_10KeyPress&lt;/i&gt; or something similar. Delphi automatically changes  the name in the code editor, don't worry. &lt;/p&gt;&lt;p&gt; Then, for each next TEdit, you select its OnKeyPress event and you select &lt;i&gt;Edit1_10KeyPress&lt;/i&gt; from  the listbox next to the event. &lt;/p&gt;&lt;p&gt; Finally, we have to slightly adapt the code. Intead of pointing to Edit1, we must  point to "the TEdit that generated the event", in other words: the edit-box where the  cursor was when a key was depressed. When you look at the template for the event handler  that Delphi made, you see the parameter &lt;b&gt;Sender&lt;/b&gt;: that's a pointer to the component  that generated the event. But we are not allowed to use it straight away in our code,  we must specify that we're dealing with a component of the type TEdit. That's done with  the code &lt;b&gt;Sender as TEdit&lt;/b&gt;: &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;pre class="preg"&gt;procedure TForm1.Edit1_10KeyPress(Sender: TObject; var Key: Char);&lt;br /&gt;begin&lt;br /&gt; if not (Key in [#8, '0'..'9', '-', DecimalSeparator]) then&lt;br /&gt;   ShowMessage('Invalid key: ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end&lt;br /&gt; else if ((Key = DecimalSeparator) or (Key = '-')) and&lt;br /&gt;         (Pos(Key, (&lt;span class="darkredbold"&gt;Sender as TEdit&lt;/span&gt;).Text) &gt; 0) then begin&lt;br /&gt;   ShowMessage('Invalid Key: twice ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end&lt;br /&gt; else if (Key = '-') and&lt;br /&gt;         ((&lt;span class="darkredbold"&gt;Sender as TEdit&lt;/span&gt;).SelStart &lt;&gt; 0) then begin&lt;br /&gt;   ShowMessage('Only allowed at beginning of number: ' + Key);&lt;br /&gt;   Key := #0;&lt;br /&gt; end;&lt;br /&gt;end;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-6146583674404552890?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/p75Vt4RN24rMi_enpWbMB5QLNd8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p75Vt4RN24rMi_enpWbMB5QLNd8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/p75Vt4RN24rMi_enpWbMB5QLNd8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/p75Vt4RN24rMi_enpWbMB5QLNd8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/p0S6bgjvC2g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/6146583674404552890/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=6146583674404552890" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/6146583674404552890?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/6146583674404552890?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/p0S6bgjvC2g/numerical-entry-only-on-tedit.html" title="Numerical Entry Only On TEdit" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/11/numerical-entry-only-on-tedit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYDSHs7fyp7ImA9WxNbEko.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-6292335321054839716</id><published>2009-11-15T01:42:00.001-08:00</published><updated>2009-11-15T01:42:59.507-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-15T01:42:59.507-08:00</app:edited><title>Get a list of computers in a network</title><content type="html">&lt;b&gt;type&lt;/b&gt;&lt;br /&gt;  PNetResourceArray = ^TNetResourceArray;&lt;br /&gt;  TNetResourceArray = &lt;b&gt;array&lt;/b&gt;[0..100] &lt;b&gt;of&lt;/b&gt; TNetResource;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;function&lt;/b&gt; CreateNetResourceList(ResourceType: DWord;&lt;br /&gt;                              NetResource: PNetResource;&lt;br /&gt;                              out Entries: DWord;&lt;br /&gt;                              out List: PNetResourceArray): Boolean;&lt;br /&gt;&lt;b&gt;var&lt;/b&gt;&lt;br /&gt;  EnumHandle: THandle;&lt;br /&gt;  BufSize: DWord;&lt;br /&gt;  Res: DWord;&lt;br /&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;  Result := False;&lt;br /&gt;  List := Nil;&lt;br /&gt;  Entries := 0;&lt;br /&gt;  &lt;b&gt;if&lt;/b&gt; WNetOpenEnum(RESOURCE_GLOBALNET,&lt;br /&gt;                  ResourceType,&lt;br /&gt;                  0,&lt;br /&gt;                  NetResource,&lt;br /&gt;                  EnumHandle) = NO_ERROR &lt;b&gt;then&lt;/b&gt; &lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;    try&lt;br /&gt;      BufSize := $4000;  // 16 kByte&lt;br /&gt;      GetMem(List, BufSize);&lt;br /&gt;      try&lt;br /&gt;        &lt;b&gt;repeat&lt;/b&gt;&lt;br /&gt;          Entries := DWord(-1);&lt;br /&gt;          FillChar(List^, BufSize, 0);&lt;br /&gt;          Res := WNetEnumResource(EnumHandle, Entries, List, BufSize);&lt;br /&gt;          &lt;b&gt;if&lt;/b&gt; Res = ERROR_MORE_DATA &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;          &lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;            ReAllocMem(List, BufSize);&lt;br /&gt;          &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;        until Res &lt;&gt; ERROR_MORE_DATA;&lt;br /&gt;        Result := Res = NO_ERROR;&lt;br /&gt;        &lt;b&gt;if&lt;/b&gt; not Result &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;        &lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;          FreeMem(List);&lt;br /&gt;          List := Nil;&lt;br /&gt;          Entries := 0;&lt;br /&gt;        &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;      except&lt;br /&gt;        FreeMem(List);&lt;br /&gt;        raise;&lt;br /&gt;      &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;    &lt;b&gt;finally&lt;/b&gt;&lt;br /&gt;      WNetCloseEnum(EnumHandle);&lt;br /&gt;    &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;procedure&lt;/b&gt; ScanNetworkResources(ResourceType, DisplayType: DWord; List: TStrings);&lt;br /&gt;&lt;br /&gt;&lt;b&gt;procedure&lt;/b&gt; ScanLevel(NetResource: PNetResource);&lt;br /&gt;&lt;b&gt;var&lt;/b&gt;&lt;br /&gt;  Entries: DWord;&lt;br /&gt;  NetResourceList: PNetResourceArray;&lt;br /&gt;  i: Integer;&lt;br /&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;if&lt;/b&gt; CreateNetResourceList(ResourceType, NetResource, Entries, NetResourceList) &lt;b&gt;then&lt;/b&gt; try&lt;br /&gt;    &lt;b&gt;for&lt;/b&gt; i := 0 &lt;b&gt;to&lt;/b&gt; Integer(Entries) - 1 do&lt;br /&gt;    &lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;      &lt;b&gt;if&lt;/b&gt; (DisplayType = RESOURCEDISPLAYTYPE_GENERIC) or&lt;br /&gt;        (NetResourceList[i].dwDisplayType = DisplayType) &lt;b&gt;then&lt;/b&gt; &lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;        List.AddObject(NetResourceList[i].lpRemoteName,&lt;br /&gt;                      Pointer(NetResourceList[i].dwDisplayType));&lt;br /&gt;      &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;      &lt;b&gt;if&lt;/b&gt; (NetResourceList[i].dwUsage and RESOURCEUSAGE_CONTAINER) &lt;&gt; 0 &lt;b&gt;then&lt;/b&gt;&lt;br /&gt;        ScanLevel(@NetResourceList[i]);&lt;br /&gt;    &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;  &lt;b&gt;finally&lt;/b&gt;&lt;br /&gt;    FreeMem(NetResourceList);&lt;br /&gt;  &lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;  ScanLevel(Nil);&lt;br /&gt;&lt;b&gt;end;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;procedure&lt;/b&gt; TForm1.Button1Click(Sender: TObject);&lt;br /&gt;&lt;b&gt;begin&lt;/b&gt;&lt;br /&gt;  ScanNetworkResources(RESOURCETYPE_DISK, RESOURCEDISPLAYTYPE_SERVER, ListBox1.Items);&lt;br /&gt;&lt;b&gt;end;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-6292335321054839716?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9R-Rp-XzZKTUB_VR5HUUR6SEduQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9R-Rp-XzZKTUB_VR5HUUR6SEduQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9R-Rp-XzZKTUB_VR5HUUR6SEduQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9R-Rp-XzZKTUB_VR5HUUR6SEduQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/AgLimLWZZnE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/6292335321054839716/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=6292335321054839716" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/6292335321054839716?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/6292335321054839716?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/AgLimLWZZnE/get-list-of-computers-in-network.html" title="Get a list of computers in a network" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/11/get-list-of-computers-in-network.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkcCQXg9eip7ImA9WxNbEU0.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-5212593150610851096</id><published>2009-11-13T00:10:00.000-08:00</published><updated>2009-11-13T00:14:20.662-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-13T00:14:20.662-08:00</app:edited><title>Langkah mudah untuk membuat Delphi chart</title><content type="html">&lt;p&gt;Gunakan langkahmudah berikut ini untuk memulai menggunakan Delphi TChart component:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Masukkan Komponen TChart kedalam form&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Double Click pada chart lalu anda akan melihat dialog box.&lt;/li&gt;&lt;li&gt;Click tombol add  idi series tab sheet.&lt;/li&gt;&lt;li&gt;Pilih Chart style pada daftar&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img class="center" src="http://www.digitalcoding.com/artimg/tutorials/delphi/delphi-chart.jpg" alt="Delphi chart" border="0" /&gt;&lt;/p&gt;&lt;p&gt;Put following code to add data into the chart&lt;/p&gt; &lt;div class="syntaxhighlighter " id="highlighter_984267"&gt;&lt;div class="bar                                                  show"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://www.digitalcoding.com/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://www.digitalcoding.com/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://www.digitalcoding.com/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines no-wrap"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px ! important;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TForm1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Button1Click(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px ! important;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;{ function AddXY(Const AXValue, AYValue: Double;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;Const AXLabel: String; AColor: TColor) : Longint;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;This function inserts a new point in the Series.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;The new point has X and Y values. The AXLabel&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;parameter is optional (can be empty ''). The AColor&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;parameter is optional (can be clTeeColor).&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;The function returns the new point position in the&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;Values list. }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;10&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;20&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;15&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;50&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;20&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;30&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;25&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;70&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;30&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;10&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;35&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;50&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;40&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;45&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="plain"&gt;Chart1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Series[&lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;].AddXY(&lt;/code&gt;&lt;code class="value"&gt;45&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="value"&gt;10&lt;/code&gt;&lt;code class="plain"&gt;, &lt;/code&gt;&lt;code class="string"&gt;''&lt;/code&gt;&lt;code class="plain"&gt;, clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;{ Or you can write following code using "With" statement.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;Its much easier than repeating everything again and again.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;        &lt;/code&gt;&lt;span class="block" style="margin-left: 64px ! important;"&gt;&lt;code class="comments"&gt;With Chart1.Series[0] Do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;25.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;        &lt;/code&gt;&lt;span class="block" style="margin-left: 64px ! important;"&gt;&lt;code class="comments"&gt;Begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;26.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(10, 20, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;27.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(15, 50, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;28.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(20, 30, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;29.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(25, 70, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;30.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(30, 10, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;31.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(35, 50, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;32.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(40, 45, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;33.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;            &lt;/code&gt;&lt;span class="block" style="margin-left: 96px ! important;"&gt;&lt;code class="comments"&gt;AddXY(45, 10, '', clTeeColor);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;34.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;        &lt;/code&gt;&lt;span class="block" style="margin-left: 64px ! important;"&gt;&lt;code class="comments"&gt;End;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;35.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 32px ! important;"&gt;&lt;code class="comments"&gt;}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;36.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px ! important;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-5212593150610851096?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ixLAFh-WxMKz8Qn4TVeAV1QlkVY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ixLAFh-WxMKz8Qn4TVeAV1QlkVY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ixLAFh-WxMKz8Qn4TVeAV1QlkVY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ixLAFh-WxMKz8Qn4TVeAV1QlkVY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/Fd8lu5E_kEg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/5212593150610851096/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=5212593150610851096" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5212593150610851096?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5212593150610851096?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/Fd8lu5E_kEg/langkah-mudah-untuk-membuat-delphi.html" title="Langkah mudah untuk membuat Delphi chart" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/11/langkah-mudah-untuk-membuat-delphi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIERns8eSp7ImA9WxNUGU4.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-2601781842968937917</id><published>2009-11-11T01:57:00.000-08:00</published><updated>2009-11-11T01:58:27.571-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-11T01:58:27.571-08:00</app:edited><title>Mengirim Email dengan Delphi</title><content type="html">unit Unit1;&lt;br /&gt;&lt;br /&gt;interface&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&lt;br /&gt; Dialogs, StdCtrls;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt; TForm1 = class(TForm)&lt;br /&gt;   Button1: TButton;&lt;br /&gt;   edtSubject: TEdit;&lt;br /&gt;   Label1: TLabel;&lt;br /&gt;   Label2: TLabel;&lt;br /&gt;   Label3: TLabel;&lt;br /&gt;   edtNamaPengirim: TEdit;&lt;br /&gt;   edtEmailPengirim: TEdit;&lt;br /&gt;   Label4: TLabel;&lt;br /&gt;   edtNamaPenerima: TEdit;&lt;br /&gt;   edtEmailPenerima: TEdit;&lt;br /&gt;   Label5: TLabel;&lt;br /&gt;   MemoMessage: TMemo;&lt;br /&gt;   Label6: TLabel;&lt;br /&gt;   procedure Button1Click(Sender: TObject);&lt;br /&gt; private&lt;br /&gt;   { Private declarations }&lt;br /&gt; public&lt;br /&gt;   { Public declarations }&lt;br /&gt; end;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt; Form1: TForm1;&lt;br /&gt;&lt;br /&gt;implementation&lt;br /&gt;&lt;br /&gt;uses MAPI;&lt;br /&gt;&lt;br /&gt;{$R *.dfm}&lt;br /&gt;&lt;br /&gt;function SendMail(const Subject, Body, FileName,&lt;br /&gt;                 SenderName, SenderEMail,&lt;br /&gt;                 RecipientName, RecipientEMail: string): Integer;&lt;br /&gt;var&lt;br /&gt; Message: TMapiMessage;&lt;br /&gt; lpSender, lpRecipient: TMapiRecipDesc;&lt;br /&gt; FileAttach: TMapiFileDesc;&lt;br /&gt; SM: TFNMapiSendMail;&lt;br /&gt; MAPIModule: HModule;&lt;br /&gt;begin&lt;br /&gt; FillChar(Message, SizeOf(Message), 0);&lt;br /&gt; with Message do&lt;br /&gt; begin&lt;br /&gt;     if (Subject &lt;&gt; '') then&lt;br /&gt;     lpszSubject := PChar(Subject);&lt;br /&gt;   if (Body &lt;&gt; '') then&lt;br /&gt;     lpszNoteText := PChar(Body);&lt;br /&gt;   if (SenderEmail &lt;&gt; '') then&lt;br /&gt;   begin&lt;br /&gt;     lpSender.ulRecipClass := MAPI_ORIG;&lt;br /&gt;     if (SenderName = '') then&lt;br /&gt;       lpSender.lpszName := PChar(SenderEMail)&lt;br /&gt;     else&lt;br /&gt;       lpSender.lpszName := PChar(SenderName);&lt;br /&gt;     lpSender.lpszAddress := PChar(SenderEmail);&lt;br /&gt;     lpSender.ulReserved := 0;&lt;br /&gt;     lpSender.ulEIDSize := 0;&lt;br /&gt;     lpSender.lpEntryID := nil;&lt;br /&gt;     lpOriginator := @lpSender;&lt;br /&gt;   end;&lt;br /&gt;   if (RecipientEmail &lt;&gt; '') then&lt;br /&gt;   begin&lt;br /&gt;     lpRecipient.ulRecipClass := MAPI_TO;&lt;br /&gt;     if (RecipientName = '') then&lt;br /&gt;       lpRecipient.lpszName := PChar(RecipientEMail)&lt;br /&gt;     else&lt;br /&gt;       lpRecipient.lpszName := PChar(RecipientName);&lt;br /&gt;     lpRecipient.lpszAddress := PChar(RecipientEmail);&lt;br /&gt;     lpRecipient.ulReserved := 0;&lt;br /&gt;     lpRecipient.ulEIDSize := 0;&lt;br /&gt;     lpRecipient.lpEntryID := nil;&lt;br /&gt;     nRecipCount := 1;&lt;br /&gt;     lpRecips := @lpRecipient;&lt;br /&gt;   end&lt;br /&gt;   else lpRecips := nil;&lt;br /&gt;   if (FileName = '') then&lt;br /&gt;   begin&lt;br /&gt;     nFileCount := 0;&lt;br /&gt;     lpFiles := nil;&lt;br /&gt;   end&lt;br /&gt;   else&lt;br /&gt;   begin&lt;br /&gt;     FillChar(FileAttach, SizeOf(FileAttach), 0);&lt;br /&gt;     FileAttach.nPosition := Cardinal($FFFFFFFF);&lt;br /&gt;     FileAttach.lpszPathName := PChar(FileName);&lt;br /&gt;     nFileCount := 1;&lt;br /&gt;     lpFiles := @FileAttach;&lt;br /&gt;   end;&lt;br /&gt; end;&lt;br /&gt; MAPIModule := LoadLibrary(PChar(MAPIDLL));&lt;br /&gt; if MAPIModule = 0 then&lt;br /&gt;   Result := -1&lt;br /&gt; else&lt;br /&gt;   try&lt;br /&gt;     @SM := GetProcAddress(MAPIModule, 'MAPISendMail');&lt;br /&gt;     if @SM &lt;&gt; nil then&lt;br /&gt;     begin&lt;br /&gt;       Result := SM(0, Application.Handle, Message, MAPI_DIALOG or MAPI_LOGON_UI, 0);&lt;br /&gt;     end&lt;br /&gt;     else&lt;br /&gt;       Result := 1;&lt;br /&gt;   finally&lt;br /&gt;     FreeLibrary(MAPIModule);&lt;br /&gt;   end;&lt;br /&gt; if Result &lt;&gt; 0 then&lt;br /&gt;   MessageDlg('Gagal mengirim email (' + IntToStr(Result) + ').', mtError, [mbOK], 0);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.Button1Click(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt; SendMail(edtSubject.Text,&lt;br /&gt;          MemoMessage.Text,&lt;br /&gt;          '',&lt;br /&gt;          edtNamaPengirim.Text, edtEmailPengirim.Text,&lt;br /&gt;          edtNamaPenerima.Text, edtEmailPenerima.Text);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-2601781842968937917?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G6erBAWErjbsqcoSQCCjUiPoyHE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G6erBAWErjbsqcoSQCCjUiPoyHE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G6erBAWErjbsqcoSQCCjUiPoyHE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G6erBAWErjbsqcoSQCCjUiPoyHE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/eGpd12Hp0t0" height="1" width="1"/&gt;</content><link rel="related" href="http://www.pemogramankomputer.com/index.php?option=com_content&amp;view=article&amp;id=24:mengirim-email-dengan-delphi&amp;catid=43:tips-dan-trik&amp;Itemid=60" title="Mengirim Email dengan Delphi" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/2601781842968937917/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=2601781842968937917" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2601781842968937917?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2601781842968937917?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/eGpd12Hp0t0/mengirim-email-dengan-delphi.html" title="Mengirim Email dengan Delphi" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/11/mengirim-email-dengan-delphi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4DSHY5eSp7ImA9WxNSE0g.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-1800042357420911192</id><published>2009-08-27T00:40:00.000-07:00</published><updated>2009-08-27T00:42:59.821-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-27T00:42:59.821-07:00</app:edited><title>Membaca Seri Prosesor Komputer</title><content type="html">&lt;span class="fullpost"&gt;&lt;span style="font-size: 85%;"&gt;&lt;span style="font-family: courier new;"&gt;uses Classes, SysUtils;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;function GetCPUInfos: TStringList;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;var&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  _eax, _ebx, _ecx, _edx: Longword;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  i: Integer;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b: Byte;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  s, s1, s2, s3, s_all: string;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result := TStringList.Create;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  asm  // asm call to the CPUID inst.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov eax, 0 // sub. func call&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    db $0F, $A2 // db $0F,$A2 = CPUID instruction&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _ebx, ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _ecx, ecx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  for i := 0 to 3 do // extract vendor id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    b := Lo(_ebx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s := s + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    b := Lo(_ecx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s1:= s1 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    b := Lo(_edx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s2:= s2 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    _ebx := _ebx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    _ecx := _ecx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    _edx := _edx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('CPU' + '');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Vendor ID: ' + s + s2 + s1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  asm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov eax, 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    db $0F, $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _eax, eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _ebx, ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _ecx, ecx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Lo(_eax) and 15;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Stepping ID: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Lo(_eax) shr 4;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Model Number: ' + IntToHex(b, 1));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Hi(_eax) and 15;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Family Code: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Hi(_eax) shr 4;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Processor Type: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Lo((_eax shr 16)) and 15;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Extended Model: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Lo((_eax shr 20));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Extended Family: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Lo(_ebx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Brand ID: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Hi(_ebx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Chunks: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Lo(_ebx shr 16);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Count: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  b := Hi(_ebx shr 16);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'APIC ID: ' + IntToStr(b));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  if (_edx and $40000) = $40000 then // is serial number enabled?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('   - ' + 'Serial Number ' + 'Enabled')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('   - ' + 'Serial Number ' + 'Disabled');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  s := IntToHex(_eax, 8);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  asm // determine the serial number&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov eax, 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    db $0F, $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _ecx, ecx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  s1 := IntToHex(_edx, 8);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  s2 := IntToHex(_ecx, 8);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Insert('-', s, 5);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Insert('-', s1, 5);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Insert('-', s2, 5);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  Result.Add('   - ' + 'Serial Number: ' + s + '-' + s1 + '-' + s2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  asm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov eax, 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    db $0F, $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  if (_edx and $800000) = $800000 then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('MMX ' + 'Supported')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('MMX ' + 'Not Supported');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  if (_edx and $01000000) = $01000000 then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('FXSAVE &amp;amp; FXRSTOR Instructions ' + 'Supported')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('FXSAVE &amp;amp; FXRSTOR Instructions Not ' + 'Supported');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  if (_edx and $02000000) = $02000000 then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('SSE ' + 'Supported')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('SSE ' + 'Not Supported');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  if (_edx and $04000000) = $04000000 then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('SSE2 ' + 'Supported')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('SSE2 ' + 'Not Supported');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  asm // execute the extended CPUID inst.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov eax, $80000000 // sub. func call&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    db $0F, $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    mov _eax, eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  if _eax &gt; $80000000 then // any other sub. funct avail. ?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('Extended CPUID: ' + 'Supported');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('   - Largest Function Supported: ' + IntToStr(_eax - $80000000));&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    asm // get brand ID&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov eax, $80000002&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      db $0F&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      db $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _eax, eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _ebx, ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _ecx, ecx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s  := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s1 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s2 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s3 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    for i := 0 to 3 do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_eax);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s3:= s3 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_ebx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s := s + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_ecx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s1 := s1 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_edx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s2 := s2 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      eax := _eax shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _ebx := _ebx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _ecx := _ecx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _edx := _edx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s_all := s3 + s + s1 + s2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    asm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov eax, $80000003&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      db $0F&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      db $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _eax, eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _ebx, ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _ecx, ecx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s  := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s1 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s2 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s3 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    for i := 0 to 3 do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_eax);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s3 := s3 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_ebx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s := s + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_ecx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s1 := s1 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_edx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s2 := s2 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _eax := _eax shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _ebx := _ebx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _ecx := _ecx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _edx := _edx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s_all := s_all + s3 + s + s1 + s2;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    asm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov eax, $80000004&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      db $0F&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      db $A2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _eax, eax&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _ebx, ebx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _ecx, ecx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      mov _edx, edx&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s  := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s1 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s2 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    s3 := '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    for i := 0 to 3 do&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b  := Lo(_eax);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s3 := s3 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_ebx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s := s + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b := Lo(_ecx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s1 := s1 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      b  := Lo(_edx);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      s2 := s2 + chr(b);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _eax := _eax shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _ebx := _ebx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _ecx := _ecx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;      _edx := _edx shr 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    end;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('Brand String: ' + '');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    if s2[Length(s2)] = #0 then setlength(s2, Length(s2) - 1);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('' + '   - ' + s_all + s3 + s + s1 + s2);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;  else &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    Result.Add('   - Extended CPUID ' + 'Not Supported.');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;end;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-1800042357420911192?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4MxbECgNOxAJYr6QfTcQc7mYW5E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MxbECgNOxAJYr6QfTcQc7mYW5E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4MxbECgNOxAJYr6QfTcQc7mYW5E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4MxbECgNOxAJYr6QfTcQc7mYW5E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/8PRir1uKe1s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/1800042357420911192/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=1800042357420911192" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/1800042357420911192?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/1800042357420911192?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/8PRir1uKe1s/membaca-seri-prosesor-komputer.html" title="Membaca Seri Prosesor Komputer" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/08/membaca-seri-prosesor-komputer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAFQXsycSp7ImA9WxJaEks.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-2985305634835479070</id><published>2009-08-02T18:41:00.001-07:00</published><updated>2009-08-02T18:41:50.599-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-02T18:41:50.599-07:00</app:edited><title>Sample skin application with source code ( Delphi )</title><content type="html">&lt;div id="header"&gt;  &lt;div id="headerlogo"&gt; &lt;!--- / 3 baris dihapus--&gt;  &lt;/div&gt;&lt;/div&gt;    Beberapa waktu lalu, ada teman-teman menanyakan tentang pembuatan skin di program Kamus dan Shollu. Sebenarnya banyak komponen yang tersedia di internet untuk membuat aplikasi/program dengan antarmuka (skin) yang menarik. Misalnya saja &lt;a href="http://www.alphaskins.com/"&gt;AlphaSkins&lt;/a&gt; yang juga menyediakan komponen yang gratis. Jika untuk membuat program yang besar, mungkin tidak masalah, tetapi jika hanya ingin membuat program sederhana atau ingin agar tidak selalu bergantung dengan komponen tambahan, maka ada baiknya mencoba membuat skin sendiri. Karena terkadang dengan komponen tambahan, aplikasi yang kita jalankan menjadi lebih/sangat lambat dan banyak memakan memory. &lt;p align="justify"&gt;Setelah utak-atik dengan graphics programming, dan berkali-kali try and error, akhirnya jadilah skin yang sederhana tetapi tetap menarik ( menurut saya pribadi… &lt;img src="http://ebsoft.web.id/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /&gt; ). Selain itu dengan hanya menambahkan file-file bitmap yang total berukuran hanya sekitar 4 KB saja, bisa dihasilkan sekitar 20 macam skin, dan sangat mudah dikembangkan dan ditambah skinnya. Dengan hanya 4 KB tentu tidak banyak menambah ukuran file. Selain itu, proses perubahan skin relatif cepat dan tidak banyak memakan memory komputer, serta jalannya program juga cepat. Berikut sekilas contohnya :&lt;/p&gt; &lt;p align="center"&gt;&lt;a title="Klick untuk ukuran sebenarnya" href="http://ebsoft.web.id/2007/08/01/sample-skin-application-with-source-code-delphi/eb-img/ebskin_big.png"&gt;&lt;br /&gt;&lt;img src="http://ebsoft.web.id/eb-img/ebskin_small.png" width="271" border="0" height="154" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="justify"&gt;Bagi anda yang penasaran dan ingin mencoba / mengembangkan sendiri, langsung download sample aplikasi, source code dan exe-nya &lt;a href="http://ebsoft.web.id/?dl=58"&gt;disini &lt;/a&gt;(~59 KB). Sample source code dalam Delphi, diperlukan komponen KOL n MCK yang bisa di download &lt;a href="http://ebsoft.web.id/?dl=53"&gt;disini.&lt;/a&gt; Ada pertanyaan, masukan dan tanggapan silahkan langsung email saja.&lt;/p&gt;    &lt;script type="text/javascript"&gt;&lt;!-- google_ad_client = "pub-8625830277190859"; /* Banner 468x60 */ google_ad_slot = "5904122898"; google_ad_width = 468; google_ad_height = 60; //--&gt; &lt;/script&gt; &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt; &lt;/script&gt;&lt;script&gt;google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);&lt;/script&gt;&lt;ins style="border: medium none ; margin: 0pt; padding: 0pt; display: inline-table; height: 60px; position: relative; visibility: visible; width: 468px;"&gt;&lt;ins style="border: medium none ; margin: 0pt; padding: 0pt; display: block; height: 60px; position: relative; visibility: visible; width: 468px;"&gt;&lt;iframe allowtransparency="true" hspace="0" id="google_ads_frame2" marginheight="0" marginwidth="0" name="google_ads_frame" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-8625830277190859&amp;amp;dt=1249263626181&amp;amp;lmt=1249263617&amp;amp;prev_slotnames=2092578021&amp;amp;output=html&amp;amp;slotname=5904122898&amp;amp;correlator=1249263621889&amp;amp;url=http%3A%2F%2Febsoft.web.id%2F2007%2F08%2F01%2Fsample-skin-application-with-source-code-delphi%2F&amp;amp;ref=http%3A%2F%2Febsoft.web.id%2Ftag%2Fdelphi-source-code%2F&amp;amp;frm=0&amp;amp;ga_vid=900238694.1249263528&amp;amp;ga_sid=1249263528&amp;amp;ga_hid=1049201014&amp;amp;ga_fc=true&amp;amp;flash=10.0.22&amp;amp;w=468&amp;amp;h=60&amp;amp;u_h=800&amp;amp;u_w=1280&amp;amp;u_ah=770&amp;amp;u_aw=1280&amp;amp;u_cd=32&amp;amp;u_tz=420&amp;amp;u_his=3&amp;amp;u_java=true&amp;amp;u_nplug=13&amp;amp;u_nmime=46&amp;amp;dtd=6&amp;amp;xpc=5IJQhrVBiq&amp;amp;p=http%3A//ebsoft.web.id" style="left: 0pt; position: absolute; top: 0pt;" vspace="0" scrolling="no" width="0" frameborder="0" height="0"&gt;&lt;/iframe&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-2985305634835479070?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7YfQnuQEkaFoc3W8Bd3NkTNqiNQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7YfQnuQEkaFoc3W8Bd3NkTNqiNQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7YfQnuQEkaFoc3W8Bd3NkTNqiNQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7YfQnuQEkaFoc3W8Bd3NkTNqiNQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/oMmJwI_KEoE" height="1" width="1"/&gt;</content><link rel="related" href="http://ebsoft.web.id/2007/08/01/sample-skin-application-with-source-code-delphi/" title="Sample skin application with source code ( Delphi )" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/2985305634835479070/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=2985305634835479070" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2985305634835479070?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2985305634835479070?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/oMmJwI_KEoE/sample-skin-application-with-source.html" title="Sample skin application with source code ( Delphi )" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/08/sample-skin-application-with-source.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQHSXc9cSp7ImA9WxJaEEQ.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-8144330324344270157</id><published>2009-07-31T19:38:00.001-07:00</published><updated>2009-07-31T19:38:58.969-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-31T19:38:58.969-07:00</app:edited><title>Kirim SMS dengan Delphi dan TOxygen</title><content type="html">&lt;div class="entry"&gt;     &lt;p&gt;&lt;img src="http://i305.photobucket.com/albums/nn214/iputusundika/TOxygenSMS1.gif" alt="TOxygen" width="298" height="407" /&gt;&lt;/p&gt; &lt;p&gt;Fitur :&lt;/p&gt; &lt;ol&gt;&lt;li&gt; Supports Nokia 3210, 3310, 3330, 3390, 3350, 3410, 3510, 5110, 5130, 5190, 5210, 6110, 6130, 6150, 6190, 6210, 6250, 6310, 6310i, 6510, 7110, 7190, 8210, 8290, 8250, 8310, 8390, 8850, 8855, 8890, 8910 phones.&lt;/li&gt;&lt;li&gt;Bekerja dengan kabel data atau InfraRed&lt;/li&gt;&lt;li&gt;Mendeteksi Model HP secara otomatis&lt;/li&gt;&lt;li&gt;Bisa kirim SMS ke SMS Center apa aja&lt;/li&gt;&lt;li&gt;Bisa kirim dan terima SMS teks atapun gambar&lt;/li&gt;&lt;li&gt;Bisa kirim ringtone, logo ataupun flash message&lt;/li&gt;&lt;li&gt;Bisa hapus pesan dan report nya otomatis&lt;/li&gt;&lt;li&gt;Bisa mendapatkan parameter HP seperti IMEI, model, SMSCenter phone number, Hardware/Software revision dan tanggaknya, Battery dan Signal level.&lt;/li&gt;&lt;li&gt;Componen di Borland Delphi 3,4,5,6,7 dan Borland C++ Builder 5.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Bayangkan, dengan kemampuan nya seperti itu, kita bisa buat aplikasi apa saja via SMS. Pooling, survey, undian dll. Bisa buat skripsi, tugas akhir, tugas de el el.&lt;/p&gt; &lt;p&gt;&lt;a title="download componennnya disini" href="http://www.oxygensoftware.com/download/download.asp?File=tsms26.zip"&gt;download componennnya disini&lt;/a&gt;&lt;/p&gt;        &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-8144330324344270157?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2BhG9FFw3lo81rdFsGFPW4Q0b3Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2BhG9FFw3lo81rdFsGFPW4Q0b3Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2BhG9FFw3lo81rdFsGFPW4Q0b3Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2BhG9FFw3lo81rdFsGFPW4Q0b3Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/hqs0f-EfrZk" height="1" width="1"/&gt;</content><link rel="related" href="http://iputusundika.net/archives/16" title="Kirim SMS dengan Delphi dan TOxygen" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/8144330324344270157/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=8144330324344270157" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/8144330324344270157?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/8144330324344270157?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/hqs0f-EfrZk/kirim-sms-dengan-delphi-dan-toxygen.html" title="Kirim SMS dengan Delphi dan TOxygen" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/07/kirim-sms-dengan-delphi-dan-toxygen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUEQ3Y_fSp7ImA9WxJaEEQ.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-2205761409715423342</id><published>2009-07-31T19:32:00.000-07:00</published><updated>2009-07-31T19:36:42.845-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-31T19:36:42.845-07:00</app:edited><title>Custom MessageDlg</title><content type="html">&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;         &lt;p&gt;Artikel ini merupakan lanjutan dari Meng-Indonesia-kan MessageDlg yang pernah saya publikasikan beberapa bulan yang lalu (lebih tepatnya tahun yang lalu). Sebenarnya saya ingin mengangkat tema lain yang menurut saya lebih menarik, namun berhubung ada diskusi di forum Delphi Indonesia (Delphi-ID) mengenai membuat MessageDlg sesuai dengan keinginan secara dinamis, maka saya putuskan untuk menulisnya terlebih dahulu. &lt;/p&gt; &lt;p&gt;&lt;span id="more-149"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Ada anggapan bahwa artikel tersebut hanya menitik beratkan pada lokalisasi teks MessageDlg, sebenarnya lebih dari itu. Jika dicermati, saya memaparkan trik bagaimana mengubah judul dan tombol yang digunakan MessageDlg pada saat aplikasi berjalan (run-time). Kemudian trik tersebut saya kuatkan dengan demo agar lebih jelas dipahami. Oiya sekedar untuk diketahui trik tersebut berlaku global, untuk semua MessageDlg yang dipanggil oleh aplikasi yang menggunakan, tidak peduli berasal dari mana form atau unit pemanggilnya sampai aplikasi ditutup.&lt;/p&gt; &lt;p&gt;Ada anggapan bahwa trik tersebut bersifat sekali pakai saja, tidak dinamis. Nah inilah yang perlu saya luruskan. Tentu saja trik tersebut dapat dipanggil dan digunakan berkali – kali untuk menampilkan MessageDlg dengan judul dan teks tombol yang berbeda – beda pula.&lt;/p&gt; &lt;p&gt;Lalu bagaimanakah cara agar dapat menampilkan MessageDlg sesuai dengan konteks teks judul dan tombol yang kita inginkan?&lt;/p&gt; &lt;p&gt;Tentu saja cukup mudah!&lt;/p&gt; &lt;p&gt;Cukup panggil method ReplaceResourceString dengan parameter judul, tombol mana yang ingin diubah teks-nya.&lt;/p&gt; &lt;p&gt;Misalnya:   &lt;/p&gt; &lt;div id="highlighter_102951" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgConfirm, &lt;/code&gt;&lt;code class="string"&gt;'Konfirmasi Penyimpanan'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYes, &lt;/code&gt;&lt;code class="string"&gt;'Simpan Perubahan'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNo, &lt;/code&gt;&lt;code class="string"&gt;'Jangan Simpan'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Ok, cukup, saya rasa Anda sudah mendapatkan inti-nya. Jika masih belum, coba simak kode sumber demo berikut, bagi yang belum paham, baca juga penjelasan yang saya tambahkan sebagai komentar:&lt;/p&gt; &lt;div id="highlighter_983013" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;001.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;{-----------------------------------------------------------------------------&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;002.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;The contents of this file are subject to the Mozilla Public License&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;003.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;Version 1.1 (the "License"); you may not use this file except in compliance&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;004.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;with the License. You may obtain a copy of the License at&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;005.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;&lt;a href="http://www.mozilla.org/MPL/MPL-1.1.html"&gt;http://www.mozilla.org/MPL/MPL-1.1.html&lt;/a&gt;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;006.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;007.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;Software distributed under the License is distributed on an "AS IS" basis,&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;008.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;009.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;the specific language governing rights and limitations under the License.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;010.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;011.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;The Original Code is: CustomMessageDlgDemoUnit.pas, released on 2008-08-05&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;012.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;013.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;The Initial Developer of the Original Code is Bayu Prasetio&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;014.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;Portions created by Bayu Prasetio are Copyright (C) 2007, 2008 Bayu Prasetio.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;015.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;All Rights Reserved.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;016.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;-----------------------------------------------------------------------------}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;017.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;018.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;{-----------------------------------------------------------------------------&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;019.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;Perhatian :&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;020.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;Apa yang tertera pada kode sumber ini sebaiknya dipahami terlebih dahulu,&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;021.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;jangan asal 'copy-paste' dan melakukan protes jika tidak sesuai dengan&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;022.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;keinginan.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;023.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;024.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;Yang perlu saya tekankan adalah, bahwa materi yang terdapat dalam kode&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;025.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;sumber ini sekedar demo, 'proof-of-concept' untuk mendukung eksplorasi&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;026.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;lanjutan dari 'Meng-Indonesia-kan MessageDlg' sampai ke batas yang Anda&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;027.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;tentukan sendiri berdasarkan imajinasi dan kreativitas Anda. Ingat, demo&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;028.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;ini belum optimal dan terbaik. Dan tentu saja harapan saya adalah Anda&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;029.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;dapat mengeksplorasi dan mengembangkan jauh lebih baik dari yang ada di&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;030.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;demo ini.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;031.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;032.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;Kelemahan mendasar adalah:&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;033.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;- Ukuran tombol hanya berubah pada saat 'ReplaceResourceString' pertama,&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;034.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="comments"&gt;pemanggilan berikutnya tidak mengubah ukuran tombol&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;035.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;-----------------------------------------------------------------------------}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;036.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;037.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;unit&lt;/code&gt; &lt;code class="plain"&gt;CustomMessageDlgDemoUnit;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;038.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;039.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;interface&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;040.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;041.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;uses&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;042.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;043.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Dialogs, StdCtrls, ComCtrls;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;044.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;045.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;type&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;046.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;TfrmCustomMessageDlg = &lt;/code&gt;&lt;code class="keyword"&gt;class&lt;/code&gt;&lt;code class="plain"&gt;(TForm)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;047.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;btnStandard: TButton;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;048.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;btnIndonesian: TButton;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;049.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;btnContextSave: TButton;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;050.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;mmoLegend: TMemo;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;051.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;stbMain: TStatusBar;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;052.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;btnContextPrint: TButton;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;053.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;btnStandardClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;054.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;btnIndonesianClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;055.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;btnContextSaveClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;056.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;btnContextPrintClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;057.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;private&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;058.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;{ Private declarations }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;059.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;ReplaceResourceString(RStringRec: PResStringRec; AString: PChar);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;060.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;SetCustomMessageStandard;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;061.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;SetCustomMessageIndonesian;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;062.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;SetCustomMessageContextSave;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;063.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;SetCustomMessageContextPrint;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;064.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;public&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;065.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="comments"&gt;{ Public declarations }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;066.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;067.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;068.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;069.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;frmCustomMessageDlg: TfrmCustomMessageDlg;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;070.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;071.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;implementation&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;072.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;073.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="color1"&gt;{$R *.dfm}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;074.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;075.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;uses&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;076.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Consts;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;077.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;078.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;const&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;079.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// konstanta default untuk MessageDlg&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;080.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgWarning = &lt;/code&gt;&lt;code class="string"&gt;'Warning'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;081.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgError = &lt;/code&gt;&lt;code class="string"&gt;'Error'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;082.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgInformation = &lt;/code&gt;&lt;code class="string"&gt;'Information'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;083.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgConfirm = &lt;/code&gt;&lt;code class="string"&gt;'Confirm'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;084.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYes = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Yes'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;085.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNo = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;No'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;086.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgOK = &lt;/code&gt;&lt;code class="string"&gt;'OK'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;087.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgCancel = &lt;/code&gt;&lt;code class="string"&gt;'Cancel'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;088.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelp = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Help'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;089.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpNone = &lt;/code&gt;&lt;code class="string"&gt;'No help available'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;090.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpHelp = &lt;/code&gt;&lt;code class="string"&gt;'Help'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;091.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAbort = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Abort'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;092.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgRetry = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Retry'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;093.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgIgnore = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Ignore'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;094.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAll = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;All'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;095.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoToAll = &lt;/code&gt;&lt;code class="string"&gt;'N&amp;amp;o to All'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;096.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesToAll = &lt;/code&gt;&lt;code class="string"&gt;'Yes to &amp;amp;All'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;097.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;098.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// konstanta MessageDlg untuk Bahasa Indonesia&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;099.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgWarningIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Peringatan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;100.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgErrorIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Kesalahan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;101.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgInformationIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Informasi'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;102.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgConfirmIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Konfirmasi'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;103.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Ya'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;104.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Tidak'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;105.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgOKIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'OK'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;106.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgCancelIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Batal'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;107.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Panduan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;108.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpNoneIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Panduan tidak tersedia'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;109.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpHelpIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Panduan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;110.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAbortIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Batal'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;111.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgRetryIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Ulang'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;112.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgIgnoreIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'A&amp;amp;cuh'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;113.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAllIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Semua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;114.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoToAllIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'T&amp;amp;idak untuk Semua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;115.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesToAllIndonesian = &lt;/code&gt;&lt;code class="string"&gt;'Ya untuk S&amp;amp;emua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;116.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;117.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// konstanta MessageDlg untuk konteks Pencetakan&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;118.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// yang digunakan adalah konfirmasi, mbOK, mbYes dan mbNo&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;119.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgWarningContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Peringatan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;120.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgErrorContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Kesalahan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;121.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgInformationContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Informasi'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;122.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgConfirmContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Konfirmasi Tujuan Pencetakan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;123.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Printer'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;124.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Dokumen PD&amp;amp;F Lebar Yak'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;125.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgOKContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Layar'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;126.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgCancelContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Batal'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;127.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Panduan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;128.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpNoneContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Panduan tidak tersedia'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;129.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpHelpContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Panduan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;130.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAbortContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Batal'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;131.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgRetryContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Ulang'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;132.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgIgnoreContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'A&amp;amp;cuh'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;133.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAllContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Semua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;134.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoToAllContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'T&amp;amp;idak untuk Semua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;135.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesToAllContextPrint = &lt;/code&gt;&lt;code class="string"&gt;'Ya untuk S&amp;amp;emua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;136.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;137.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// konstanta MessageDlg untuk konteks Penyimpanan&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;138.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// yang digunakan adalah konfirmasi, mbYes dan mbNo&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;139.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgWarningContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Peringatan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;140.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgErrorContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Kesalahan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;141.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgInformationContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Informasi'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;142.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgConfirmContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Konfirmasi Penyimpanan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;143.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesContextSave = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Simpan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;144.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoContextSave = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Lanjut Saja'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;145.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgOKContextSave = &lt;/code&gt;&lt;code class="string"&gt;'OK'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;146.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgCancelContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Batal'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;147.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpContextSave = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Panduan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;148.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpNoneContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Panduan tidak tersedia'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;149.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgHelpHelpContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Panduan'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;150.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAbortContextSave = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Batal'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;151.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgRetryContextSave = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Ulang'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;152.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgIgnoreContextSave = &lt;/code&gt;&lt;code class="string"&gt;'A&amp;amp;cuh'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;153.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgAllContextSave = &lt;/code&gt;&lt;code class="string"&gt;'&amp;amp;Semua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;154.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgNoToAllContextSave = &lt;/code&gt;&lt;code class="string"&gt;'T&amp;amp;idak untuk Semua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;155.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;_SMsgDlgYesToAllContextSave = &lt;/code&gt;&lt;code class="string"&gt;'Ya untuk S&amp;amp;emua'&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;156.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;157.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnContextPrintClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;158.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;159.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;SetCustomMessageContextPrint;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;160.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;161.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;162.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnContextSaveClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;163.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;164.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;SetCustomMessageContextSave;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;165.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;166.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;167.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnIndonesianClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;168.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;169.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;SetCustomMessageIndonesian;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;170.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;171.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;172.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnStandardClick(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;173.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;174.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;SetCustomMessageStandard;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;175.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;176.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;177.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="comments"&gt;{-- taken from bpCodeReplacement.pas by Bayu Prasetio}&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;178.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;ReplaceResourceString(RStringRec: PResStringRec;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;179.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AString: PChar);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;180.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;181.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;OldProtect: Cardinal;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;182.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;183.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;if&lt;/code&gt; &lt;code class="plain"&gt;RStringRec = &lt;/code&gt;&lt;code class="keyword"&gt;nil&lt;/code&gt; &lt;code class="keyword"&gt;then&lt;/code&gt; &lt;code class="plain"&gt;Exit;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;184.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;if&lt;/code&gt; &lt;code class="plain"&gt;VirtualProtectEx(GetCurrentProcess, RStringRec, SizeOf(RStringRec^), PAGE_EXECUTE_READWRITE, OldProtect) &lt;/code&gt;&lt;code class="keyword"&gt;then&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;185.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;186.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;RStringRec^.Identifier := Integer(AString);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;187.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;VirtualProtectEx(GetCurrentProcess, RStringRec, SizeOf(RStringRec^), OldProtect, @OldProtect);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;188.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;189.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;190.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;191.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;SetCustomMessageContextPrint;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;192.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;193.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// sebagai contoh, ubah resource string untuk MessageDlg berdasarkan konteks kejadian&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;194.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// dalam hal ini adalah proses pencetakan&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;195.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// mbOK disetarakan tayang ke layar (preview)&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;196.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// mbYes disetarakan cetak ke printer&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;197.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// mbNo disetarakan cetak ke dokumen PDF&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;198.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgConfirm, _SMsgDlgConfirmContextPrint);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;199.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYes, _SMsgDlgYesContextPrint);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;200.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNo, _SMsgDlgNoContextPrint);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;201.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgOK, _SMsgDlgOKContextPrint);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;202.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;203.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// gunakan ModalResult dari MessageDlg untuk menentukan tindakan selanjutnya&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;204.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// hati - hati, Anda tidak dapat menggunakan ShowMessage sekehendak hati&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;205.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// karena ShowMessage sebenarnya MessageDlg dengan parameter MessageType mtInformation&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;206.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// dan Buttons [mbOK]. Pahamkan mengapa tombol 'OK' berubah menjadi 'Layar' ?&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;207.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;case&lt;/code&gt; &lt;code class="plain"&gt;MessageDlg(&lt;/code&gt;&lt;code class="string"&gt;'Tentukan tujuan pencetakan dokumen ?'&lt;/code&gt;&lt;code class="plain"&gt;, mtConfirmation, [mbOK, mbYes, mbNo], &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;) &lt;/code&gt;&lt;code class="keyword"&gt;of&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;208.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;mrOK : ShowMessage(&lt;/code&gt;&lt;code class="string"&gt;'Dokumen ditayangkan ke layar'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;209.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;mrYes : ShowMessage(&lt;/code&gt;&lt;code class="string"&gt;'Dokumen dicetak ke printer'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;210.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;mrNo : ShowMessage(&lt;/code&gt;&lt;code class="string"&gt;'Dokumen disimpan dalam format .PDF'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;211.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;212.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;213.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;214.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;SetCustomMessageContextSave;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;215.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;216.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// sebagai contoh, ubah resource string untuk MessageDlg berdasarkan konteks kejadian&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;217.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// dalam hal ini adalah proses simpan&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;218.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgConfirm, _SMsgDlgConfirmContextSave);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;219.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYes, _SMsgDlgYesContextSave);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;220.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNo, _SMsgDlgNoContextSave);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;221.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgCancel, _SMsgDlgCancelContextSave);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;222.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;223.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MessageDlg(&lt;/code&gt;&lt;code class="string"&gt;'Anda Yakin akan menyimpan dokumen ini ?'&lt;/code&gt;&lt;code class="plain"&gt;, mtConfirmation, mbYesNoCancel, &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;224.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;225.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;226.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;SetCustomMessageIndonesian;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;227.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;228.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// ubah semua resource string untuk MessageDlg ke bahasa Indonesia&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;229.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgWarning, _SMsgDlgWarningIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;230.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgError, _SMsgDlgErrorIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;231.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgInformation, _SMsgDlgInformationIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;232.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgConfirm, _SMsgDlgConfirmIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;233.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYes, _SMsgDlgYesIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;234.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNo, _SMsgDlgNoIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;235.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgOK, _SMsgDlgOKIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;236.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgCancel, _SMsgDlgCancelIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;237.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgHelp, _SMsgDlgHelpIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;238.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgHelpNone, _SMsgDlgHelpNoneIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;239.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgHelpHelp, _SMsgDlgHelpHelpIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;240.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgAbort, _SMsgDlgAbortIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;241.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgRetry, _SMsgDlgRetryIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;242.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgIgnore, _SMsgDlgIgnoreIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;243.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgAll, _SMsgDlgAllIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;244.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNoToAll, _SMsgDlgNoToAllIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;245.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYesToAll, _SMsgDlgYesToAllIndonesian);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;246.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;247.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MessageDlg(&lt;/code&gt;&lt;code class="string"&gt;'Anda Yakin akan menyimpan dokumen ini ?'&lt;/code&gt;&lt;code class="plain"&gt;, mtConfirmation, mbYesNoCancel, &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;248.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;249.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;250.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TfrmCustomMessageDlg&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;SetCustomMessageStandard;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;251.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;252.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="comments"&gt;// ubah semua resource string untuk MessageDlg ke default&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;253.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgWarning, _SMsgDlgWarning);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;254.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgError, _SMsgDlgError);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;255.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgInformation, _SMsgDlgInformation);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;256.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgConfirm, _SMsgDlgConfirm);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;257.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYes, _SMsgDlgYes);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;258.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNo, _SMsgDlgNo);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;259.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgOK, _SMsgDlgOK);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;260.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgCancel, _SMsgDlgCancel);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;261.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgHelp, _SMsgDlgHelp);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;262.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgHelpNone, _SMsgDlgHelpNone);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;263.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgHelpHelp, _SMsgDlgHelpHelp);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;264.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgAbort, _SMsgDlgAbort);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;265.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgRetry, _SMsgDlgRetry);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;266.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgIgnore, _SMsgDlgIgnore);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;267.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgAll, _SMsgDlgAll);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;268.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgNoToAll, _SMsgDlgNoToAll);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;269.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;ReplaceResourceString(@SMsgDlgYesToAll, _SMsgDlgYesToAll);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;270.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;271.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MessageDlg(&lt;/code&gt;&lt;code class="string"&gt;'Anda Yakin akan menyimpan dokumen ini ?'&lt;/code&gt;&lt;code class="plain"&gt;, mtConfirmation, mbYesNoCancel, &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;272.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;273.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;274.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Dan sebagai catatan, ada kelemahan yang perlu diketahui perihal trik, yaitu ukuran tombol hanya berubah pada saat ‘ReplaceResourceString’ pertama, pemanggilan berikutnya tidak mengubah ukuran tombol.&lt;/p&gt; &lt;p&gt;Ok, seperti yang telah saya tulis komentar di kode sumber, “harapan saya adalah Anda dapat mengeksplorasi dan mengembangkan jauh lebih baik dari yang ada di demo ini”. Saya sengaja membuat demo ini belum optimal, jadi silahkan gunakan logika, kreativitas dan imajinasi Anda.&lt;/p&gt; &lt;p&gt;Semoga bermanfaat.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-2205761409715423342?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0TXQSAB1kAs1rL350ll2igJoqrI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0TXQSAB1kAs1rL350ll2igJoqrI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0TXQSAB1kAs1rL350ll2igJoqrI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0TXQSAB1kAs1rL350ll2igJoqrI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/8cJn3dnjHrw" height="1" width="1"/&gt;</content><link rel="related" href="http://urlcash.net/go/1/35431/7/http://blog.bprasetio.or.id/2008/08/07/custom-messagedlg/" title="Custom MessageDlg" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/2205761409715423342/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=2205761409715423342" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2205761409715423342?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/2205761409715423342?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/8cJn3dnjHrw/custom-messagedlg.html" title="Custom MessageDlg" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/07/custom-messagedlg.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cCQXYzfSp7ImA9WxJaEE8.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-3439811323410650576</id><published>2009-07-30T23:16:00.000-07:00</published><updated>2009-07-30T23:17:40.885-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-30T23:17:40.885-07:00</app:edited><title>Hindari FieldByName pada Penggunaan Intensif</title><content type="html">&lt;h2&gt;Hindari FieldByName pada Penggunaan Intensif&lt;/h2&gt;         &lt;p&gt;Bagi &lt;em&gt;Delphiers&lt;/em&gt; yang sering berinteraksi dengan database, tentu tidak asing dengan penggunaan &lt;em&gt;FieldByName&lt;/em&gt;. Pada operasi akses &lt;em&gt;field&lt;/em&gt; yang bersifat intensif, misalnya konversi data, penyalinan data dari satu database atau tabel ke database atau tabel lainnya, penggunaan &lt;em&gt;FieldByName&lt;/em&gt; harus dihindari.&lt;/p&gt; &lt;p&gt;&lt;span id="more-310"&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;Untuk mencapai suatu &lt;em&gt;field&lt;/em&gt; dengan menggunakan &lt;em&gt;FieldByName&lt;/em&gt;, terlebih dahulu harus dilakukan pencarian alamat referensi field yang dimaksud dengan melakukan iterasi setiap &lt;em&gt;field&lt;/em&gt; pada daftar &lt;em&gt;field&lt;/em&gt; (&lt;em&gt;FieldList&lt;/em&gt;) dari awal hingga akhir untuk mencocokkan namanya (&lt;em&gt;FieldName&lt;/em&gt;). Proses iterasi akan berhenti ketika ditemukan nama &lt;em&gt;field&lt;/em&gt; pada daftar &lt;em&gt;field&lt;/em&gt;. Proses kemudian mengembalikan alamat referensi &lt;em&gt;field&lt;/em&gt; yang dimaksud.&lt;/p&gt; &lt;p&gt;Sekilas, proses yang terjadi pada &lt;em&gt;FieldByName&lt;/em&gt; ditunjukkan pada potongan kode berikut:&lt;/p&gt; &lt;div id="highlighter_526418" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;1.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;function&lt;/code&gt; &lt;code class="plain"&gt;TFields&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="keyword"&gt;const&lt;/code&gt; &lt;code class="plain"&gt;FieldName: WideString): TField;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;2.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;3.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Result := FindField(FieldName);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;4.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;if&lt;/code&gt; &lt;code class="plain"&gt;Result = &lt;/code&gt;&lt;code class="keyword"&gt;nil&lt;/code&gt; &lt;code class="keyword"&gt;then&lt;/code&gt; &lt;code class="plain"&gt;DatabaseErrorFmt(SFieldNotFound, [FieldName], DataSet);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;5.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Jika ditelusuri, fungsi &lt;em&gt;FindField&lt;/em&gt; adalah sebagai berikut:&lt;/p&gt; &lt;div id="highlighter_44618" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;function&lt;/code&gt; &lt;code class="plain"&gt;TFields&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FindField(&lt;/code&gt;&lt;code class="keyword"&gt;const&lt;/code&gt; &lt;code class="plain"&gt;FieldName: WideString): TField;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;I: Integer;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;for&lt;/code&gt; &lt;code class="plain"&gt;I := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt; &lt;code class="keyword"&gt;to&lt;/code&gt; &lt;code class="plain"&gt;FList&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Count - &lt;/code&gt;&lt;code class="value"&gt;1&lt;/code&gt; &lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;Result := FList&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Items[I];&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;if&lt;/code&gt; &lt;code class="plain"&gt;WideCompareText(Result&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FFieldName, FieldName) = &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt; &lt;code class="keyword"&gt;then&lt;/code&gt; &lt;code class="plain"&gt;Exit;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Result := &lt;/code&gt;&lt;code class="keyword"&gt;nil&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Oke, untuk lebih mantapnya, perlu kita buat sebuah rutin untuk mengukur bagaimana penggunaan &lt;em&gt;FieldByName&lt;/em&gt; pada operasi yang intensif mengakses &lt;em&gt;field&lt;/em&gt;. Perlu diingat bahwa kode yang dijadikan sebagai contoh dibuat sesederhana mungkin, hanya mengakses 2 &lt;em&gt;field&lt;/em&gt; saja dan tidak ada operasi lain yang menyertainya seperti perhitungan, seleksi kondisi dan sebagainya. Pada keadaan sesungguhnya, bentuk operasi bisa jauh lebih kompleks dan bervariasi.&lt;/p&gt; &lt;p&gt;Berikut gambaran singkat mengenai data yang akan dijadikan bahan pengukuran&lt;br /&gt;- Sistem Core2Duo 1.66GHz, 667MHz FSB, 2MB L2 Cache, 1GB RAM, dengan free ram &gt; 256MB (ada program yg berjalan: Delphi2007, FF, EMS SQL Manager, Notepad++)&lt;br /&gt;- Windows XP Professional SP3&lt;br /&gt;- MySQL 5.1.21, akses lokal, konfigurasi standar&lt;br /&gt;- Tabel dengan jenis InnoDB, jumlah &lt;em&gt;record&lt;/em&gt; sekitar 29000-an&lt;br /&gt;- Pengukuran menggunakan &lt;em&gt;QueryPerformaceCounter&lt;/em&gt; &amp;amp; &lt;em&gt;QueryPerformanceFrequency&lt;/em&gt;&lt;br /&gt;- Sangat dimungkinkan terjadi proses &lt;em&gt;caching&lt;/em&gt; pembacaan hasil proses sebelumnya. Untuk itu lakukan proses perhitungan dengan jeda waktu yang lama dan berkali - kali untuk meyakinkan nilainya.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Metode 1&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Metode 1 menggunakan &lt;em&gt;FieldByName&lt;/em&gt; seperti pada potongan kode berikut:&lt;/p&gt; &lt;div id="highlighter_687731" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TForm2&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnMethod1Click(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A, B          : Double;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FFreq         : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStartCounter : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStopCounter  : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;I             : Integer;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;B := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceFrequency(FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStartCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;for&lt;/code&gt; &lt;code class="plain"&gt;I := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt; &lt;code class="keyword"&gt;to&lt;/code&gt; &lt;code class="value"&gt;1000&lt;/code&gt; &lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;First;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;while&lt;/code&gt; &lt;code class="keyword"&gt;not&lt;/code&gt; &lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Eof &lt;/code&gt;&lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;A := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="string"&gt;'jumlah'&lt;/code&gt;&lt;code class="plain"&gt;).AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;B := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="string"&gt;'jumlahnetto'&lt;/code&gt;&lt;code class="plain"&gt;).AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Next;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;25.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;26.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStopCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;27.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;28.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Label1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Caption := FloatToStr((FStopCounter - FStartCounter) / FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;29.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;30.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;31.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;32.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Hasil dari eksekusi rutin tersebut adalah 117,7975 detik.&lt;br /&gt;&lt;/p&gt;&lt;div id="attachment_565" class="wp-caption alignnone" style="width: 212px;"&gt;&lt;img src="http://bprasetio.wordpress.com/files/2008/12/method1.jpg" alt="Hasil Pengukuran Metode 1" title="method1" class="size-full wp-image-565" width="202" height="35" /&gt;&lt;p class="wp-caption-text"&gt;Hasil Pengukuran Metode 1&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Cukup lama bukan ? Lalu adakah teknik untuk mempersingkat operasi tersebut ? Tentu saja ada !&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Metode 2&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Teknik ini mungkin sudah banyak diketahui, namun mungkin jarang digunakan. Alih - alih menggunakan nama &lt;em&gt;field&lt;/em&gt; untuk mencari &lt;em&gt;field&lt;/em&gt; yang dikehendaki, teknik ini langsung mengakses alamat referensi dari &lt;em&gt;field&lt;/em&gt; yang dikehendaki dengan memanfaatkan nomor indeks &lt;em&gt;field&lt;/em&gt; tersebut dalam daftar &lt;em&gt;field&lt;/em&gt;. Tentu saja untuk melakukannya harus diketahui terlebih dahulu nomor indeks yang tepat. &lt;em&gt;Field&lt;/em&gt; pertama diakses melalui nomor indeks 0, &lt;em&gt;field&lt;/em&gt; kedua diakses melalui nomor indeks 1, demikian seterusnya.&lt;/p&gt; &lt;p&gt;Salah satu sebab teknik ini jarang dilakukan adalah karena konsistensi nomor urut &lt;em&gt;field&lt;/em&gt;. Jika misalnya terdapat perubahan susunan tabel atau perintah &lt;em&gt;query&lt;/em&gt;, maka nomor urut &lt;em&gt;field&lt;/em&gt; dimungkinkan tidak sesuai lagi. Dengan demikian harus dilakukan perubahan nomor urut pada kode sumber.&lt;/p&gt; &lt;p&gt;Disisi lain, teknik ini sangat sesuai apabila diterapkan pada aplikasi konversi / migrasi database / tabel dimana jumlah dan nama &lt;em&gt;field&lt;/em&gt; sangat variatif. Disini, nama &lt;em&gt;field&lt;/em&gt; tidak dapat dijadikan sebagai acuan. Yang perlu dilakukan hanyalah memberikan nomor indeks dari awal hingga akhir dan lakukan proses iterasi per &lt;em&gt;record&lt;/em&gt;, dari &lt;em&gt;field&lt;/em&gt; awal sampai akhir.&lt;/p&gt; &lt;p&gt;Berdasarkan kode metode 1, maka dilakukan perubahan seperti pada kode berikut:&lt;/p&gt; &lt;div id="highlighter_446795" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TForm2&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnMethod2Click(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A, B          : Double;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FFreq         : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStartCounter : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStopCounter  : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;I             : Integer;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;B := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceFrequency(FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStartCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;for&lt;/code&gt; &lt;code class="plain"&gt;I := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt; &lt;code class="keyword"&gt;to&lt;/code&gt; &lt;code class="value"&gt;1000&lt;/code&gt; &lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;First;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;while&lt;/code&gt; &lt;code class="keyword"&gt;not&lt;/code&gt; &lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Eof &lt;/code&gt;&lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;A := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Fields[&lt;/code&gt;&lt;code class="value"&gt;12&lt;/code&gt;&lt;code class="plain"&gt;].AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;B := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Fields[&lt;/code&gt;&lt;code class="value"&gt;13&lt;/code&gt;&lt;code class="plain"&gt;].AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Next;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;25.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;26.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStopCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;27.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;28.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Label2&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Caption := FloatToStr((FStopCounter - FStartCounter) / FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;29.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;30.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;31.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;32.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Hasil dari eksekusi rutin tersebut adalah 27,1231 detik. Sangat manjur bukan ?&lt;br /&gt;&lt;/p&gt;&lt;div id="attachment_567" class="wp-caption alignnone" style="width: 210px;"&gt;&lt;img src="http://bprasetio.wordpress.com/files/2008/12/method2.jpg" alt="Hasil Pengukuran Metode 2" title="method2" class="size-full wp-image-567" width="200" height="30" /&gt;&lt;p class="wp-caption-text"&gt;Hasil Pengukuran Metode 2&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Masih belum puas dengan hasil tersebut ? Simak teknik berikutnya.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Metode 3&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Teknik ini lebih jarang lagi digunakan. Alih - alih melakukan penunjukan &lt;em&gt;field&lt;/em&gt; yang dimaksud dengan memberikan nomor indeks yang sesuai pada setiap iterasi &lt;em&gt;record&lt;/em&gt; dimana proses penunjukan &lt;em&gt;field&lt;/em&gt; membutuhkan proses untuk mengakses kelas &lt;em&gt;TField&lt;/em&gt;, teknik ini langsung mengakses kelas &lt;em&gt;TField&lt;/em&gt; tersebut berada. Caranya adalah dengan terlebih dahulu mendapatkan alamat dimana kelas &lt;em&gt;TField&lt;/em&gt; tersebut berada. Alamat tersebut kemudian di simpan pada variabel lokal yang akan digunakan untuk mengakses &lt;em&gt;field&lt;/em&gt; tersebut secara langsung.&lt;/p&gt; &lt;p&gt;Berikut kode untuk metode 3:&lt;/p&gt; &lt;div id="highlighter_830215" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TForm2&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnMethod3Click(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A, B          : Double;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FFreq         : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStartCounter : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStopCounter  : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;I             : Integer;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField        : TField;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField2       : TField;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;B := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceFrequency(FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStartCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="string"&gt;'jumlah'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField2 := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="string"&gt;'jumlahnetto'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;for&lt;/code&gt; &lt;code class="plain"&gt;I := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt; &lt;code class="keyword"&gt;to&lt;/code&gt; &lt;code class="value"&gt;1000&lt;/code&gt; &lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;First;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;while&lt;/code&gt; &lt;code class="keyword"&gt;not&lt;/code&gt; &lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Eof &lt;/code&gt;&lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;25.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;A := AField&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;26.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;B := AField2&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;27.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Next;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;28.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;29.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;30.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStopCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;31.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;32.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Label3&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Caption := FloatToStr((FStopCounter - FStartCounter) / FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;33.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;34.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;35.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;36.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Hasil dari eksekusi rutin tersebut adalah 26,9201 detik.&lt;br /&gt;&lt;/p&gt;&lt;div id="attachment_568" class="wp-caption alignnone" style="width: 209px;"&gt;&lt;img src="http://bprasetio.wordpress.com/files/2008/12/method3.jpg" alt="Hasil Pengukuran Metode 3" title="method3" class="size-full wp-image-568" width="199" height="34" /&gt;&lt;p class="wp-caption-text"&gt;Hasil Pengukuran Metode 3&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Tentu saja masih ada celah perbaikan walaupun pengaruhnya mungkin tidak signifikan, tergantung dari kode Anda, yaitu dengan mengganti kode &lt;em&gt;FieldByName&lt;/em&gt; menjadi &lt;em&gt;Fields[x]&lt;/em&gt; dimana x adalah nomor indeks field yang dikehendaki.&lt;/p&gt; &lt;p&gt;Contoh kode diatas sangat intensif menggunakan variabel bertipe &lt;em&gt;TField&lt;/em&gt; untuk menampung alamat referensi dari &lt;em&gt;field&lt;/em&gt; yang dikehendaki. Lalu bagaimana apabila jumlah &lt;em&gt;field&lt;/em&gt; yang diakses sangat banyak atau bahkan sangat bervariasi ? Bukankah sangat tidak efisien apabila mendeklarasikan semua variabel yang diperlukan ? Lalu adakah teknik untuk mensiasatinya ? Simak metode selanjutnya.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Metode 4&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Salah satu teknik yang dapat digunakan adalah dengan menggunakan &lt;em&gt;array&lt;/em&gt; dinamis. Namun untuk menyederhanakan pembahasan, pada contoh ini hanya akan mengunakan &lt;em&gt;array&lt;/em&gt; statis.&lt;/p&gt; &lt;div id="highlighter_842367" class="syntaxhighlighter"&gt;&lt;div class="bar"&gt;&lt;div class="toolbar"&gt;&lt;a class="item viewSource" style="width: 16px; height: 16px;" title="view source" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#viewSource"&gt;view source&lt;/a&gt;&lt;a class="item printSource" style="width: 16px; height: 16px;" title="print" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#printSource"&gt;print&lt;/a&gt;&lt;a class="item about" style="width: 16px; height: 16px;" title="?" href="http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/#about"&gt;?&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="lines"&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;01.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;procedure&lt;/code&gt; &lt;code class="plain"&gt;TForm2&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;btnMehtod4Click(Sender: TObject);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;02.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;var&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;03.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A, B          : Double;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;04.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FFreq         : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;05.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStartCounter : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;06.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;FStopCounter  : Int64;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;07.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;I             : Integer;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;08.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField        : &lt;/code&gt;&lt;code class="keyword"&gt;array&lt;/code&gt; &lt;code class="plain"&gt;[&lt;/code&gt;&lt;code class="value"&gt;1..2&lt;/code&gt;&lt;code class="plain"&gt;] &lt;/code&gt;&lt;code class="keyword"&gt;of&lt;/code&gt; &lt;code class="plain"&gt;TField;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;09.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;10.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;11.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := True;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;12.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;13.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;A := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;14.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;B := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;15.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceFrequency(FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;16.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStartCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;17.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField[&lt;/code&gt;&lt;code class="value"&gt;1&lt;/code&gt;&lt;code class="plain"&gt;] := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="string"&gt;'jumlah'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;18.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;AField[&lt;/code&gt;&lt;code class="value"&gt;2&lt;/code&gt;&lt;code class="plain"&gt;] := MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;FieldByName(&lt;/code&gt;&lt;code class="string"&gt;'jumlahnetto'&lt;/code&gt;&lt;code class="plain"&gt;);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;19.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;for&lt;/code&gt; &lt;code class="plain"&gt;I := &lt;/code&gt;&lt;code class="value"&gt;0&lt;/code&gt; &lt;code class="keyword"&gt;to&lt;/code&gt; &lt;code class="value"&gt;1000&lt;/code&gt; &lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;20.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;21.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;First;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;22.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;while&lt;/code&gt; &lt;code class="keyword"&gt;not&lt;/code&gt; &lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Eof &lt;/code&gt;&lt;code class="keyword"&gt;do&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;23.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;begin&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;24.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;A := AField[&lt;/code&gt;&lt;code class="value"&gt;1&lt;/code&gt;&lt;code class="plain"&gt;].AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;25.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;B := AField[&lt;/code&gt;&lt;code class="value"&gt;2&lt;/code&gt;&lt;code class="plain"&gt;].AsFloat;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;26.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;      &lt;/code&gt;&lt;span class="block" style="margin-left: 54px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Next;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;27.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;    &lt;/code&gt;&lt;span class="block" style="margin-left: 36px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;28.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;29.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;QueryPerformanceCounter(FStopCounter);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;30.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;31.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;Label4&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Caption := FloatToStr((FStopCounter - FStartCounter) / FFreq);&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;32.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;33.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyQuery1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Active := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt2"&gt;&lt;code class="number"&gt;34.&lt;/code&gt;&lt;span class="content"&gt;&lt;code class="spaces"&gt;  &lt;/code&gt;&lt;span class="block" style="margin-left: 18px;"&gt;&lt;code class="plain"&gt;MyConnection1&lt;/code&gt;&lt;code class="value"&gt;.&lt;/code&gt;&lt;code class="plain"&gt;Connected := False;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="line alt1"&gt;&lt;code class="number"&gt;35.&lt;/code&gt;&lt;span class="content"&gt;&lt;span class="block" style="margin-left: 0px;"&gt;&lt;code class="keyword"&gt;end&lt;/code&gt;&lt;code class="plain"&gt;;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;Sama seperti sebelumnya, tentu saja masih ada celah perbaikan walaupun pengaruhnya mungkin tidak signifikan, tergantung dari kode Anda, yaitu dengan mengganti kode &lt;em&gt;FieldByName&lt;/em&gt; menjadi &lt;em&gt;Fields[x]&lt;/em&gt; dimana x adalah nomor indeks field yang dikehendaki.&lt;/p&gt; &lt;p&gt;Hasil dari eksekusi rutin tersebut adalah 26,8862 detik.&lt;br /&gt;&lt;/p&gt;&lt;div id="attachment_566" class="wp-caption alignnone" style="width: 204px;"&gt;&lt;img src="http://bprasetio.wordpress.com/files/2008/12/method4.jpg" alt="Hasil Pengkuran Metode 4" title="method4" class="size-full wp-image-566" width="194" height="32" /&gt;&lt;p class="wp-caption-text"&gt;Hasil Pengkuran Metode 4&lt;/p&gt;&lt;/div&gt; &lt;p&gt;Sebagai latihan, silahkan mencoba dengan jumlah &lt;em&gt;field&lt;/em&gt; yang lebih banyak dan bandingkan hasilnya. Adakah terjadi peningkatan kecepatan ? Silahkan cari tahu sendiri sebabnya.&lt;/p&gt; &lt;p&gt;Semoga bermanfaat.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-3439811323410650576?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N1P_HBCwXvZ1MFaH_Glh4gnuQT4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N1P_HBCwXvZ1MFaH_Glh4gnuQT4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N1P_HBCwXvZ1MFaH_Glh4gnuQT4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N1P_HBCwXvZ1MFaH_Glh4gnuQT4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/v_64iKPNnp4" height="1" width="1"/&gt;</content><link rel="related" href="http://urlcash.net/go/1/35431/7/http://blog.bprasetio.or.id/2008/12/18/hindari-fieldbyname-pada-penggunaan-intensif/" title="Hindari FieldByName pada Penggunaan Intensif" /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/3439811323410650576/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=3439811323410650576" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/3439811323410650576?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/3439811323410650576?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/v_64iKPNnp4/hindari-fieldbyname-pada-penggunaan.html" title="Hindari FieldByName pada Penggunaan Intensif" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/07/hindari-fieldbyname-pada-penggunaan.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MHQ349fSp7ImA9WxJaEEw.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-5781082267820554470</id><published>2009-07-30T22:49:00.000-07:00</published><updated>2009-07-30T22:50:32.065-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-30T22:50:32.065-07:00</app:edited><title>Make System Tray Application in delphi,</title><content type="html">&lt;p&gt;&lt;br /&gt;Make System Tray Application in Delphi in order to run background or placed on system tray is very easy. We Only need one API function that is Shell_NotifyIcon,the Application will be run as system tray with there function.&lt;br /&gt;The First at private you must declaration&lt;br /&gt;private&lt;br /&gt;{ Private declarations }&lt;br /&gt;systemTrayIcon:TNotifyIconData;&lt;/p&gt; &lt;p&gt;And Then, make a form, on event on Create add script below this&lt;span id="more-16"&gt;&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;with systemTrayIcon do&lt;br /&gt;begin&lt;br /&gt;cbSize := Sizeof(systemTrayIcon);&lt;br /&gt;Wnd:=Handle;&lt;br /&gt;uID := 0;&lt;br /&gt;uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;&lt;br /&gt;uCallbackMessage := WM_USER;&lt;br /&gt;hIcon := Application.Icon.Handle;&lt;br /&gt;StrCopy(szTip,'Aplikasi System Tray');&lt;br /&gt;End;&lt;br /&gt;Shell_NotifyIcon(NIM_ADD,@systemTrayIcon);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;xplanation script above are :&lt;br /&gt;Wnd is parameter from systemTrayIcon that use for appear icon on system tray and receive message information from system.&lt;br /&gt;hIcon is parameter for appear icon on system tray&lt;br /&gt;szTip is parameter for appear icon tips on system tray&lt;br /&gt;And then the most important part is Shell_NotifyIcon(NIM_ADD,@systemTrayIcon); that useful to place application on system tray&lt;br /&gt;To make our application disable on taskbar we must add some line in project part :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;begin&lt;br /&gt;Application.Initialize;&lt;br /&gt;Application.ShowMainForm := false; //tambahkan baris ini&lt;br /&gt;Application.CreateForm(TForm1, Form1);&lt;br /&gt;Application.Run;&lt;br /&gt;end.&lt;br /&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;If you want to disable icon when you close yout application you must add some code below on even OnDestroy at Form1&lt;br /&gt;Shell_NotifyIcon(NIM_DELETE,@systemTrayIcon);&lt;/p&gt; &lt;p&gt;After you finished, now we make our application can run normally or foreground, we can make a procedure,&lt;br /&gt;Example i have declaration procedure gotoTray at private section&lt;br /&gt;&lt;code&gt;&lt;br /&gt;procedure gotoTray(pesan :TMessage);&lt;br /&gt;message WM_USER;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;if you have been declaration, we must make implementation of procedure gotoTray.&lt;br /&gt;This script below is implementation of procedure gotoTray&lt;/p&gt; procedure TForm1.gotoTray(pesan :TMessage);&lt;br /&gt;begin&lt;br /&gt;case pesan.LParam of&lt;br /&gt;WM_LBUTTONDOWN:&lt;br /&gt;begin&lt;br /&gt;ShowMessage('Form ditampilkan');&lt;br /&gt;Form1.Show;&lt;br /&gt;end;&lt;br /&gt;WM_RBUTTONDOWN:&lt;br /&gt;begin&lt;br /&gt;ShowMessage('Form Menuju System Tray');&lt;br /&gt;Form1.Hide;&lt;br /&gt;end;&lt;br /&gt;end;&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-5781082267820554470?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IDg6-LsIp1ONKHt28or20Nx5X20/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IDg6-LsIp1ONKHt28or20Nx5X20/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IDg6-LsIp1ONKHt28or20Nx5X20/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IDg6-LsIp1ONKHt28or20Nx5X20/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/wXDlA9ObjJo" height="1" width="1"/&gt;</content><link rel="related" href="http://blog.uad.ac.id/wahyusumartha/2008/12/05/make-system-tray-application-with-delphi/" title="Make System Tray Application in delphi," /><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/5781082267820554470/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=5781082267820554470" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5781082267820554470?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/5781082267820554470?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/wXDlA9ObjJo/make-system-tray-application-in-delphi.html" title="Make System Tray Application in delphi," /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2009/07/make-system-tray-application-in-delphi.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAAQH06eCp7ImA9WxdaF04.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-8777243061013117893</id><published>2008-08-26T00:45:00.001-07:00</published><updated>2008-08-26T00:45:41.310-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-26T00:45:41.310-07:00</app:edited><title>ganti atribut file</title><content type="html">The following code reads a file's attributes into a set variable, sets the check boxes in a file-attribute dialog box to represent the current attributes, then executes the dialog box. If the user changes and accepts any dialog box settings, the code sets the file attributes to match the changed settings:&lt;br /&gt;&lt;br /&gt;procedure TFMForm.Properties1Click(Sender: TObject);&lt;br /&gt;var&lt;br /&gt;  Attributes, NewAttributes: Word;&lt;br /&gt;begin&lt;br /&gt;  with FileAttrForm do&lt;br /&gt;  begin&lt;br /&gt;    FileDirName.Caption := FileList.Items[FileList.ItemIndex];&lt;br /&gt;    { set box caption }&lt;br /&gt;    PathName.Caption := FileList.Directory;&lt;br /&gt;    { show directory name }&lt;br /&gt;    ChangeDate.Caption := &lt;br /&gt;      DateTimeToStr(FileDateToDateTime(FileAge(FileList.FileName)));&lt;br /&gt;    Attributes := FileGetAttr(FileDirName.Caption);&lt;br /&gt;    { read file attributes }&lt;br /&gt;    ReadOnly.Checked := (Attributes and SysUtils.faReadOnly) = faReadOnly;&lt;br /&gt;    Archive.Checked := (Attributes and faArchive) = faArchive;&lt;br /&gt;    System.Checked := (Attributes and faSysFile) = faSysFile;&lt;br /&gt;    Hidden.Checked := (Attributes and faHidden) = faHidden;&lt;br /&gt;    if ShowModal &lt;&gt; id_Cancel then	{ execute dialog box }&lt;br /&gt;    begin&lt;br /&gt;      NewAttributes := Attributes;&lt;br /&gt;      { start with original attributes }&lt;br /&gt;      if ReadOnly.Checked then&lt;br /&gt;        NewAttributes := NewAttributes or SysUtils.faReadOnly&lt;br /&gt;      else &lt;br /&gt;        NewAttributes := NewAttributes and not SysUtils.faReadOnly;&lt;br /&gt;      if Archive.Checked then&lt;br /&gt;        NewAttributes := NewAttributes or faArchive&lt;br /&gt;      else &lt;br /&gt;        NewAttributes := NewAttributes and not faArchive;&lt;br /&gt;      if System.Checked then &lt;br /&gt;        NewAttributes := NewAttributes or faSysFile&lt;br /&gt;      else &lt;br /&gt;        NewAttributes := NewAttributes and not faSysFile;&lt;br /&gt;      if Hidden.Checked then &lt;br /&gt;        NewAttributes := NewAttributes or faHidden&lt;br /&gt;      else &lt;br /&gt;        NewAttributes := NewAttributes and not faHidden;&lt;br /&gt;      if NewAttributes &lt;&gt; Attributes then { if anything changed... }&lt;br /&gt;        FileSetAttr(FileDirName.Caption, NewAttributes);&lt;br /&gt;         { ...write the new values }&lt;br /&gt;    end;&lt;br /&gt;  end;&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-8777243061013117893?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UKFfCyEQ1dAtbGpPfOyfT4yDz8M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UKFfCyEQ1dAtbGpPfOyfT4yDz8M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UKFfCyEQ1dAtbGpPfOyfT4yDz8M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UKFfCyEQ1dAtbGpPfOyfT4yDz8M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/Eyg5q7_oRpQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/8777243061013117893/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=8777243061013117893" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/8777243061013117893?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/8777243061013117893?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/Eyg5q7_oRpQ/ganti-atribut-file.html" title="ganti atribut file" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2008/08/ganti-atribut-file.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUESXo6cSp7ImA9WxdaF04.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-7221972358799824859</id><published>2008-08-26T00:03:00.001-07:00</published><updated>2008-08-26T00:03:28.419-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-26T00:03:28.419-07:00</app:edited><title>Delphi - membuka control panel</title><content type="html">Membuka Control Panel&lt;br /&gt;&lt;br /&gt;Gunakan kode di bawah ini untuk membuka Control Panel dari program Delphi Anda. Jangan lupa tampahkan ShellApi pada bagian uses :&lt;br /&gt;&lt;br /&gt;procedure TForm1.Buton1Click(Sender : TObject);&lt;br /&gt;begin&lt;br /&gt;     ShellExecute(Handle,\'Open\',\'control\',&lt;br /&gt;     nil,nil,SW_SHOWNORMAL);&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-7221972358799824859?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UCZiVneHu6-LWFmj6PD9JlU42xY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UCZiVneHu6-LWFmj6PD9JlU42xY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UCZiVneHu6-LWFmj6PD9JlU42xY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UCZiVneHu6-LWFmj6PD9JlU42xY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/K4uVLHVEtOY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/7221972358799824859/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=7221972358799824859" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/7221972358799824859?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/7221972358799824859?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/K4uVLHVEtOY/delphi-membuka-control-panel.html" title="Delphi - membuka control panel" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2008/08/delphi-membuka-control-panel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYCSXs4fSp7ImA9WxdaFkg.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-4420207966145166115</id><published>2008-08-25T02:22:00.001-07:00</published><updated>2008-08-25T02:22:48.535-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-25T02:22:48.535-07:00</app:edited><title>How to minimize to System Tray</title><content type="html">&lt;br /&gt;&lt;br /&gt;unit Unit1;&lt;br /&gt;&lt;br /&gt;interface&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,&lt;br /&gt;  StdCtrls, ShellApi;&lt;br /&gt;&lt;br /&gt;const&lt;br /&gt;  WM_NOTIFYICON  = WM_USER+333;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;  TForm1 = class(TForm)&lt;br /&gt;    &lt;br /&gt;procedure FormCreate(Sender: TObject);&lt;br /&gt;    &lt;br /&gt;procedure FormClose(Sender: TObject; var Action: TCloseAction);&lt;br /&gt;  private&lt;br /&gt;    { Private declarations }&lt;br /&gt;    tnid: TNotifyIconData;&lt;br /&gt;    HMainIcon: HICON;&lt;br /&gt;    &lt;br /&gt;procedure CMClickIcon(var msg: TMessage); message WM_NOTIFYICON;&lt;br /&gt;  public&lt;br /&gt;    { Public declarations }&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;  Form1: TForm1;&lt;br /&gt;&lt;br /&gt;implementation&lt;br /&gt;&lt;br /&gt;{$R *.DFM}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;procedure TForm1.CMClickIcon(var msg: TMessage);&lt;br /&gt;begin&lt;br /&gt;  case msg.lparam of&lt;br /&gt;    WM_LBUTTONDBLCLK : Show;&lt;br /&gt;  end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormCreate(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  HMainIcon                := LoadIcon(MainInstance, \'MAINICON\');&lt;br /&gt;&lt;br /&gt;  Shell_NotifyIcon(NIM_DELETE, @tnid);&lt;br /&gt;&lt;br /&gt;  tnid.cbSize              := sizeof(TNotifyIconData);&lt;br /&gt;  tnid.Wnd                 := handle;&lt;br /&gt;  tnid.uID                 := 123;&lt;br /&gt;  tnid.uFlags              := NIF_MESSAGE or NIF_ICON or NIF_TIP;&lt;br /&gt;  tnid.uCallbackMessage    := WM_NOTIFYICON;&lt;br /&gt;  tnid.hIcon               := HMainIcon;&lt;br /&gt;  tnid.szTip               := \'POP3 Server\';&lt;br /&gt;&lt;br /&gt;  Shell_NotifyIcon(NIM_ADD, @tnid);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);&lt;br /&gt;begin&lt;br /&gt;  Action := caNone;&lt;br /&gt;  Hide;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-4420207966145166115?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TYgPU8HlI6xsjzdiFhR-AA8cu-s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TYgPU8HlI6xsjzdiFhR-AA8cu-s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TYgPU8HlI6xsjzdiFhR-AA8cu-s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TYgPU8HlI6xsjzdiFhR-AA8cu-s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/ga14JN7kW_E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/4420207966145166115/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=4420207966145166115" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/4420207966145166115?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/4420207966145166115?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/ga14JN7kW_E/how-to-minimize-to-system-tray.html" title="How to minimize to System Tray" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2008/08/how-to-minimize-to-system-tray.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQBRHo8fCp7ImA9WxdaFk4.&quot;"><id>tag:blogger.com,1999:blog-7092830139150092313.post-4726985786534787647</id><published>2008-08-24T19:11:00.001-07:00</published><updated>2008-08-24T19:12:35.474-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-24T19:12:35.474-07:00</app:edited><title>shutdown komputer</title><content type="html">Men-shutdown komputer&lt;br /&gt;&lt;br /&gt;Untuk melakukan restart, shutdown atau log off komputer, gunakan fungsi ExitWindowsEx. Ada pun deklarasi dari fungsi ExitWindowsEx adalah sebagai berikut :&lt;br /&gt;&lt;br /&gt;function ExitWindowsEx (uFlags : word ; dwReserved : DWORD): BOOL;&lt;br /&gt;&lt;br /&gt;Parameter pertama menerangkan \"apa yang harus dilakukan\" oleh komputer. Parameter ini dapat bernilai :&lt;br /&gt;Konstanta&lt;br /&gt; &lt;br /&gt;Keterangan&lt;br /&gt;EWX_RESTART  Melakukan restart dengan menampilkan peringatan.&lt;br /&gt;EWX_SHUTDOWN  Melakukan shutdown dengan menampilkan peringatan.&lt;br /&gt;EWX_LOGOFF  Melakukan log off dengan menampilkan peringatan.&lt;br /&gt;EWX_FORCE  Melakukan shutdown tanpa menampilkan peringatan. Sehingga ada kemungkinan Anda akan kehilangan data yang belum disimpan (belum di-save).&lt;br /&gt;&lt;br /&gt;Sedangkan parameter kedua bernilai 0.&lt;br /&gt;&lt;br /&gt;Sehingga bila ingin melakukan shutdown cukup tulis kode berikut ini :&lt;br /&gt;&lt;br /&gt;ExitWindowsEx (EWX_SHUTDOWN, 0);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7092830139150092313-4726985786534787647?l=delphisource.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ebTh7Vf7ypU-DBq9hkrT1aHpX2M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ebTh7Vf7ypU-DBq9hkrT1aHpX2M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ebTh7Vf7ypU-DBq9hkrT1aHpX2M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ebTh7Vf7ypU-DBq9hkrT1aHpX2M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/DelphiSourceCode/~4/OJKy0NZASGs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://delphisource.blogspot.com/feeds/4726985786534787647/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7092830139150092313&amp;postID=4726985786534787647" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/4726985786534787647?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7092830139150092313/posts/default/4726985786534787647?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/DelphiSourceCode/~3/OJKy0NZASGs/wwwklik-kanancom-delphi-shutdown.html" title="shutdown komputer" /><author><name>Enda Setiyo</name><uri>http://www.blogger.com/profile/04501706853171911693</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="30" height="32" src="http://3.bp.blogspot.com/_AkmRUAsJjkw/SoYZoGWi54I/AAAAAAAAAEA/nIsJDwGjr7Q/S220/Bapakelala.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://delphisource.blogspot.com/2008/08/wwwklik-kanancom-delphi-shutdown.html</feedburner:origLink></entry></feed>

