<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8675019799642182580</id><updated>2012-01-31T18:27:06.728+02:00</updated><category term='Site Linki'/><category term='Delphi OTA'/><category term='Fonksiyon kullanımı'/><category term='Component yazma'/><category term='Ürün bilgisi'/><title type='text'>Yusuf Celik Delphi Güncesi</title><subtitle type='html'>Borland Delphi ve hayata dair günce</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-3565652235177200443</id><published>2009-10-26T14:05:00.001+02:00</published><updated>2009-10-26T14:09:11.553+02:00</updated><title type='text'>Pointers in Delphi</title><content type='html'>Pointer ve kullanımı, güzel bir makale(Pointers and its use)&lt;br /&gt;&lt;a href="http://rvelthuis.de/articles/articles-pointers.html"&gt;http://rvelthuis.de/articles/articles-pointers.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-3565652235177200443?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/3565652235177200443/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=3565652235177200443' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/3565652235177200443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/3565652235177200443'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2009/10/pointers-in-delphi.html' title='Pointers in Delphi'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-322565697121487158</id><published>2006-11-08T10:40:00.000+02:00</published><updated>2006-11-08T10:54:37.303+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site Linki'/><title type='text'>Delphi2006 anketine katılmak ister misiniz?</title><content type='html'>Delphi2006 için Türkçe bir anket düzenlenmiştir.&lt;br /&gt;Bu ankete &lt;a href="http://bdn.borland.com/article/33765"&gt;http://bdn.borland.com/article/33765&lt;/a&gt; adresinden katılabilirsiniz.&lt;br /&gt;Daha iyi bir Delphi istiyorsak bu anketi mutlaka doldurmalıyız düşüncesindeyim?&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-322565697121487158?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/322565697121487158/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=322565697121487158' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/322565697121487158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/322565697121487158'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/11/delphi2006-anketine-katlmak-ister.html' title='Delphi2006 anketine katılmak ister misiniz?'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-347402639466011477</id><published>2006-10-19T11:32:00.000+03:00</published><updated>2006-10-19T15:34:42.906+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ürün bilgisi'/><title type='text'>Delphi2006'ya geçmek için 14 neden</title><content type='html'>Eski Delphi sürümlerini kullananlar, yeni sürüme (BDS2006) neden terfi etmezler ?&lt;br /&gt;Borland Delphi ustaları, yeni sürüme  terfi etmek için 14 neden sıralıyorlar.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Kalite&lt;/span&gt; -- Delphi 2006 yüksek kaliteli bir araçtır. Kalite, son olarak çıkarılan acil yamalar ile pekiştirildi. Kullanıcılardan gelen olumlu geri besleme bunun kanıtıdır.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;ECO&lt;/span&gt; -- ECO (Enterprise Core Objects)  şimdi tüm versiyonlarda bulunuyor - Architect, Enterprise and Professional. ECO ile nesnel veri tabanı yapısı kurabilir ve hızlı bir şekide veri tabanınızı  kontrol edebilirsiniz. Bunu yaparken, tablo değişiklikleriyle ya da tablolardaki field'ler deki değişiklikler ile uğraşmak zorunda değilsiniz. Ayrıca, gereksiz ve kabus olan DML (INSERT, UPDATE, DELETE, SELECT) ifadeleri  sizin için kullanır. Bunun içi .NET kullanmanın gerekir. &lt;a href="http://www.cq.co.za/index.asp?newcore=ECO"&gt;ECO öğrenmek için&lt;/a&gt; güzel bir site. Ancak Win32 de kullanmak için başka çözümler vardır, örneğin: &lt;a href="http://www.instantobjects.org/"&gt;InstantObjects&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Hazır Kalıplar&lt;/span&gt; (Live Templates) -- Çok sık kullanılan ifadeleri sizin için kullanımını kolaylaştırır. Örneğin: try except/finally blokları, ShowMessage ya da bir Component'i kod içinde yaratmak gibi. Bunları herseferinde yazmak yerine bir kere tanımlıyoruz, böylece kodlamayı oldukça hızlandırmış oluyoruz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;FormDesigner&lt;/span&gt; (VCL Designer Guidlines) -- Form üzerinde componentları ayarlarken çoğu zaman gereksiz zaman harcar ve sıkıntı çekeriz. Yeni form designer bu işi bizim için kolaylaştırmış. Bu component'i fare ile tuttuğunuzda diğer componentlar ile ilişkisini gösteriyor, fare ile sürükleyerek uygun pozisyona getiriyorsunuz. Artık birden fazla component'i seçerek Left'lerini ya da Top'larını aynı yapmanıza gerek yok.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;4 programlama dil desteği&lt;/span&gt; -- Tek bir IDE içinde Delphi for Win32, Delphi for .NET, C++Builder ve C# dillerini programlama imkanı sağlıyor.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Yeni VCL özellikleri&lt;/span&gt; -- Form üzerinde bulunan kontroller için Margin (kenarlarda boşluk), Padding (Doldurma) özellikleri (Property'ler) eklenmiştir. Bu özellikler ile form üzerinde bulunan kontrol Component'larınızı uygun bir şekilde ayarlayabilirsiniz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Yeni Component'lar&lt;/span&gt; -- TGridPanel, TFlowPanel, bunlar TPanel tarzı component'lardır. Bu paneller üzerine koyduğunuz kontrol componen'ları  form'unuzu resize yapsanız bile yerleri uygun bir şekilde otomatik olarak ayarlanıyor. TCategoryButtons, bu özelliklerde başka bir component'dir. Bu component ile butonlarınızı gruplayabilirsiniz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Refactorings&lt;/span&gt; -- Bence çok güzel ve güçlü bir özellik. Örneğin: Bir projede bulunan bir değişkenin değiştirilmesi. Ya da Class yapısı kullanırken, bir metod'u bir üst class'a taşıma. Ya da çok sık kullanılan bir kod parçasını bir Metod olarak ayrıştırma işi.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;History Tab&lt;/span&gt; (Kod'un tarih bilgisi) -- Bir kod üzerinde çalışma yaparken, sık sık daha önce neler yaptığımızı merak ederiz. Bu özellik ile kod'unuzun save edilmiş son n adetini bulabilir ve bunları bir biriyle karşılaştırabilirsiniz. Bence bu da mükemmel bir özellik.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Paketli ürünler&lt;/span&gt; -- IDE için birçok Plug-In bulabilirsiniz. Bunlardan bazıları: &lt;a href="http://www.borland.com/downloads/registered/download_delphi.html"&gt;Castalia&lt;/a&gt;,  &lt;a href="http://www.borland.com/downloads/registered/download_delphi.html"&gt;CodeHealer&lt;/a&gt; ve &lt;a href="http://www.borland.com/downloads/registered/download_delphi.html"&gt;BuilderBooster&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Two Way Modeling&lt;/span&gt; (İki türlü modelleme) -- Architect, Enterprise ve Professional versiyonlarında &lt;a href="http://www.borland.com/us/products/together/index.html"&gt;Together&lt;/a&gt; UML modelleme yapısı kullanılıyor. Class ve UML modellerini görebilir, kod ve modelleme geçişini yapabilirsiniz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Yeni Tool Palette&lt;/span&gt; (Component Palette) -- Yeni component palette ile aradığınız component'i Ctrl+Alt+P ile arayarak bulabilirsiniz. Hatta isterseniz bir kategory oluşturup çok sık kullandığınız component'ları elinizin altında tutmak için oraya taşıyabilirsiniz.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Expandable Debugger Hints&lt;/span&gt; -- Bir nesneyi ya da component'i debug ederken, fare ile üzerinde geldiğinizde o component'in tüm özelliklerini görmenizi sağlar.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Daha binlarce minik özellik&lt;/span&gt; -- Örneğin: Structure Pane: Kod içinde compile hatası var ise hatayı gösteren pencere. Ya da çok sık kullandığınız Delphi ekran düzenin kaydedebilirsiniz.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Eski Delphi versiyonu kullanıyorsanız, yukarıda anlatılanlar Delphi 2006'ya terfi etmek için bence geçerli nedenlerdir.&lt;br /&gt;Siz ne dersiniz ?&lt;br /&gt;&lt;br /&gt;Daha fazla bilgi için &lt;a href="http://blogs.borland.com/NickHodges/archive/2006/10/05/28020.aspx"&gt;http://blogs.borland.com/NickHodges/archive/2006/10/05/28020.aspx&lt;/a&gt; sitesine göz atabilirsiniz.&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-347402639466011477?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/347402639466011477/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=347402639466011477' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/347402639466011477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/347402639466011477'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/10/delphi2006ya-gemek-iin-14-neden.html' title='Delphi2006&apos;ya geçmek için 14 neden'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-7288229943974468727</id><published>2006-10-06T16:31:00.000+03:00</published><updated>2006-10-06T16:36:53.253+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Site Linki'/><title type='text'>From C# To Delphi.NET</title><content type='html'>C# kodunuzu nasıl Delphi.NET koduna çevirirsiniz ?&lt;br /&gt;Bunun için Borland'ın bir hizmetinden yararlanabiliriz.&lt;a href="http://dotnet.borland.com/babelclient/BabelClient.aspx"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dotnet.borland.com/babelclient/BabelClient.aspx"&gt;Ayrıntılı bilgi için tıklayınız&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-7288229943974468727?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/7288229943974468727/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=7288229943974468727' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/7288229943974468727'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/7288229943974468727'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/10/from-c-to-delphinet.html' title='From C# To Delphi.NET'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-4843954245302230250</id><published>2006-09-28T15:23:00.001+03:00</published><updated>2006-09-28T15:49:20.411+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi OTA'/><title type='text'>Delphi IDE'sinde bulunan imajlara nasıl ulaşılır ?</title><content type='html'>Delphiciler olarak GUI programlar yazmak için genellikle Delphi IDE'sini kullanırız.&lt;br /&gt;Ancak bu IDE içindeki imajlara nasıl ulaşırız ?&lt;br /&gt;Bunları kaydetmek mümkün mü ?&lt;br /&gt;&lt;br /&gt;Bu sorular sanırım pek çok kimsenin aklına gelmez ya da işimize yaramadığı için pek önemsemeyiz.&lt;br /&gt;&lt;br /&gt;Delphide yüklü imajlara ulaşmak için Delphide tanımlı olan (ToolsApi.pas) servislerden faydalanırız.&lt;br /&gt;Bunun için işimizi gören servis &lt;span style="font-weight: bold;"&gt;INTAServices&lt;/span&gt; dır.&lt;br /&gt;Bu servis aslında yalnızca IDE'de bulunan imajlara erişmemizi sağlamaz, ek olarak Ana Menu, ToolBar, ActionList gibi.&lt;br /&gt;Bunlara ulaştığımızda bunlarla istediğimiz gibi oynayabiliriz.&lt;br /&gt;&lt;br /&gt;Bu örnekte imaj için kullanacağımız INTAServices.ImageList değişkenidir.&lt;br /&gt;Şöyleki:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;var&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;imgList : TCustomImageList;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight: bold;"&gt;if not&lt;/span&gt; BorlandIDEServices.SupportsService(INTAServices) &lt;span style="font-weight: bold;"&gt;then &lt;/span&gt;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;imgList := (BorlandIDEServices &lt;span style="font-weight: bold;"&gt;as&lt;/span&gt; INTAServices).ImageList;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;end&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;imgList içinde artık Delphi IDE'si içinde kullanılan imajlar saklıdır.&lt;br /&gt;Devamı için &lt;a href="http://yusufcelik.googlepages.com/delphiota_ideimages"&gt;http://yusufcelik.googlepages.com/delphiota_ideimages&lt;/a&gt;&lt;br /&gt;sitesinden bilgi alabilirsiniz.&lt;br /&gt;Kaynak kod için : &lt;a href="http://yusufcelik.googlepages.com/TestPIn_Img.zip"&gt;TestPIn_Img.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-4843954245302230250?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/4843954245302230250/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=4843954245302230250' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/4843954245302230250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/4843954245302230250'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/09/delphi-idesinde-bulunan-imajlara-nasl_28.html' title='Delphi IDE&apos;sinde bulunan imajlara nasıl ulaşılır ?'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-546240087105427132</id><published>2006-09-21T11:15:00.000+03:00</published><updated>2006-09-21T11:48:56.213+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ürün bilgisi'/><title type='text'>Turbo ve BDS2006 ürünleri için acil yamalar</title><content type='html'>&lt;a href="http://www.borland.com/"&gt;Borland&lt;/a&gt; tarafından ücretsiz olarak sunulan &lt;a href="http://www.turboexplorer.com/"&gt;Turbo&lt;/a&gt; ürün ailesi ve ücretli BDS 2006 (Borland Developer Studio 2006) için acil yamalar (Hotfix) çıktı.&lt;br /&gt;Yamaları &lt;a href="http://cc.borland.com/item/24132"&gt;http://cc.borland.com/item/24132&lt;/a&gt; adresinden indirip install edebilirsiniz.&lt;br /&gt;&lt;br /&gt;Bu yamaların içeriği kısaca:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Hotfix 7: C++ ve Delphi.NET ile ilgili.&lt;/li&gt;&lt;li&gt;Hotfix 8: Bir database field'ını incelerken 'DataSet.FieldByName('ALAN').As...' değerinden ziyade Access Violation hatası vermekteydi. Düzeltildi.&lt;/li&gt;&lt;li&gt;Hotfix 9: Memory problemi ile ilgili. Editör içinde birden fazla dosya açık iken bunların arasında dolaşmak memoride allocate edilen bazı alanları Free edemiyordu. Düzeltildi.&lt;/li&gt;&lt;/ol&gt;Yamalar hakkında daha fazla ayrıntı için &lt;a href="http://bdn.borland.com/article/33688"&gt;Borland&lt;/a&gt;'ın resmi sitesinden bilgi alabilirsiniz.&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-546240087105427132?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/546240087105427132/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=546240087105427132' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/546240087105427132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/546240087105427132'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/09/turbo-ve-bds2006-rnleri-iin-acil.html' title='Turbo ve BDS2006 ürünleri için acil yamalar'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-7575774597246264754</id><published>2006-09-20T13:59:00.000+03:00</published><updated>2006-09-20T15:08:38.918+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fonksiyon kullanımı'/><title type='text'>İki işlem arasında geçen süre</title><content type='html'>İki işlem arasında geçen yaklaşık süre için &lt;a href="http://yusufcelik.googlepages.com/page3"&gt;bu&lt;/a&gt; sayfadaki örnek kullanılabilir.&lt;br /&gt;Ancak burada milisaniyeler(saliseler) bazında da olsa hata olabilir.&lt;br /&gt;Sürenin doğruluğu sizin için çok önemli ise örneğin saliseler bazında, o zaman başka yönteme bakmanızı öneririm.&lt;br /&gt;Bu güncede anlatacağım sanırım sizi ilgilendiriyor.&lt;br /&gt;&lt;br /&gt;İki işlem arasında geçen süre genellikle &lt;span style="font-weight:bold;"&gt;GetTickCount &lt;/span&gt;ya da &lt;span style="font-weight:bold;"&gt;timeGetTime &lt;/span&gt;adlarıyla bilinen  Windows API fonksiyonları tarafından ölçülür, ancak bu fonksiyonlar bir kaç milisaniyelik (salise) de olsa hata yapabilirler.&lt;br /&gt;Onun yerine daha kesin sonuç veren &lt;span style="font-weight:bold;"&gt;QueryPerformansCounter &lt;/span&gt;Windows API fonksiyonunu kullanma taraftarıyım.&lt;br /&gt;Ancak &lt;span style="font-weight:bold;"&gt;QueryPerformansCounter &lt;/span&gt;Windows API fonksiyonu &lt;span style="font-weight:bold;"&gt;QueryPerformansFrequency &lt;/span&gt;Windows API fonksiyonu ile birlikte kullanılır.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;QueryPerformansFrequency &lt;/span&gt;: Her bir saniyede, bilgisayarın donanımındaki timer’ın artan değeridir yani frekansı da diyebiliriz. Bu fonksiyondan dönen değeri, baz olarak alacağız. (Her donanım desteklemeyebilir.)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;QueryPerformansCounter &lt;/span&gt;: Sistem (Windows) başladığından beri geçen sürenin milisaniye cinsinden değerini de verir.&lt;br /&gt;Yapılması gereken şey öncelikler, bilgisayarın donanımının frekansının bulunması, dönen değer 64-bit yani Int64 değerindedir.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tmpFreq : Int64Rec;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Freq : Cardinal;&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;&amp;nbsp;&amp;nbsp;Freq := 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;if not&lt;/span&gt; QueryPerformanceFrequency(TLargeInteger(tmpFreq)) &lt;span style="font-weight:bold;"&gt;then&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ShowMessage('Donanım desteklemiyor');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;end&lt;/span&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;if &lt;/span&gt;tmpFreq.Lo = 0 &lt;span style="font-weight:bold;"&gt;then &lt;/span&gt;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Freq := tmpFreq.Lo &lt;span style="font-weight:bold;"&gt;div &lt;/span&gt;1000;&lt;br /&gt;&lt;br /&gt;Burada frekansın ilk 32-bitlik değerin 0 olması işimize yaramaz, çünkü bu değeri 1000 sayısına böleceğiz. Yukardaki işlemi 1 kere kullanmak yeterlidir, çünkü bu donanımsal bir değerdir, hiçbir zaman değişmez.&lt;br /&gt;Daha sonra işimizi asıl &lt;span style="font-weight:bold;"&gt;QueryPerformansCounter &lt;/span&gt;fonksiyonu çözecektir.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;counter : TLargeInteger;&lt;br /&gt;&amp;nbsp;&amp;nbsp;donen_ms : Cardinal;&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;if&lt;/span&gt; Freq &lt;&gt; 0 &lt;span style="font-weight:bold;"&gt;then&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QueryPerformanceCounter(counter);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;donen_ms := counter &lt;span style="font-weight:bold;"&gt;div &lt;/span&gt;Freq;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;end&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;Şimdi yukarıda anlattıklarımızı kod’a dökelim.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;unit&lt;/span&gt; UntUtilities;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;interface&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;functio&lt;/span&gt;n MSecEllapsed():Cardinal;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;implementation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;uses&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;SysUtils, Windows;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Freq : Cardinal;&lt;br /&gt;&amp;nbsp;&amp;nbsp;tmpFreq : Int64Rec;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;function &lt;/span&gt;MSecEllapsed():Cardinal;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;counter : TLargeInteger;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;if &lt;/span&gt;Freq &lt;&gt; 0 &lt;span style="font-weight:bold;"&gt;then&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;QueryPerformanceCounter(counter);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result := counter &lt;span style="font-weight:bold;"&gt;div &lt;/span&gt;Freq;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;end&lt;br /&gt;&amp;nbsp;&amp;nbsp;else&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result := GetTickCount;&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;initialization&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Freq := 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;if not&lt;/span&gt; QueryPerformanceFrequency(TLargeInteger(tmpFreq)) &lt;span style="font-weight:bold;"&gt;then &lt;/span&gt;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="font-weight:bold;"&gt;if &lt;/span&gt;tmpFreq.Lo = 0 &lt;span style="font-weight:bold;"&gt;then &lt;/span&gt;Exit;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Freq := tmpFreq.Lo &lt;span style="font-weight:bold;"&gt;div &lt;/span&gt;1000;&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;Örnek kullanım:&lt;/span&gt;&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;uses&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Windows, //GetTickCount için&lt;br /&gt;&amp;nbsp;&amp;nbsp;UntUtilities, //MSecEllapsed&lt;br /&gt;&amp;nbsp;&amp;nbsp;MMSystem,  //timeGetTime&lt;br /&gt;&amp;nbsp;&amp;nbsp;Dialogs; //ShowMessage&lt;br /&gt;....&lt;br /&gt;....&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;const&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;SLP = 1024; //salise&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;st, en : Cardinal;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;begin&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;st := timeGetTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;Sleep(SLP); //1024 salise bekleyelim&lt;br /&gt;&amp;nbsp;&amp;nbsp;en := timeGetTime();&lt;br /&gt;&amp;nbsp;&amp;nbsp;ShowMessage(Format('timeGetTime:%d', [en-st]));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;st := GetTickCount();&lt;br /&gt;&amp;nbsp;&amp;nbsp;Sleep(SLP); //1024 salise bekleyelim&lt;br /&gt;&amp;nbsp;&amp;nbsp;en := GetTickCount();&lt;br /&gt;&amp;nbsp;&amp;nbsp;ShowMessage(Format('GetTickCount:%d', [en-st]));&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;st := MSecEllapsed();&lt;br /&gt;&amp;nbsp;&amp;nbsp;Sleep(SLP); //1024 salise bekleyelim&lt;br /&gt;&amp;nbsp;&amp;nbsp;en := MSecEllapsed();&lt;br /&gt;&amp;nbsp;&amp;nbsp;ShowMessage(Format('MSecEllapsed():%d', [en-st]));&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;end&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-7575774597246264754?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/7575774597246264754/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=7575774597246264754' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/7575774597246264754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/7575774597246264754'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/09/iki-ilem-arasnda-geen-sre.html' title='İki işlem arasında geçen süre'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-2259483411869072261</id><published>2006-09-08T10:21:00.000+03:00</published><updated>2006-09-08T11:16:37.120+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ürün bilgisi'/><title type='text'>Borland Turbo ürünleri çıktı</title><content type='html'>&lt;a href="http://www.borland.com/"&gt;Borland&lt;/a&gt;, ücretsiz beklenen Turbo ürünlerini piyasaya çıkardı.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.turboexplorer.com/delphi"&gt;Turbo Delphi for Win32&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.turboexplorer.com/delphinet"&gt;Turbo Delphi for .NET&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.turboexplorer.com/csharp"&gt;Turbo C#&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.turboexplorer.com/cpp"&gt;Turbo C++&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Hepsi de ücretsiz olarak aşağıdaki aşağıdaki sitelerden indirilebilirler.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://torrent.borland.com/"&gt;http://torrent.borland.com/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.turboexplorer.com/downloads"&gt;http://www.turboexplorer.com/downloads&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;İndirdikten sonra Key için &lt;a href="http://www.borland.com/downloads/download_turbo.html"&gt;http://www.borland.com/downloads/download_turbo.html&lt;/a&gt;&lt;br /&gt;adresinde &lt;span style="font-weight: bold; font-style: italic;"&gt;Keys Only (If you have a CD)&lt;/span&gt; bölümünden alabilirsiniz.&lt;br /&gt;&lt;br /&gt;Ücretsiz Turbo ürünleri ile paralılar arasında bir kaç fark var (Olmazsa şaşardım zaten).&lt;br /&gt;Ücretsiz Turbo ürünlere aşağıdaki maddeleri eklemeyi unutmuşlar sanki (!)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;IDE'ye istediğiniz gibi ekleme yapamıyorsunuz, yani standar üründe olan OTA işlemlerini yapamıyorsunuz. OTA nedir diyorsanız adres:  &lt;a href="http://yusufcelik.googlepages.com/delphiota"&gt;http://yusufcelik.googlepages.com/delphiota&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;3.parti componentları install edemiyorsunuz, ancak yazdığınız component'ları kod içinden kullanabilirsiniz. Tek eksik kısım, Drag-and-Drop olayını es geçmişler, eeee ne de olsa beleş et. Yahnisi de o kadar olur. En azından kod içinde kullanma olanağı sunuyor.&lt;/li&gt;&lt;li&gt;Standart üründe var olan 3.parti ürünler bunlar kısaca, InterBase Express, Örnek componentlar , Uzaktan hata ayıklama (Remote Debugging), C++ için Expanded ActiveX/COM server özelliği,   &lt;a href="http://www.nevrona.com/"&gt;Rave Reports&lt;/a&gt;, &lt;a href="http://www.atozed.com/intraWeb/"&gt;IntraWeb&lt;/a&gt; ve &lt;a href="http://www.indyproject.org/"&gt;Indy&lt;/a&gt; gibi.&lt;/li&gt;&lt;/ol&gt;Kısıtlamalara bakacak olursak, öğrenmek için bence o kadar da kötü değil.&lt;br /&gt;En azından yazdığınız programları satabilme şansınız var.&lt;br /&gt;Teşekkürler &lt;a href="http://www.borland.com/"&gt;Borland&lt;/a&gt;&lt;br /&gt;Nice Turbolu günlere...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-2259483411869072261?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/2259483411869072261/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=2259483411869072261' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/2259483411869072261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/2259483411869072261'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/09/borland-turbo-rnleri-kt.html' title='Borland Turbo ürünleri çıktı'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-6297727441191771416</id><published>2006-09-07T16:18:00.000+03:00</published><updated>2006-09-07T16:43:27.311+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Component yazma'/><title type='text'>Delphi ThreadButton Component</title><content type='html'>Tekrar Merhaba,&lt;br /&gt;TButton, TBitBtn,  TCheckBox, TRadioButton componentleri, herkesçe bilindiği gibi OnClick event'i vardır.&lt;br /&gt;Buton'a basıldığında butonun arkasındaki kod çalışır.&lt;br /&gt;Ancak, button işini bitirene kadar beklemek zorundayız.&lt;br /&gt;Bunun önüne geçebiliriz, şöyleki:&lt;br /&gt;OnClick event'ini Thread ile çalıştırırsak, button işini bitirene kadar beklememize gerek yok.&lt;br /&gt;Başlatıp, diğer taraftan işimize devam edebiliriz.&lt;br /&gt;Arka planda çalışacak kodlara bazı örnekler:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Veri tabanında uzun süren bir Update/Insert/Delete çalıştırmak.&lt;/li&gt;&lt;li&gt;Uzun süren bir matematik işlemi.&lt;/li&gt;&lt;li&gt;Bir dosya oluşturmak.&lt;/li&gt;&lt;/ul&gt;Ancak dikkat etmemiz gereken bişey var burada.&lt;br /&gt;OnClick event'ine görsel bişey koymamamız gerekir, yoksa program kilitlenebilir.&lt;br /&gt;Bunun nedeni ise, hem Thread hem de MainThread (Threadsiz program) aynı nesneye erişmeye çalışabilir.&lt;br /&gt;Burada örnek olarak TButton class'ı için bu işlemi oluşturacağız, aynı yöntem kullanılarak diğer button grupları için de yapılabilir.&lt;br /&gt;&lt;br /&gt;Nasıl yapıldığı hakkında daha fazla bilgi için &lt;a href="http://yusufcelik.googlepages.com/threadbutton"&gt;http://yusufcelik.googlepages.com/threadbutton&lt;/a&gt; adresinden kaynak kod dahil olmak üzere bilgi alabilirsiniz.&lt;br /&gt;&lt;br /&gt;Thread'ler hakkında daha fazla bilgi için&lt;br /&gt;&lt;a href="http://www.midnightbeach.com/jon/pubs/MsgWaits/MsgWaits.html"&gt;http://www.midnightbeach.com/jon/pubs/MsgWaits/MsgWaits.html&lt;/a&gt; adresinden öğrenebilirsiniz.&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-6297727441191771416?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/6297727441191771416/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=6297727441191771416' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/6297727441191771416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/6297727441191771416'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/09/delphi-threadbutton-component.html' title='Delphi ThreadButton Component'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8675019799642182580.post-5231241896885584318</id><published>2006-08-23T15:17:00.000+03:00</published><updated>2006-08-23T15:28:13.859+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Component yazma'/><title type='text'>Delphi TimerButton Component</title><content type='html'>Herkese merhaba,&lt;br /&gt;Bu benim ilk Blog denemem.&lt;br /&gt;İlk olmasına rağmen faydalı bişeyler yazmak istiyorum.&lt;br /&gt;&lt;br /&gt;İşe Borland Delphi component'i yazmakla başlamak istiyorum.&lt;br /&gt;Bu component'in adı TimerButton yani, bir buton üzerinde geriye sayım işlemi başlayacaktır.&lt;br /&gt;Bu component'in özelliği Thread class'ının kullanımını öğrenmek.&lt;br /&gt;Nasıl yapıldığı hakkında daha fazla bilgi için&lt;br /&gt;&lt;a href="http://yusufcelik.googlepages.com/timerbutton"&gt;http://yusufcelik.googlepages.com/timerbutton&lt;/a&gt;&lt;br /&gt;adresinden kaynak kod dahil olmak üzere bilgi alabilirsiniz.&lt;br /&gt;&lt;br /&gt;Kolay gelsin...&lt;br /&gt;Yusuf ÇELİK&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8675019799642182580-5231241896885584318?l=yusufcelik.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://yusufcelik.blogspot.com/feeds/5231241896885584318/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8675019799642182580&amp;postID=5231241896885584318' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/5231241896885584318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8675019799642182580/posts/default/5231241896885584318'/><link rel='alternate' type='text/html' href='http://yusufcelik.blogspot.com/2006/08/delphi-timerbutton-component.html' title='Delphi TimerButton Component'/><author><name>Yusuf Celik</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
