{"id":102,"date":"2016-02-26T15:36:06","date_gmt":"2016-02-26T13:36:06","guid":{"rendered":"http:\/\/www.erdoganozkaya.com.tr\/?p=102"},"modified":"2016-02-26T15:36:06","modified_gmt":"2016-02-26T13:36:06","slug":"delphi-nedir","status":"publish","type":"post","link":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/delphi-nedir.html","title":{"rendered":"Delphi Nedir?"},"content":{"rendered":"<p>Delphi bir programlama ortam\u0131d\u0131r.Programlama dili olarak pascal\u0131n nesne y\u00f6nelimli(object oriented) uzant\u0131s\u0131 olan Object pascal dilini kullanmaktad\u0131r.Object pascal kolay anla\u015f\u0131l\u0131r bir dile, h\u0131zl\u0131 derleme g\u00fcc\u00fcne ve mod\u00fcler programlama i\u00e7in gerekli t\u00fcm komutlara sahiptir.Object pascal delphinin IDE si ile birlikte daha anla\u015f\u0131l\u0131r bir yap\u0131ya kavu\u015fturulmu\u015ftur.IDE t\u00fcmle\u015ftirilmi\u015f uygulama geli\u015ftirme ortam\u0131 demektir.A\u015fa\u011f\u0131daki g\u00f6rd\u00fc\u011f\u00fcn\u00fcz g\u00f6r\u00fcnt\u00fc delphinin idesidir.<span id=\"more-8\"><\/span><\/p>\n<p>Delphi bir Radd\u0131r.Rad (Rapid Application Development) h\u0131zl\u0131 uygulama geli\u015ftirme demektir. Rad sistemli programlama ortamlar\u0131nda text tabanl\u0131 programlama ortamlar\u0131na g\u00f6re program yazmak \u00e7ok daha kolayd\u0131r.Rad ortam\u0131nda Haz\u0131r formlar, bile\u015fenler bulunmaktad\u0131r.<br \/>\nFormumuzun tasar\u0131m\u0131n\u0131 g\u00f6rsel bir ortamda resim \u00e7izer gibi yap\u0131yoruz.<br \/>\nText tabanl\u0131larda ise g\u00f6rsel bir ekran yoktur.Notepadde yaz\u0131 yazar gibi program yazars\u0131n\u0131z.<\/p>\n<p>\u015eu an delphinin en son s\u00fcr\u00fcm\u00fc Delphi .net 2005 dir.Ben .net teknolojisini destekleyen s\u00fcr\u00fcm\u00fcn\u00fc de\u011fil de win32 uygulamalar\u0131 yapabilece\u011fimiz delphi7 yi anlataca\u011f\u0131m. .net yeni bir teknolojidir. .net de yapt\u0131\u011f\u0131n\u0131z programlar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in .net framework un i\u015fletim sistemine kurulmas\u0131 gerekir.<br \/>\nDelphi 7nin de bir\u00e7ok s\u00fcr\u00fcm\u00fc bulunmaktad\u0131r.Bunlar Personal , Profesyonel , Enterprise ve Architect s\u00fcr\u00fcmleridir.<\/p>\n<p>Personel s\u00fcr\u00fcm\u00fc yeni ba\u015flayanlar ve s\u0131radan programc\u0131lar i\u00e7indir.Bunda yazd\u0131\u011f\u0131n\u0131z program\u0131 ticari olarak satamazs\u0131n\u0131z.Di\u011fer s\u00fcr\u00fcmlere g\u00f6re bile\u015fen say\u0131s\u0131 azd\u0131r.<br \/>\nProfesyonel s\u00fcr\u00fcm\u00fc b\u00fct\u00fcn temel \u00f6zellikleri ve bunlara ek olarak geni\u015fletilmi\u015f veritaban\u0131 deste\u011fi, biraz internet deste\u011fi ve harici programlar\u0131n baz\u0131lar\u0131n\u0131 i\u00e7erir.<br \/>\nEnterprise s\u00fcr\u00fcm\u00fc b\u00fcy\u00fck \u015firket uygulamalar\u0131 geli\u015ftiren programc\u0131lar i\u00e7indir.Eski ad\u0131 Client\/server suitedir.<br \/>\nArchitect s\u00fcr\u00fcm\u00fcnde Enterpriseden farkl\u0131 olarak BoldSoft\u2019un Bold for Delphi \u00fcr\u00fcn\u00fc yer almaktad\u0131r.<\/p>\n<p>Burada anlataca\u011f\u0131m bilgiler \u00e7o\u011fu delphi s\u00fcr\u00fcm\u00fcnde bulunmaktad\u0131r.<br \/>\nDelphiye giri\u015f<\/p>\n<p>\u015eimdi Delphiyi biraz inceleyelim.Delphiyi a\u00e7t\u0131\u011f\u0131m\u0131zda ekrana gelen g\u00f6r\u00fcnt\u00fcye bakal\u0131m<\/p>\n<p>\u015eekil Delphinin IDE si<\/p>\n<p>Delphi kar\u015f\u0131m\u0131zda.\u00dcst\u00fcnde Form1 yazan pencere bizim program\u0131m\u0131zdaki formdur. Hemen Run diyelim veya F9 tu\u015funa basal\u0131m ve program\u0131 \u00e7al\u0131\u015ft\u0131ral\u0131m.Form1 penceresi \u00e7al\u0131\u015facak ve kar\u015f\u0131m\u0131za Windows uyumlu program\u0131m\u0131z gelecektir.Bunu text tabanl\u0131 programlama dillerinde yapmak i\u00e7in bir\u00e7ok kod vs yazar\u0131z.Fakat Delphi visual basic Borland c++ gibi g\u00f6rsel dillerde bu g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi kolayl\u0131kla ger\u00e7ekle\u015fmektedir.<\/p>\n<p>\u015eimdi Delphiyi biraz inceleyelim.\u00dcstte delphinin klasik Windows uygulamalar\u0131ndaki gibi bir menu \u00e7ubu\u011fu bulunmaktad\u0131r(Main window).Onun hemen alt\u0131nda ara\u00e7 \u00e7ubuklar\u0131 bulunmaktad\u0131r.Program\u0131m\u0131z\u0131 kaydetmemizi, \u00e7al\u0131\u015ft\u0131rmam\u0131z\u0131, durdurmam\u0131z\u0131 sa\u011flayan k\u0131sayollar\u0131n bulundu\u011fu ara\u00e7 \u00e7ubuklar\u0131n\u0131 g\u00f6r\u00fcyorsunuz.<br \/>\nBurda standart , additional gibi sekmeleri olan ara\u00e7 \u00e7ubu\u011fu bizim component (bile\u015fen) paletimizdir. Componentler bir tak\u0131m \u00f6zel i\u015flevler i\u00e7in haz\u0131rlanm\u0131\u015f Windows uygulamalar\u0131ndaki nesnelerdir. Yukardaki resimde Standart sekmesi alt\u0131ndaki bile\u015fenler g\u00f6z\u00fckmektedir.Windows uygulamar\u0131nda g\u00f6rd\u00fc\u011f\u00fcm\u00fcz bir\u00e7ok bile\u015fen burada bulunmaktad\u0131r.<\/p>\n<p>&nbsp;<\/p>\n<p>\u0130nternette delphide kullan\u0131labilen free veya paral\u0131 bir\u00e7ok bile\u015fen mevcuttur.Delphi bile\u015fen deste\u011fi ile kendisini kan\u0131tlam\u0131\u015ft\u0131r.<\/p>\n<p>Ek bilgi:Componentleri bile\u015fen paketine sa\u011f t\u0131klay\u0131p propertiese t\u0131klayarak ve buradan ayarlamalar yaparak \u00f6zelle\u015ftirebiliriz.<br \/>\nAdd=Ekle<br \/>\nDelete=sil<br \/>\nRename=Yeniden adland\u0131r.<br \/>\nMove up -move down=Yukar\u0131 \u00e7\u0131kar -a\u015fa\u011f\u0131 indir.<\/p>\n<p>Object treeview program\u0131m\u0131zdaki bile\u015fenleri g\u00f6stermektedir.Bize hangi bile\u015fenin hangi bile\u015fenin \u00fczerinde oldu\u011funu da g\u00f6sterir.Mesela a\u015fa\u011f\u0131daki resimde grup kutusunun \u00fcst\u00fcnde radyo butonlar\u0131 oldu\u011fu g\u00f6z\u00fck\u00fcyor.<\/p>\n<p>Object inspector se\u00e7ilen nesnelerin \u00f6zelliklerini ve olaylar\u0131n\u0131 bize g\u00f6sterir ve kullanmam\u0131z\u0131 sa\u011flar.Properties(\u00d6zellikler) Events(olaylar).Propertiesleri program\u0131m\u0131zda tasar\u0131m a\u015famas\u0131nda de\u011fi\u015ftirebiliriz.Mesela object inspectorde form1 se\u00e7ili iken Caption \u00f6zelli\u011fine \u0130smimizi yazal\u0131m.Program\u0131 \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda Formumuzun ba\u015fl\u0131\u011f\u0131nda sizin caption \u00f6zelli\u011fine yazd\u0131\u011f\u0131n\u0131z yaz\u0131 g\u00f6z\u00fckecektir.Bu \u00f6zelliklere ilerde de\u011finece\u011fim.<br \/>\n[img]<br \/>\n<a href=\"http:\/\/img411.imageshack.us\/img411\/8285\/48lp.jpg\">http:\/\/img411.imageshack.us\/img411\/8285\/48lp.jpg<\/a>[\/img]<\/p>\n<p>\u015eekil:\u00d6zellikler ve olaylar<\/p>\n<p>Eventslarda bu bile\u015fenlerin olaylar\u0131d\u0131r.Yani bir durum ger\u00e7ekle\u015fti\u011finde buradaki komutlar \u00e7al\u0131\u015f\u0131r.\u00d6rne\u011fin Bir butona tek t\u0131klanmas\u0131 bir olayd\u0131r.\u00c7ift t\u0131klanmas\u0131 farkl\u0131 bir olayd\u0131r.Program\u0131n\u0131z\u0131 bu olaylarla y\u00f6neteceksiniz.<br \/>\nYukardaki resimde olaylar\u0131 g\u00f6rebilirsiniz.A\u00e7\u0131l\u0131r kutuda form1 se\u00e7ili oldu\u011fu i\u00e7in form1in olaylar\u0131n\u0131 g\u00f6r\u00fcyorsunuz. Mesela onclose olay\u0131 formun kapanmas\u0131 an\u0131nda ger\u00e7ekle\u015fecek olayd\u0131r.Bu olaya komut yazarak Program kapan\u0131rken g\u00fcle g\u00fcle gibi bir mesaj kutusu a\u00e7\u0131lmas\u0131n\u0131 sa\u011flayabilirisiniz.<\/p>\n<p>Ba\u015fl\u0131\u011f\u0131nda Unit1.pas yazan b\u00f6l\u00fcm Kod edit\u00f6r\u00fcd\u00fcr.Kodlar\u0131m\u0131z\u0131 buraya yazaca\u011f\u0131z.<\/p>\n<p>Kod edit\u00f6r\u00fcnde<br \/>\nprocedure TForm1.FormCreate(Sender: TObject);<br \/>\nbegin<\/p>\n<p>end;<br \/>\nyaz\u0131s\u0131n\u0131 g\u00f6r\u00fcyorsunuz.Procedure alt programc\u0131klard\u0131r.Burdaki Tform1 in Formcreate olay\u0131n\u0131n prosed\u00fcr\u00fcd\u00fcr.Form a\u00e7\u0131l\u0131\u015f olay\u0131 ge\u00e7ekle\u015fmeden buradaki yazd\u0131\u011f\u0131m\u0131z kodlar ger\u00e7ekle\u015fecektir. Begin ve End blo\u011fu kodlar\u0131n ba\u015flang\u0131c\u0131n\u0131 ve bitimini temsil etmektedir.Kodlar bu blok aras\u0131na yaz\u0131l\u0131r.bunlar\u0131 ileride daha detayl\u0131 inceleyece\u011fiz.Yukardaki yaz\u0131lar\u0131 delphi kendisi olu\u015fturur.(Object inspectorde herhangi bir olaya \u00e7ift t\u0131klayarak)<br \/>\nKod tamamlama<br \/>\nKod edit\u00f6r\u00fc bize b\u00fcy\u00fck bi kolayl\u0131k sa\u011flamaktad\u0131r.Ctrl + space tu\u015funa bast\u0131\u011f\u0131m\u0131zda bize kodlar\u0131 g\u00f6stermekte , istedi\u011finizle tamamlamaktad\u0131r.<\/p>\n<p><img src=\"http:\/\/img411.imageshack.us\/img411\/5494\/61dm.jpg\" alt=\"Resim\" \/><\/p>\n<p>Komut parametreleri<br \/>\nCtrl+Shift+space tu\u015fu da parametreleri g\u00f6stermektedir.Parametre Fonksiyon veya Procedure kullan\u0131rken parantez i\u00e7ine girece\u011fimiz fonksiyon veya procedurenin kullanaca\u011f\u0131 de\u011ferlerdir.<br \/>\n\u00d6rnek vermek gerekirse Topla(10+20); Burada 10 ve 20 birer parametredir.<\/p>\n<p>Kod \u015fablonlar\u0131<br \/>\nCtrl+J ikilisi de \u00f6nceden tan\u0131ml\u0131 ve object pascal yap\u0131lar\u0131 gibi yap\u0131lar\u0131n kod penceresine otomatik olarak eklenmesine olanak tan\u0131yan bir \u00f6zelliktir.<br \/>\nMesela Ctrl+j yapal\u0131m ve g\u00f6r\u00fcnt\u00fcye bakal\u0131m<\/p>\n<p>\u015eekil:ctrl+j<br \/>\nBurada kodlar\u0131n k\u0131saltmalar\u0131n\u0131 g\u00f6r\u00fcyorsunuz.\u00d6rne\u011fin ifbye t\u0131klad\u0131\u011f\u0131m\u0131zda bize<\/p>\n<p>if then<br \/>\nbegin<\/p>\n<p>end;<\/p>\n<p>Kodlar\u0131n\u0131 otomatikmen eklemektedir.<\/p>\n<p>Kod edit\u00f6r\u00fcndeki k\u0131sayollar;<\/p>\n<p>F9<br \/>\nProgram\u0131 derle ve \u00e7al\u0131\u015ft\u0131r<br \/>\nF8<br \/>\nProgram\u0131 ad\u0131m ad\u0131m \u00e7al\u0131\u015ft\u0131r\u0131r<br \/>\nF7<br \/>\nProgram\u0131 ad\u0131m ad\u0131m \u00e7al\u0131\u015ft\u0131r\u0131rken, ilgili rutine dallan\u0131r.<br \/>\nCtrl + S<br \/>\nUnit\u2019te yap\u0131lan de\u011fi\u015fiklikleri kaydeder.<br \/>\nShift + Ctrl + S<br \/>\nA\u00e7\u0131k olan t\u00fcm unitlerdeki de\u011fi\u015fiklikleri kaydeder.<br \/>\nAlt + F11<br \/>\nUse Unit\u2026 penceresini a\u00e7ar. Bir unitten di\u011fer forma referans veriyorsan\u0131z, ilgili formu Uses k\u0131sm\u0131nda tan\u0131mlaman\u0131z laz\u0131m. Bu pencereden proje i\u00e7indeki unitlerden istedi\u011finizi se\u00e7ip, tan\u0131mlama i\u015fini otomatik yapt\u0131rabilirsiniz.<br \/>\nCtrl + F<br \/>\nArama ekran\u0131n\u0131 a\u00e7ar<br \/>\nCtrl + E<br \/>\nArtan arama yapar. Bu tu\u015flara ba\u015ft\u0131ktan sonra kelimeyi yaz\u0131n. \u0130lgili kelime varsa bulunur.<br \/>\nF3<br \/>\nArana kelimenin bir sonraki ge\u00e7ti\u011fi yeri bulur<br \/>\nF10<br \/>\nMen\u00fclerin ve bile\u015fenlerin oldu\u011fu ana pencereyi g\u00f6sterir.<br \/>\nF11<br \/>\nObject Inspectoru g\u00f6sterir.<br \/>\nF12<br \/>\nFormla, kod aras\u0131nda ge\u00e7i\u015f sa\u011flar.<br \/>\nShift + F12<br \/>\nFormlar\u0131 a\u00e7mak i\u00e7in form listesini g\u00f6r\u00fcnt\u00fcler.<br \/>\nCtrl + F12<br \/>\nUnitleri a\u00e7mak i\u00e7in unitleri listeler<br \/>\nF1<br \/>\n\u00dczerinde bulundu\u011funuz bile\u015fen veya kelime ile ilgili yard\u0131m\u0131 a\u00e7ar.<br \/>\nCtrl + Shift + I<br \/>\nSe\u00e7ili kodu blok halinde sa\u011fa kayd\u0131r\u0131r.<br \/>\nCtrl + Shift + U<br \/>\nSe\u00e7ili kodu blok halinde sola kayd\u0131r\u0131r<br \/>\nCtrl + Shift + C<br \/>\nBir rutini tan\u0131mlad\u0131ktan sonra g\u00f6vdesini olu\u015fturmak i\u00e7in<br \/>\nCtrl + F4<br \/>\nDosyay\u0131 kapat\u0131r.<\/p>\n<p>Forma bile\u015fen ekleme y\u00f6ntemleri:<br \/>\nForma bile\u015feni eklemek i\u00e7in birka\u00e7 y\u00f6ntem vard\u0131r. Bile\u015fenin \u00fczerine \u00e7ift t\u0131klarsak bile\u015fen formun merkezine eklenir.<br \/>\nBile\u015fenin \u00fczerine t\u0131klay\u0131p formda g\u00f6rmek istedi\u011fimiz yere t\u0131klayarak veya \u00e7izerek ekleyebilirsiniz..<br \/>\nBir bile\u015fenden birden fazla eklemek istiyorsak o bile\u015feni shift tu\u015fu ile se\u00e7eriz. Daha sonra istedi\u011fimiz yerlere t\u0131klar\u0131z.Eklememiz bitti\u011finde bile\u015fen paletindeki fare simgesine t\u0131klar\u0131z.<\/p>\n<p>*Form \u00fczerinde bile\u015fenlerin yerlerini ayarlamak i\u00e7in fareyi kullanabiliriz.Hassas ayarlar i\u00e7in de Ctrl tu\u015funa bas\u0131l\u0131 tutarak y\u00f6n tu\u015flar\u0131n\u0131 kullanabilirsiniz.<br \/>\n*Form tasar\u0131m\u0131 bittikten sonra bile\u015fenlerimizin yerinin de\u011fi\u015fmemesini istiyorsak Edit men\u00fcs\u00fcnden Lock controls se\u00e7ene\u011fini se\u00e7melisiniz.<\/p>\n<p>Olaylara gitmek<br \/>\nForma bir buton ekleyelim.Object inspectorden se\u00e7ili olan bile\u015fenin olay\u0131na gitmeye \u00e7al\u0131\u015fal\u0131m.formdaki butonumuzu a\u00e7\u0131l\u0131r kutudan se\u00e7ip Eventsa t\u0131klayal\u0131m.<\/p>\n<p>Eventse t\u0131klad\u0131\u011f\u0131m\u0131zda olaylar\u0131 g\u00f6rece\u011fiz.Burdan hangi olaya gitmek istiyorsak onun yan\u0131ndaki b\u00f6l\u00fcme \u00e7ift t\u0131klar\u0131z.ve kod edit\u00f6r\u00fc o olay\u0131 kendisine ekleyip kendisini bize g\u00f6sterir.<br \/>\nOnclick olay\u0131na \u00e7ift t\u0131klayarak bu i\u015flemi yapal\u0131m.ve Begin end aras\u0131na<br \/>\nKod:<br \/>\nShowmessage(\u2018Merhaba\u2019);<\/p>\n<p>yazal\u0131m.Daha sonra program\u0131m\u0131z\u0131 \u00e7al\u0131\u015ft\u0131ral\u0131m.(F9).butona t\u0131klad\u0131\u011f\u0131m\u0131zda bir pencere a\u00e7\u0131lacak ve merhaba yazacakt\u0131r.<br \/>\nPencereyi kapatt\u0131\u011f\u0131m\u0131zda delphideki program\u0131m\u0131z sonlan\u0131r.Veya sonland\u0131rmak i\u00e7in delphi men\u00fcs\u00fcndeki run dan program resete t\u0131klar\u0131z.<\/p>\n<p>\u015eimdi butona t\u0131klay\u0131p object inspectorden propertiesine girelim.Captionuna T\u0131klay\u0131n yazal\u0131m.Entere bast\u0131\u011f\u0131m\u0131zda Butonun \u00fczerinde t\u0131klay\u0131n yazacakt\u0131r.Tasar\u0131m esnas\u0131nda bile\u015fenlerin \u00f6zelliklerini bu \u015fekilde de\u011fi\u015ftirebiliriz.Program\u0131n \u00e7al\u0131\u015fma esnas\u0131nda da bu m\u00fcmk\u00fcnd\u00fcr.<br \/>\nButonun T\u0131klanmas\u0131 olay\u0131na<br \/>\nButton1.caption:=\u2019Ceylan\u2019; yazd\u0131\u011f\u0131m\u0131zda butonun caption \u00f6zelli\u011fini ceylan yapm\u0131\u015f oluruz.<br \/>\nBurada button1 butonumuzun ismidir.Delphi kendisi otomatikmen eklenen bile\u015fenlere isim verir.Biz bu ismi de\u011fi\u015ftirebiliriz.Butona t\u0131klay\u0131p name ini ceylan yapt\u0131\u011f\u0131m\u0131zda bu butonun caption \u00f6zelli\u011fine ceylan.caption ile eri\u015febiliriz. \u201c:=\u201d bir \u00f6zelli\u011fi bir de\u011feri de\u011fi\u015ftirmek i\u00e7in kullan\u0131lan operat\u00f6rd\u00fcr. \u201c \u2018 \u2018 \u201c b\u00f6l\u00fcm\u00fc ifadenin string bir ifade oldu\u011funu g\u00f6sterir.String bir de\u011fi\u015fken t\u00fcr\u00fcd\u00fcr.Bunlar\u0131 ilerde g\u00f6rece\u011fiz. \u201c;\u201d kodlar\u0131n sonuna yaz\u0131lmaktad\u0131r.O komutun bitti\u011fini g\u00f6sterir.<\/p>\n<p>Olaylara gitmenin farkl\u0131 bir yolu da bile\u015fenin \u00fczerine \u00e7ift t\u0131klamakt\u0131r.Bu y\u00f6ntemle bile\u015fenin varsay\u0131lan olay\u0131na gidebilirsiniz.Componentlerin varsay\u0131lan olaylar\u0131 en \u00e7ok kullan\u0131lan olaylard\u0131r.Mesela butona \u00e7ift t\u0131klad\u0131\u011f\u0131n\u0131zda butonun t\u0131klanmas\u0131 olay\u0131na gider.<\/p>\n<p>Biraz delphi men\u00fcs\u00fcnden bahsedelim.<br \/>\nFile osya men\u00fcs\u00fc dosya kaydedece\u011fimiz a\u00e7aca\u011f\u0131m\u0131z Yeni dosya olu\u015fturaca\u011f\u0131m\u0131z vs b\u00f6l\u00fcmd\u00fcr.<br \/>\nYeni men\u00fcs\u00fcn\u00fcn alt\u0131nda:<br \/>\nApplication: Yeni bir uygulamad\u0131r.Varolan uygulamadan \u00e7\u0131k\u0131l\u0131r yeni uygulama a\u00e7\u0131l\u0131r.<br \/>\nForm: yeni bir form eklenir.<br \/>\nFrame: Yeni bir \u00e7er\u00e7eve eklenir.\u00c7er\u00e7eve de form gibidir.Formlar\u0131n i\u00e7ine eklenebilirler.<br \/>\nData Module:Genelde veritaban\u0131 bile\u015fenlerinin eklendi\u011fi yerdir.<br \/>\n\u015eimdilik bunlar\u0131 bilmek yeterli.\u0130lerlerde i\u015fimiz olduk\u00e7a di\u011ferlerini de \u00f6\u011frenebiliriz.<br \/>\nSave Save as \u0131 falan anlatmak istemiyorum.Art\u0131k onlar\u0131 pek bilmeyen kalmad\u0131.<br \/>\nDelphinin dosya uzant\u0131lar\u0131ndan biraz bahsedelim.<\/p>\n<p>PAS Pascal dosyas\u0131 Her bir unitin kaynak kodlar\u0131n\u0131 i\u00e7eren dosya.Delphide olu\u015fturulan formlara ait kodlar pas uzant\u0131l\u0131 dosyalarda saklan\u0131r.<br \/>\nDPR Delphi Proje Dosyas\u0131 Program\u0131m\u0131z\u0131 delphide a\u00e7mak i\u00e7in olan dosyad\u0131r.<br \/>\nDCU Delphi Compiled Unit Derlenmi\u015f unit dosyalar\u0131 bu uzant\u0131 ile kaydedilir.<br \/>\nDFM Delphi Form File Form dosyalar\u0131d\u0131r.Form ve formdaki bile\u015fenlerin \u00f6zellikleri bu dosyaya kay\u0131tl\u0131d\u0131r.<br \/>\nDOF Delphi Options File Proje se\u00e7eneklerinin mevcut ayarlar\u0131n\u0131 i\u00e7eren bir metin dosyas\u0131. Geli\u015ftirme s\u0131ras\u0131nda olu\u015fturulur.<br \/>\nDSK Masa\u00fcst\u00fc dosyas\u0131 Bu dosya pencerelerin konumlar\u0131,edit\u00f6rdeki a\u00e7\u0131k dosyalar ve di\u011fer masa\u00fcst\u00fc ayarlar\u0131 hakk\u0131nda bilgiler i\u00e7erir. Projeyi yeni bir dizine kopyalarken silmeniz gerekir.<br \/>\nRES Resource (Kaynak) dosyas\u0131 Proje ile ilgili kaynaklar\u0131 (genellikle simgesini) i\u00e7eren binary dosya.<br \/>\nBPG Borland Project Group Birden fazla projeyi ayn\u0131 anda derlemek i\u00e7in kullan\u0131l\u0131r. Project manager taraf\u0131ndan kullan\u0131l\u0131r<br \/>\nCFG Proje se\u00e7eneklerini i\u00e7eren ayar dosyas\u0131. Sadece \u00f6zel derleyici se\u00e7enekleri ayarland\u0131\u011f\u0131 zaman olu\u015fur.<br \/>\nDPK Delphi Package Bir paketin kaynak kodunu i\u00e7erir.<\/p>\n<p>Evet delphideki dosya uzant\u0131lar\u0131m\u0131z bunlar.Delphideki program\u0131m\u0131z\u0131 nas\u0131l exe uzant\u0131l\u0131 Windows uygulamas\u0131 haline getirece\u011fiz?<br \/>\nF9 tu\u015funa bast\u0131\u011f\u0131m\u0131zda bunu delphi , program\u0131m\u0131z\u0131n kay\u0131tl\u0131 oldu\u011fu yere otomatikmen exe uzant\u0131l\u0131 hale getirir.\u0130stedi\u011fimiz yere exe uzant\u0131l\u0131 dosyan\u0131n kaydetmesi i\u00e7in ne yapaca\u011f\u0131z?<br \/>\nProject optionsu bir inceleyelim.Cevab\u0131n\u0131z\u0131 bulacaks\u0131n\u0131z.Men\u00fcden . Project-&gt;options.<\/p>\n<p>Sekmelere biraz g\u00f6z atal\u0131m<br \/>\nForms: Formlarla ilgili ayarlar\u0131 yapabilirsiniz.Main form program\u0131n ilk a\u00e7\u0131l\u0131\u015f\u0131nda \u00e7al\u0131\u015facak formdur.Auto create forms Otomatik olarak program\u0131n\u0131z \u00e7al\u0131\u015ft\u0131\u011f\u0131nda olu\u015fturulacak formlard\u0131r. Bu formlar belle\u011fi me\u015fgul eder.Belle\u011fi me\u015fgul etmek istemiyorsak bu formlar\u0131 Available forms b\u00f6l\u00fcm\u00fcne ta\u015f\u0131y\u0131p formlar\u0131 program i\u00e7erisinde \u00e7a\u011fr\u0131lmas\u0131 gerekti\u011finde olu\u015fturabiliriz.<br \/>\nApplication:<br \/>\nTitle : Buraya uygulaman\u0131z\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 yaz\u0131n. Bu ba\u015fl\u0131k g\u00f6rev \u00e7ubu\u011funda ve di\u011fer Windows pencerelerinde uygulaman\u0131z\u0131n ba\u015fl\u0131\u011f\u0131n\u0131 belirler.<br \/>\nHelp File (Yard\u0131m dosyas\u0131) : E\u011fer uygulaman\u0131z\u0131n bir yard\u0131m dosyas\u0131 var ise ismin buraya yaz\u0131n veya Browse\u2026 butonuna basarak se\u00e7in.<br \/>\nIcon (Simge) : Uygulaman\u0131z\u0131n simgesini se\u00e7in. Bu simge projenizle ayn\u0131 isimli .res dosyas\u0131nda saklan\u0131r.<br \/>\nTarget file extension : Uygulaman\u0131z olu\u015fturuldu\u011fu zaman uzant\u0131s\u0131n\u0131n ne olaca\u011f\u0131n\u0131 belirlersiniz. Uygulaman\u0131z .exe uzant\u0131l\u0131 olacaksa buras\u0131n\u0131 bo\u015f b\u0131rak\u0131n. Bir ActiveX uygulamas\u0131 yap\u0131yorsan\u0131z buraya .ocx, dll olu\u015fturuyorsan\u0131z .dll yazmal\u0131s\u0131n\u0131z.<br \/>\n3. Compiler : Bu k\u0131s\u0131mda bir de\u011fi\u015fiklik yapman\u0131za gerek yok.<br \/>\n4. Compiler Messages (Derleyici Mesajlar\u0131) : Projenizi derlemeniz ve delphide \u00e7al\u0131\u015ft\u0131rman\u0131z esnas\u0131nda \u00e7\u0131kan mesajlar\u0131 ayarlayabilirsiniz.<br \/>\nShow Hints : Derleme s\u0131ras\u0131nda hint(ipucu)\u2019leri g\u00f6ster.<br \/>\nShow Warnings : Derleme s\u0131ras\u0131nda uyar\u0131lar\u0131 g\u00f6ster. Bu se\u00e7ene\u011fi se\u00e7ti\u011finiz zaman aktif olan Warnings k\u0131sm\u0131ndan hangi uyar\u0131lar\u0131n g\u00f6sterilmesi istiyorsan\u0131z se\u00e7ebilirsiniz. G\u00f6sterilmesini istemedi\u011finiz uyar\u0131lar \u00f6n\u00fcndeki i\u015fareti kald\u0131r\u0131n.<br \/>\n5. Linker : Bu k\u0131s\u0131mda bir de\u011fi\u015fiklik yapman\u0131za gerek yok.<br \/>\n6. Directories\/Conditionals : Bu k\u0131s\u0131mda projenizin kulland\u0131\u011f\u0131 ve olu\u015fturdu\u011fu dosyalar\u0131n konumunu belirtebilirsiniz.<\/p>\n<p>Output directory : Uygulama dosyas\u0131n\u0131n (.exe) konulaca\u011f\u0131 klas\u00f6r. Biraz \u00f6nce exe uzant\u0131l\u0131 olarak kaydetmeden bahsetmi\u015ftik.\u0130\u015fte buras\u0131.<br \/>\nUnit output directory : .dcu\u2019lar\u0131n kaydedilece\u011fi klas\u00f6r.<br \/>\nSearch path : Harici unit kullanm\u0131\u015fsan\u0131z kulland\u0131\u011f\u0131n\u0131z unitlerin bulundu\u011fu klas\u00f6r\u00fc burada g\u00f6stermelisiniz.Yoksa hata verecektir.<br \/>\nUnit Aliases : Kulland\u0131\u011f\u0131n\u0131z bir unit\u2019in ismini de\u011fi\u015ftirmi\u015f veya ba\u015fka bir unit\u2019le birle\u015ftirmi\u015f olabilirsiniz. Bu durumda derleyici uniti bulamad\u0131\u011f\u0131 i\u00e7in hata verecektir. Ancak burada \u201cUnitin eski ad\u0131 = Unitin yeni ad\u0131\u201d \u015feklinde bir tan\u0131mlama yaparsan\u0131z, yeni isim dikkate al\u0131n\u0131r.<br \/>\n\u0130PUCU : Bu k\u0131s\u0131mda yapt\u0131\u011f\u0131n\u0131z ayarlarla hem dosyalar\u0131n diskinizde daha d\u00fczenli da\u011f\u0131lmas\u0131n\u0131, hem de yedekleme yaparken sadece gerekli dosyalar\u0131 yedeklemenizi sa\u011flayabilirsiniz. Projenize bir klas\u00f6r a\u00e7\u0131n ve Output Directory olarak bu klas\u00f6r\u00fc verin. Proje klas\u00f6r\u00fcn\u00fcz\u00fcn alt\u0131na Source isimli bir klas\u00f6r a\u00e7\u0131p t\u00fcm kodlar\u0131 buraya koyun ve Dcu isimli bir klas\u00f6r a\u00e7arak unit output directory olarak bu klas\u00f6r\u00fc verin. B\u00f6ylece sadece Source klas\u00f6r\u00fcn\u00fcn yede\u011fini alman\u0131z yeterli olacakt\u0131r.<br \/>\n7. Version Info (S\u00fcr\u00fcm Bilgisi) : Bu ekranda uygulama dosyan\u0131za s\u00fcr\u00fcm bilgileri ekleyebilirsiniz. S\u00fcr\u00fcm bilgilerine dosyan\u0131za sa\u011f t\u0131klay\u0131p \u00f6zelliklerini a\u00e7t\u0131\u011f\u0131n\u0131z zaman ula\u015fabilirsiniz. S\u00fcr\u00fcm bilgisi uygulaman\u0131z\u0131n da\u011f\u0131t\u0131m\u0131 takip i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>Uygulaman\u0131za s\u00fcr\u00fcm bilgisi eklemek i\u00e7in \u201cInclude version information in project\u201d se\u00e7ene\u011fini se\u00e7in.<br \/>\nMajor Version : Uygulaman\u0131z\u0131n esas s\u00fcr\u00fcm\u00fcn\u00fc.<br \/>\nMinor Version : Uygulaman\u0131z\u0131n ikincil s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6sterir. Uygulaman\u0131zda b\u00fcy\u00fck de\u011fi\u015fiklik yapt\u0131\u011f\u0131n\u0131z zaman bunu bir art\u0131r\u0131n.<br \/>\nRelease : Program\u0131n\u0131zda de\u011fi\u015fiklikler yapt\u0131\u011f\u0131n\u0131zda art\u0131rman\u0131z gereken b\u00f6l\u00fcm.<br \/>\nBuild : uygulaman\u0131z\u0131n derlenme say\u0131s\u0131n\u0131 g\u00f6sterir. Auto-increment build number se\u00e7ene\u011fini i\u015faretlerseniz bu say\u0131 her derleme sonras\u0131nda otomatikmen art\u0131r\u0131l\u0131r.<br \/>\nLanguage : Bu k\u0131s\u0131mdan s\u00fcr\u00fcm bilgisinin dilini se\u00e7ebilirsiniz. Turkish olarak se\u00e7in.<br \/>\nKey\/Value : bu k\u0131s\u0131mda da g\u00f6sterilecek bilgilerin ba\u015fl\u0131klar\u0131 vard\u0131r. Kar\u015f\u0131lar\u0131na de\u011ferlerini girin.<br \/>\n8. Packages (Paketler) : E\u011fer uygulaman\u0131z\u0131 s\u0131k olarak da\u011f\u0131t\u0131yorsan\u0131z .exe dosyan\u0131z\u0131n m\u00fcmk\u00fcn oldu\u011fu kadar k\u00fc\u00e7\u00fck olmas\u0131n\u0131 istersiniz. B\u00f6ylece kullan\u0131c\u0131lar dosyay\u0131 kolayca indirip kullanabilirler.<br \/>\nDelphi\u2019deki paketlerin bir k\u0131sm\u0131n\u0131 uygulama d\u0131\u015f\u0131nda tutarak program\u0131n\u0131z\u0131n gerekli bilgileri bu .bpl dosyas\u0131ndan almas\u0131n\u0131 sa\u011flayabilir, boyunu k\u00fc\u00e7\u00fcltebilirsiniz. Ancak bu durumda kulland\u0131\u011f\u0131n\u0131z .bpl dosyas\u0131n\u0131 da kullan\u0131c\u0131 bilgisayar\u0131na y\u00fcklemelisiniz.(bpl bile\u015fenlerin kulland\u0131\u011f\u0131 kaynak dosyalard\u0131r)<br \/>\nPaketleri uygulaman\u0131z\u0131n d\u0131\u015f\u0131nda tutmak i\u00e7in \u201cBuild with runtime packages\u201d se\u00e7ene\u011fini se\u00e7in ve istedi\u011finiz paketleri se\u00e7in.<br \/>\n\u0130PUCU : E\u011fer kullan\u0131c\u0131lar\u0131n\u0131z ayn\u0131 anda birden fazla uygulaman\u0131z\u0131 kullan\u0131yorlarsa paketleri kullanarak haf\u0131za ihtiyac\u0131n\u0131 azaltabilirsiniz. T\u00fcm uygulamalar\u0131n\u0131z\u0131 \u201cBuild with runtime packages\u201d se\u00e7ene\u011fi ile derlerseniz, t\u00fcm uygulamalar\u0131n\u0131z\u0131n kulland\u0131\u011f\u0131 paketler haf\u0131zaya sadece bir kere y\u00fcklenece\u011finden haf\u0131zadan kazan\u00e7 sa\u011flars\u0131n\u0131z<\/p>\n<p>Kaynak Pc dergisi eski say\u0131<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Delphi bir programlama ortam\u0131d\u0131r.Programlama dili olarak pascal\u0131n nesne y\u00f6nelimli(object oriented) uzant\u0131s\u0131 olan Object pascal dilini kullanmaktad\u0131r.Object pascal kolay anla\u015f\u0131l\u0131r bir dile, h\u0131zl\u0131 derleme g\u00fcc\u00fcne ve [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":103,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5,4,1,3],"tags":[46,47,6,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,8,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],"_links":{"self":[{"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/posts\/102"}],"collection":[{"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/comments?post=102"}],"version-history":[{"count":1,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":104,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/posts\/102\/revisions\/104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/media\/103"}],"wp:attachment":[{"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/media?parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/categories?post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.erdoganozkaya.com.tr\/index.php\/wp-json\/wp\/v2\/tags?post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}