bu mantık doğru mu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

bu mantık doğru mu

Mesaj gönderen cfyasar »

bilinen çizim programlarına benzer birşeyler yapıyorum. mesela 20 tekrarlı undo yapmak istiyorum. formun üzerinde yaptığım her değişikliği bir listeye kaydedeceğim. mesela bir çizgi çizdim, bunu listeye line (x,y) to (x,y) diye ekleyeceğim. ondan sonra dikdörtgen çizdim bunu listeye rect(x,y) to (x,y) diye kaydedeceğim. undo yapmak istediğimde bu listeye göre geri alacağım.
bundan daha iyi sonuç verecek bir çözüm biliyormusunuz?
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Bence işini görür. Kodlaması fazla zahmetli de olmaz.
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Bende zamanıda böyle bişey yapmıştım. Tüm çzidiklerimi veri tabanına atıyordum. tipi, örn. kare, line, circle gibi, yalnız arc gibi şekiller çizersen 2 nokata değil 4 nokta iazım olacaktır. Bunlarıda planlarken dikkat etmeni tavsiye ederim. tabiki Rundo yapmak istersen renk gibi bilgileride tutman gerekecek.

İyi Çalışmalar.
I love my car.
Blog Yaptık
Kullanıcı avatarı
muskut
Kıdemli Üye
Mesajlar: 1118
Kayıt: 22 Ara 2003 09:50
Konum: Sandalyemden
İletişim:

Mesaj gönderen muskut »

Hocam dediğin gibi bir history mantığı kullanabilirsin. Ama unutmaki kullanmış olduğun dil Delphi, yani Nesne yapılı bir dil. Nesnenin nimetlerinden faydalanabilirsin. Temel nesne sınıfı oluşturup, şekilllerini bunlardan türetip çizdirebilirsin. Daha sonrada silmek isteğinde o nesneyi silersin. Hem nesne kullandığın zaman daha sonrada o nesneye ait, renk, çizgi kalınlığı, dolgu rengi gibi özellikleride değiştirmen mümkün olabilir.

kolay gelsin.
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Eğer çizimi, nesne bazında undolamak istersen, hangi adımda ne yaptığını sürekli olarak biryerlere kaydetmek zorundasın, eğer ne yaptığı önemli değil ben Picture'ı 20 defa geriye alayım dersen o zaman Her işlemden sonra (yeni bir çizim yapacak iken) picture'ı kaydetmelisin. Picture kaydedersen ne yaptığıyla ilgilenmez, standard picture olarak kaydedersin. İçeride ister Çizgi çizmiş ister Renk değiştirmiş, ister cube yapmış seni ilgilendirmez, nihayetinde sen picture'ı saklayacaksın. Bu yöntem daha basittir, çizilen nesneyi bilmenize gerek bırakmaz.

Eğer nesneleri saklayacağım dersen o zaman işin biraz daha karmaşık olur.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
cfyasar
Üye
Mesajlar: 169
Kayıt: 31 Oca 2005 05:18
Konum: izmir

Mesaj gönderen cfyasar »

peki çizdiğim çizgiyi nesne haline getirmek istersen onu nasıl yapacam. nesne haline getirebilirsem çizildikten sonra üzerinde uzunluk, kalınlık, renk gibi oynama şansım olur.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Cevapla