Tüm Platformlar için Hızlı Uygulama Geliştirme Kitabı... Delphi
Ön Sipariş Talebinde Bulunan Üyelerimiz
Sipariş Talebinde Bulunan Üyelerimiz

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 2 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi IDE'sine Eklenti Yapmak - 2
#21
(08-01-2018, Saat: 10:33)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlÇok yeri değil ama, niçin halâ Delphi 7 kullanmaya devam ediliyor? Bizim göremediğimiz bir şey mi var? Geliştirilen yazılımlarla ilgili eski sürümler yetersiz kalmaya başlayınca, üst sürümlere çıkmak her geçen sürümde daha da belalı bir hale geliyor iken niçin D7'de geliştirmeye devam ediyorsunuz?

Bu soru sanki büyük bir tartışmanın fitilini ateşleyecek gibi görünüyor. :ss
Kişisel yorumum; Delphi severler 2'ye ayrılmış durumda: Delphi7 sevdalıları ve diğer üst sürüm sevdalıları.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#22
Konunun dışına çıkmamak daha güzel olur, o nedenle konu ile ilgili bir hususa dikkat çekmek lazım;

(02-01-2018, Saat: 13:08)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(27-12-2017, Saat: 10:20)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlKod örneklerimizi saklayabileceğimiz bir yer olsa, buradan biz kendi kod şablonlarımızı yönetebilsek, sonra Delphi Editöründeyken bu şablonlar arasından birisini seçtiğimizde imlecin olduğu yere kod şablonunu yapıştırsa...

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol'in Code Librarian adını verdiği böyle bir özelliği varmış.
Göz atmak isterseniz:
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Evet var, fakat taşınabilir bir yapı sunmuyor. Yani yeni bir sürüme geçtiğimizde veya aynı kişiye ait birden fazla bilgisayarda şablonların taşınabilirliği konusunda bir seçenek sunmuyor.
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
Can Yücel: "Toprak gibi olmalısın! Ezildikçe sertleşmelisin! Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı."
WWW
Cevapla
#23
(08-01-2018, Saat: 10:33)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlÇok yeri değil ama, niçin halâ Delphi 7 kullanmaya devam ediliyor? Bizim göremediğimiz bir şey mi var? Geliştirilen yazılımlarla ilgili eski sürümler yetersiz kalmaya başlayınca, üst sürümlere çıkmak her geçen sürümde daha da belalı bir hale geliyor iken niçin D7'de geliştirmeye devam ediyorsunuz?

 Cevabı basit hocam;

1) düşük boyutlu olması
2) ram konusunda çok yememesi
3) hazırda olan kaynakların genelde Delphi 7'yi esas alması.

En basit örneği abim. Üniversitede internet olmadığı için Delphi 7'yi indirebilmiş.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#24
Ben delphi ile kurumsal uygulama geliştiren bir firmada çalışmadığım için düşük boyut ve ihtiyaçları karşılamasından dolayı kullanıyorum. Ayrıca çok ta hızlı maşallah.
WWW
Cevapla
#25
(27-12-2017, Saat: 10:20)uparlayan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(27-12-2017, Saat: 09:29)SimaWB Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlEvet başka bölümler de olacak. IDE üzerinde gördüğünüz herşeye müdahale edebiliriz. Siz nasıl bir özelliğe ihtiyacınız olduğunu belirtin Wink

İhtiyaçtan ziyade kodcu verimliliğini arttırmak adına bazı öneriler olabilir, mesela;

Kod örneklerimizi saklayabileceğimiz bir yer olsa, buradan biz kendi kod şablonlarımızı yönetebilsek, sonra Delphi Editöründeyken bu şablonlar arasından birisini seçtiğimizde imlecin olduğu yere kod şablonunu yapıştırsa...

Veya aynı şeyi formlar için de yapabilsek gibi...

+ Firemonkey form tasarım ekranındaki herhangi bir nesnenin üzerindeyken enter tuşuna basıldığında imleç property editöre fokuslanabilse güzel olurdu (VCL formlarda bu özellik var fakat FMX form editöründe yok)

Not: Delphi'de Code Template'ler var, kullanıyoruz fakat göz önünde ve pratik bir araç ve süreç değil.

 View -> Tool Windows -> Template bölümünde tam istediğiniz şekilde ekleyip, silebileceğin kod templateleri ve penceresi mevcut hocam. Az daha hasta hasta niyetlenecektim olduğunu görsem çıldırırdım  Big Grin Big Grin
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#26
Eğer menülerde herhangi bir master-child mantığı yerine direkt kendi menünüzü oluşturmak isterseniz şu şekilde kodlamada değişiklik yapabilirsiniz;

unit DelphicanMenu;

interface

uses ToolsAPI, DelphicanRSS, System.SysUtils, Vcl.Menus;

type
 TDelphicanMenu = class(TNotifierObject, IOTAMenuWizard, IOTAWizard)
 public
   function GetIDString: string;
   function GetName: string;
   function GetState: TWizardState;
   procedure Execute;
   function GetMenuText: string;
   procedure Destroyed;
 end;

type
 TMethodContainer = class(TObject)
   procedure OnMenuClick(Sender: TObject);
 private
 end;

 var
  NTAServices: INTAServices;
  DelphiCanMenuI: TMenuItem;
  DelphiCanRSS: TMenuItem;


procedure Register;

implementation

uses DeskUtil;

procedure Finalize(Sender: TObject);
begin
 if Assigned(DelphiCanMenuI) then
 begin
   DelphiCanMenuI.Free;
 end;
end;

