Konuyu Oyla:
  • Derecelendirme: 5/5 - 3 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ı: Ç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ı.
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ı:
(27-12-2017, Saat: 10:20)uparlayan Adlı Kullanıcıdan Alıntı: 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...

GExperts'in Code Librarian adını verdiği böyle bir özelliği varmış.
Göz atmak isterseniz:
http://www.gexperts.org/tour/index.html?...arian.html

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.
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#23
(08-01-2018, Saat: 10:33)Abdullah ILGAZ Adlı Kullanıcıdan Alıntı: Ç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ş.
kisisel_logo_dark.png
WWW
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ı:
(27-12-2017, Saat: 09:29)SimaWB Adlı Kullanıcıdan Alıntı: Evet 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
kisisel_logo_dark.png
WWW
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.
kisisel_logo_dark.png
WWW
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.
Cevapla
#29
Çok teşekkürler emeğinize sağlık.
Cevapla
#30
(04-12-2018, Saat: 10:25)ssahinoglu Adlı Kullanıcıdan Alıntı: 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.
7 sene oluyor. D7 ile yaptığım bir programı XE 'ye çevirmem gerekti. Program bir cihaza RS232 üzerinden string şeklinde komut gönderiyordu. XE 'ye geçince Unicode muhabbetinden program çalışmamaya başladı. İlk önce unicode hiç aklıma gelmemişti. Sebebini Bulana kadar 1 hafta uğraşmıştım.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile .Net Ortamında geliştirilen dll içerisindeki fonksiyon kullanımı yhackup 10 8.020 09-04-2023, Saat: 02:17
Son Yorum: gogo72
  Delphi ve Protocol Buffers SimaWB 10 6.828 10-12-2022, Saat: 15:04
Son Yorum: SimaWB
  Delphi AES 128 ECB PKCS5 Padding ile sorun aegean 1 815 28-11-2022, Saat: 13:07
Son Yorum: aegean
  Delphi ile İşletim Sistemi Yazımı PROGRAMADOR35 13 8.093 26-09-2021, Saat: 21:29
Son Yorum: ekremkocak
  Delphi ile Scada Milenyumotomasyon 18 9.960 28-07-2021, Saat: 10:53
Son Yorum: mehkamaci



Konuyu Okuyanlar: 1 Ziyaretçi