S.A. Arkadaslar, insallah hepiniz de iyisinizdir.
bir sorum olacak yardımcı olabilirseniz sevinirim bir begin ve end; bloğunu düşünün bu bloklar arasında kodlarımız var ama bu kodlar o kadar genişki iç içe if ile gelen ve sorgu sonucuna baglı bir takım bloklarda kendimiz ekliyoruz
begin
if (... = '') or
(... = '') or
(... = '') or
(... = '') then
begin
.......
end
else
begin
if (... = 'Evet') and
(... = 'Hayır')then
begin
....
....
end
else
begin
if ..... then
begin
end;
end;
end;
end;
bunun gibi sormak istediğim hani .net , c# editöründe görmüşşüsünüzdür
{
} parantezlerin üzerine geldiğiniz zaman hangisi hangisine baglı hemen işaretliyor boylece başlangıc ve bitişleri karıştırmıyorsunuz .. ben de diyorumki aşağıdaki end; lerin herhangi birinin üzerine geldiğimizde hangi begin e bağlı olduğunu gösteren bir özellik delphi 7 de varmıdır.?
ikutluay'ın dediği gibi begin den sonra end; yerleştir en iyi yöntem dir...Delphi 2007 de güzel bir özellik var begin den sonra alt satırlara geçerken kendisi tamamlıyor bloğu ayrıca arada başka begin end ler olsada ayarını yapıyor...Yavaş yavaş geçmek lazım 2007 sürümüne ben geçtim ama hala 7 sürümüyle de çalışıyorum alışkanlık işte.Ama 1 gb dan aşağı ram olmasını tavsiye etmem baya zorluyor benim 512 ram ile....
Programcı olarak her ne kadar not bırakarak bu sorunu bir şekilde atlatsakta c# daki rahatlığa kesinlikle uyamaz. Geçen ay c# a bakmaya başladım ve şahsen .neti delphiden daha başarılı buldum ama tabi sonuçta kullandığım delphi 7, vs ise 2005. Delphi 2005 de de belki bu kolaylık vardır ama @bgoktasın bahsettiği tooldan başka çok bir şansınız yok sanırım eski versiyon delphiler için.
arkadaşlar yorumlarınız için teşekkür ederim, arkadasımızın dediği programı indirdim ve tes ettim küçük projeler için bır sıkıntı yok ama çalıştığınız büyük birproje ve yaklasık 80 den fazla formunuz varsa program projeji bayağı bir kastırıyor ve tab satırılarını bozuyor, sanırım delphi 2007 e geçene kadar satır sonlarına not ekleyerek devam edeceğim .. dediğiniz gibi, teşekkür ederim sağolun Allah kolaylık versin
Kolay yolu şudur ki her end kendisinden önce ve end'i bulunmayan ilk begin'indir. Sayarak gidebilirsiniz.
Daha önce de söylendiği gibi en güzeli begin yazar yazmaz altına end'i yapıştırıp açıklamasını yazmak, ama bence önemli olan bir diğer nokta da kod bloklarını (prosedür-fonksiyon) mümkün olduğunca parçalayarak begin-end sayısını ve içindeki satır sayısını düşürmektir.
Bence örnek olarak verilen kod gayet güzel. Hangi endin hangi begine ait olduğu gayet iyi görülebiliyor. Ben genelde iş karışmaya başlayınca end; in yanına end; // if falan filan gibi notlar düşmeye bşlarım. Yine de sadeleşmezse kodu alt prosedürlere bölerim. Size konuyla ilgili güzel bir sözü hatırlatmak istiyorum
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
Her programcı bilgisayarın anlayabileceği kodlar yazabilir. Sadece iyi programcılar insanların da anlayabileceği kodlar yazabilir.
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Delphi 7 editor özelliklerinden smarttab özelliğini aktif hale getirmenizi tavsiye ederim.
Bu özelliği açtığınızda tab tuşu bloklandırma işlemi için kolaylık sağlıyor bence.
Kullanımı:
her begin ifadesinden sonra bir kez enter tuşuna sonra bir kez tab tuşuna basın.
sonra blok içeriğini yazın.
blok sonunda (son komuttan sonra bir kez enter tuşuna basılarak yeni boş satırdayken) bir kez backspace tuşuna basarak end; komutu ile bloğu sonlandırın.
bence bu yöntem ile kod yazıldığında blok başları ile sonlarının karıştırılması yeteri kadar engellenmiş oluyor.
Not:Bu sistemi kullanırken insert modda çalışılmalıdır (not overwrite)
For i:=1 to 10 do begin //begin'i bilerek komutun sonuna ekliyorum ki okuması daha kolay olsun
komut 1
komut 2
if a=b then begin
komut 3
else begin
komut 4
end;
for x:=1 to 5 do begin
if c=z then begin
if z>r then begin
komut 5
end;
end;
end;
end;
bütün döngü ve şart başlangıçları (begin) ile bitişlerini (end) yukarıdan aşağıya aynı hizada yazarsanız yıllar sonra bile oturup kontrol etseniz asla şaşırmazsınız. Bu benim Pascal dilinden gelen alışkanlığım ve hala arada fantazi olsun diye programlarıma bakarken hiç şaşırmam.
delphiden kastın delphi 7 ise bu 2002 de çıktı. haliyle yoktu. delphi 2007 de ve bir çok sürümde zaten var. lazarusa gelince lazarus sürekli güncellenen bir proje. kıyaslamanda hata var sanki ?