procedure Initialize(Sender: TObject);
var
aMethodContainer: TMethodContainer;
begin
 try
   aMethodContainer := TMethodContainer.Create;

  if Supports(BorlandIDEServices, INTAServices, NTAServices) then
  begin
   DelphiCanMenuI := TMenuItem.Create(NTAServices.MainMenu.Items);
   DelphiCanMenuI.Caption := 'DelphiCan Team';
   NTAServices.MainMenu.Items.Insert(5, DelphiCanMenuI);

   DelphiCanRSS := TMenuItem.Create(DelphiCanMenuI);
   DelphiCanRSS.Caption := 'DelphiCan RSS Feed';
   DelphiCanRSS.OnClick := aMethodContainer.OnMenuClick;
   DelphiCanMenuI.Insert(0, DelphiCanRSS);
  end;
finally
 aMethodContainer.Free;
end;

end;


procedure CreateDockForm;
begin
 if not Assigned(FormRSS) then
 begin
   FormRSS := TFormRSS.Create(nil);

   if @RegisterFieldAddress <> nil then
     RegisterFieldAddress(FormRSS.Name, @FormRSS);

   RegisterDesktopFormClass(TFormRSS, FormRSS.Name, FormRSS.Name);
 end;
end;

procedure ShowDockForm;
begin
 CreateDockForm;

 if not Assigned(FormRSS) then
   Exit;

 if not FormRSS.Floating then
 begin
   FormRSS.ForceShow;
   FocusWindow(FormRSS);
 end
 else
   FormRSS.Show;
end;

procedure RemoveDockForm;
begin
 if Assigned(FormRSS) then
 begin
   if @UnregisterFieldAddress <> nil then
     UnregisterFieldAddress(@FormRSS);
   FreeAndNil(FormRSS);
 end;
end;

procedure Register;
begin
 RegisterPackageWizard(TDelphicanMenu.Create);
 CreateDockForm;
end;

{ TDelpicanMenu }

procedure TDelphicanMenu.Destroyed;
begin
 RemoveDockForm;
end;

procedure TDelphicanMenu.Execute;
begin
 ShowDockForm;
end;

function TDelphicanMenu.GetIDString: string;
begin
 Result := 'SimaWB delphican.com'; // IDE eklentimiz için ayırt edici bir ID
end;

function TDelphicanMenu.GetMenuText: string;
begin
 Result := 'DelphiCan'; // Ekleyeceğimiz Menu Item'ın başlığı
end;

function TDelphicanMenu.GetName: string;
begin
 Result := 'DelphiCan Menu Item'; // IDE eklentimizin ismi
end;

function TDelphicanMenu.GetState: TWizardState;
begin
 Result := [wsEnabled]; // Eklentinin durumu
end;


procedure TMethodContainer.OnMenuClick(Sender: TObject);
begin
 ShowDockForm;
end;

initialization
  Initialize(nil);
finalization
 RemoveDockForm;
 Finalize(nil);
end.



Yukarıda ki kod ve sonuç:

delphicanteam2.png


Not: Bir şeyler yapmayı düşünüyorum zamanım oldukça Smile 

İyi çalışmalar.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#27
Konuyu hortlattığın için teşekkürler @Halil Han Badem  Angry

Uzuuuuun zaman önce başladığım ama daha sonra yoğunluktan bakamadığım bir konu Sad
Daha önce yazdığım gibi "DelphiCan'lara özel bir eklenti paketi" yapmaya başlamıştım. Aslında epey bir yol almıştım ama tamamlayamadığım için paylaşmadım. 
Yakın zamanda bitmemiş halini paylaşayım en iyisi. Devam ettirmek isteyen olabilir. ("Yakın zaman" görecelidir  Blush  )
There's no place like 127.0.0.1
WWW
Cevapla
#28
Delphi 7'yi ben unicode olmadığı için seviyorum.
1 harf 1 bayt, yani metinleri bellekte nasıl görüyorsan öyle kullanıyorsun.
İster diziye at, ister düz stream yap, ister fast string kütüphanesini kullan.

Tabii ki unicode olmadan olmaz ama birçok projede olmak zorunda da değil.

Ben şu ana kadar 100 proje kodladıysam unicode olması hiçbirinde işime yaramadı.
Hatta bazen "neden unicode kullanmak zorundayım ki" diye yakındığım da olmuştur.

İçinde AnsiString epey mevcut fakat asıl mesele üçüncü partilerde çıkıyor.
Sen güzel güzen ansi ile çalışırken bir bakıyorsun kullandığın diğer paket unicode oluyor.

Bir de masaüstü programlama açısından son sürümü ile Delphi 7 arasında dağlar kadar fark yok.
Yani Delphi 7 sevdasının bitmesi için bir neslin tükenmesi lazım.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi'de BreakPoint (durma noktası) işaretinin yanlış satırda görünmesi csunguray 0 31 5 saat önce
Son Yorum: csunguray
  Delphi'de Indy SMTP ile e-mail gönderme. (GMail, Yandex, Yahoo vb.) csunguray 8 1.163 27-11-2018, Saat: 07:53
Son Yorum: Bay_Y
  Delphi'de Inno Setup | Sorgulu Uninstall İşlemi Halil Han Badem 13 648 17-11-2018, Saat: 19:50
Son Yorum: sabanakman
  Delphi'de Dökümantasyon Nasıl Yapılır uparlayan 21 1.083 17-07-2018, Saat: 16:54
Son Yorum: uparlayan
  Kitap İnceleme ( Algoritma ve Delphi 2005 ) #1 boreas 0 273 02-06-2018, Saat: 15:39
Son Yorum: boreas



Konuyu Okuyanlar: 1 Ziyaretçi