Archive for August, 2008
Cesitli platformlari(Dos, FreeBSD, Linux, Mac OS X, OS/2, Windows, Windows CE 32bit , 64bit) destekleyen Free Pascal Compiler (FPC) in yeni surumu 2.2.2 yayinlandi.
Compiler olarak FPC yi kullanan Lazarusun ise yakin zamanda 0.9.26 versiyonun yayinlanmasi bekleniyor.
No Comments »
- Ribbon Controls
Tiburonla birlikte gelen yeniliklerden biride MS Office 2007 menulerinden asina oldugumuz Ribbon Controls bilesenleri. Bu bilesenler ile arabirimi cok hos olan programlar yapmak mumkun. Oldukca kapsamli ve detay iceren bir bilesen grubu gibi geldi bana. Acikcasi tembel biri oldugumdan kanim pek isinmadi
- Class Explorer
Projenizde yer alan siniflar uzerinde metod ve ozellik ekleme islerini biraz gorsellestiren bir arac. Yerine gore kullanisli olabilir ama henuz emekleme asamasinda. Mesela olusturdugu sinif yapisi cok karman corman oluyor. Yinede 3.parti bir uygulamaya gerek kalmadan kutudan boyle bir ozelligin cikmasi fena olmamis.
- Resource Manager
Eskiden resource dosyalari olusturup bunlari komut satirindan derleyip pas dosyasina ekleme gunleri geride kaldi. IDE ye eklenen resource manager ile bu isleri yapmak artik cok daha kolay.
Yukarida belirttigimiz ozelliklerle ilgili videomuzu buraya tiklayarak izleyebilir ya da buradan download edebilirsiniz.
Not: Videoya ekledigim sesler nedense hep kesik kesik cikiyor. bir turlu duzgun bir sekilde yapamadim gitti.
1 Comment »
Burdaki yazimizin son bolumune CodeGear ‘in Delphi For .Net in gidisatindan pek memnun olmadigi icin radikal bazi degisikliklere gidecegini not dusmustuk hatirlarsaniz. CodeGear Urun Gelistirme ve Strateji Bolumu Baskani Michael Swindell ‘ in bazi bloglarda .Net hakkinda ki bir takim planlarindan bahsetmesi ortaligi alevlendirdi ve gelistirici bloglarindan Delphi for .Net spekulasyonlari ardi ardina gelmeye basladi. Akabinde Delphi Urun Yoneticisi Nick Hodges ‘ in .Net ile ilgili olarak yaptigi bir takim aciklamalar ile ortalik hepten bulanirken Data Abstract , RemObjects SDK , Hydra , AnyDac , Pascal Script , .Net ve Mono icin gelistirdikleri Oxygene adli compiler ile adindan soz ettiren Rem Object firmasinin kurucularindan Marc Hoffman, blogunda yazdigi 3 cumle ile bazi seylerin netlesmesini sagladi. “Kagitlar imzalandi , Oyun yeniden baslasin” ifadesi CodeGear ile Rem Object firmasinin arasindaki bir anlasmanin varligini acikca gosteriyor. Bu anlasmanin odak noktasinda Oxygene adli urunun oldugu ise cok net.
spekulasyonlarla ilgili bir kac blog adresi :
http://beensoft.blogspot.com/2008/08/speculating-on-net-plans-2.html
http://beensoft.blogspot.com/2008/08/tiburon-win32-only-speculating-on-net.html
http://beensoft.blogspot.com/2008/07/return-of-winforms-in-delphi-for-net-or.html
http://blog.marcocantu.com/blog/delphi_dotnet_plans_swindell.html
Delphi For .Net , Visual Studio icerisine yerlestirilecek , bu asamada temel olarak buyuk ihtimalle Oxygene alt yapisi kullanilacak. Akibeti mechul olan sey ise VCL.Net
***
Tiburon yeniliklerini iceren rusca bir yazi okumak isterseniz buraya tiklayabilirsiniz. Tiburon yeniliklerinin anlatildigi bu sayfada ilgili ozellikleri iceren diger bloglarada baglantilar mevcut. Zaten sitenin varligindan da o sekilde haberdar oldum. DataSnap ile ilgili yayinladigimiz videoya baglanti vermisler.
3 Comments »
Ücretsiz kayıt olabilirsiniz.
http://www.embarcadero-events.eu/
Delphi 2009 - What’s New ?
New Delphi 2009 Language Features
Delphi 2009 Unicode Support
Delphi 2009 DataSnap Enhancements
Delphi 2009 Overview
Migrating to Delphi 2009
kaynak
No Comments »
Soruların doğru cevaplarını öğrenmek için onları delphiye taşıyıp çalıştırmanız yeterli lakin bunu yapmadan önce kodları inceleyerek sonucu kendiniz bulmaya çalışın. Bunun size faydası biraz oop, biraz sanal metodlar biraz statik metodlar ve çok biçimlilik olacak…
Soru-1 Asagidaki programi calistirdigimizda consoldaki cikti ne olur ?
(more…)
No Comments »
Com teknolojisinden bagimsiz bir datasnap mimarisi delphi 2009 ile birlikte karsimiza cikiyor. Kullanimi oldukca basit olan bu yeni mimari ile 3-katmanli uygulama gelistirmek cok daha kolay olacak.
Tiburon ile yaptigim ufak bir demoyu buraya tiklayarak online olarak izleyebilir ya da buraya tiklayarak videoyu bilgisayariniza indirebilirsiniz. Videodaki projenin kaynak kodlari ise kisa bir sure sonra burada..
1 Comment »
Generic nedir ne ise yarar ?
Delphi Highlander surumu ile Delphi for .Net* icin dile eklenen Generic ozelligi artik Win32 icinde mevcut.
Genericler kisaca bazi durumlarda fazladan kod yazmamizin onune gecip bakimi , gelistirmesi daha kolay olan kodlar yazmamiza olanak sagliyorlar. Ornek vermek gerekirse hem integer hem de string veri tipinde elemanlar saklamak istediginiz bir listeye ihtiyaciniz olsun. Genericler olmadan bu isi kotarabilmenizin elbet degisik bir kac yolu mevcut. Mesela listeye eleman eklediginiz metodun hem integer tipindeki verileri kabul eden hem de string tipindeki verileri kabul eden iki farkli metodunu tanimlar ve bunlari da overload olarak isaretlerseniz hedefinize ulasmis olursunuz ya da tip cevrimleriyle ugrasmak istemiyorsaniz ayri ayri siniflar tanimlayarak siniflardan birinde integer veri tiplerini digerinde ise string veri tiplerini saklayabilirsiniz. Iste genericler bu tur durumlarda bizi taklalar atmaktan kurtarip bizim yerimize compilerin takla atmasini sagliyor. Sakladiklari veri tipleri haricinde hicbir farkliligi mevcut olmayan bu iki sinifi ayri ayri tanimlamak biz programcilar icin bosuna zaman kaybina neden oluyor. Genericler ise bu zaman kaybinin onune geciyor. Nasil ki prosedur ve fonksiyonlara duruma gore degisik parametreler degisik sonuclar elde ediyorsak genericler ile birlikte artik sinif tanimlarina da bazi parametreler ekleyip tek bir sinif tanimini farkli veri tipleriyle kullanmamiz artik mumkun.
basit bir ornek vermek gerekirse hem integer tipi ile hem de string veri tipi ile (aslinda butun tiplerle ) uyumlu calisabilecek bir sinif tanimlayalim.
TGenericSinifim<T> = Class
private
FEleman: T;
procedure SetEleman(const Value: T);
protected
public
property Eleman:T read FEleman write SetEleman;
End;
...
...
procedure TGenericSinifim<T>.SetEleman(const Value: T);
begin
FEleman := Value;
end;
sinifimizi tanimladik simdi de nasil kullanacagimizi gorelim.
(more…)
1 Comment »
class function MethodAddress(const Name: string): Pointer; overload;
function FieldAddress(const Name: string): Pointer; overload;
class function UnitName: string;
function Equals(Obj: TObject): Boolean; virtual;
function GetHashCode: Integer; virtual;
function ToString: string; virtual;
Bunlardan ilk ikisi olan MethodAddress ve FieldAddress zaten eski delphi surumlerinde de mevcuttu. Delphi 2009 da sadece unicode degisikliginden dolayi String tipinde parametre alan yeni surumleride ilave edilmis o kadar.
Diger dort metod ise Vcl.net uyumlulugu icin eklenmis. Zira ToString metodunun yaptigi tek sey Classname degerini geri dondurmek.
function TObject.ToString: string;
begin
Result := ClassName;
end;
GetHashCode ve Equals metodlari ise system unitinde su sekilde tanimlanmislar.
(more…)
No Comments »
iste ilk tiborun uygulamamiz karsinizda 
bilesen isimlerinden metod isimlerine kadar herşey artık unicode…
Artik butonlara ya da diger nesnelere isim verirken tirsmadan ı,ü,ğ,ş,ç,ö gibi karakterleri kullanabilirsiniz. Biraz fantezik bir kisiyseniz 尔福 gibi harfleri de kullanabilirsiniz Tabi biz yine geriye uyumluluk ve free pascal gibi diger pascal derleyicilerle herhangi bir sorun yasamamaniz icin string ifadeler haricinde cok gerekli olmadigi surece ingilizce karakterleri kullanmanizi tavsiye ediyoruz
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, CategoryButtons, ScreenTips, RibbonActnCtrls,
ToolWin, ActnMan, ActnCtrls, Ribbon,shellapi;
type
TForm1 = class(TForm)
TürkçeDüğme: TButton; // turkce karakterleri artik
// bilesen isimlerinde de kullanabilirsiniz.
Memo1: TMemo;
delphipeak: TButton;
procedure TürkçeDüğmeClick(Sender: TObject);
procedure delphipeakClick(Sender: TObject);
private
{ Private declarations }
public
procedure 德尔福高峰(); // hatta prosedur ve fonksiyonlara
// cince isim bile verebilirsiniz.
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.德尔福高峰;
begin
//德尔福高峰 -->delphipeak
ShellExecute(0,'open','http://tr.delphipeak.com',nil,nil,0);
end;
procedure TForm1.delphipeakClick(Sender: TObject);
begin
德尔福高峰;
end;
procedure TForm1.TürkçeDüğmeClick(Sender: TObject);
begin
memo1.Lines.Clear;
memo1.Lines.Add('دلفي (arapca delphi)');
memo1.Lines.Add('德尔福 (cince delphi)');
memo1.Lines.Add('Δελφοί (yunanca delphi)');
memo1.Lines.Add('डेल्फी (hinduca delphi)');
memo1.Lines.Add('デルファイ (japonca delphi)');
memo1.Lines.Add('Делфи (rusca delphi)');
end;
end.
7 Comments »
David amca Tiburón’a yeni eklenen ve gelistirilen vcl bilesenlerinin kullanimini , ozelliklerini gosterdigi videoya bu adresten ulasabilirsiniz.
Bloglardan takip edebildigim kadariyla Tiburon ile ilgili yazilan yazilarda unicodeden cok dile yeni eklenen Anonymous Methodlar tartisiliyor. Ismi gibi kendisininde tam olarak ne oldugu belirsiz Genelde herkesin sordugu soru nedir bu Anonymous Methodlar ve kod yazarken bize ne gibi faydalari olacak ?
Anonymous Methodlar bizlere daha onceden yapamadigimiz bir takim ozellikleri sunan ozel bir tip vs degil. Sadece codegear in ileriye yonelik olarak dile ekledigi biir ozellik. Gelecek surumlerde Linq for Delphi , Paralel programlama hatta cross platform ozelliklerinin kolay bir sekilde hayata gecirilebilmesi icin eklenen bir ozellik gibi duruyor daha cok.
videoda ilgimi ceken husus ise TEdit bileseninin PasswordChar ozelliginin gosterilmesi. Bu ozellik uzun suredir TEdit te olan bir ozellik zaten. Bu videoda bu ozelligi neden gostermisler bir anlam veremedim dogrusu.
3 Comments »
|