S.A Arkadaşlar
Elimde 120 adet timage nesnesi var ve bu image'lara farklı 5 değişkenin aldığı değerlere göre Canvas ile farklı çizimler yaptırıyorum.
image1 e
olasılık 1 ise
şu çizimi yap
image1.canvas.....
image1.canvas.....
image1.canvas.....
image1.canvas.....
image1.canvas.....
olasılık 2 ise
şu çizimi yap
image1.canvas.....
image1.canvas.....
image1.canvas.....
image1.canvas.....
image2 e
olasılık 1 ise
şu çizimi yap
image2.canvas.....
image2.canvas.....
image2.canvas.....
image2.canvas.....
image2.canvas.....
olasılık 2 ise
şu çizimi yap
image2.canvas.....
image2.canvas.....
image2.canvas.....
image2.canvas.....
.
.
.
gibi
ama bunları bu şekilde yazdığım zaman çoook uzun kodlar ortaya çıkıyor. acemiliğimi hoşgörün ama bunun daha kolay bir yolu yokmudur. Yardımlarınız için şimdiden çok teşekkürler.(tekrar özür dilerim çok acemi bir soru ise)
image ve olasılıklar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
A.S. Hocam
çizdiğin şekil ile ilgili örnek bir kod verebilir misin?
mesela çerçeve çizmek için 4 tane koordinatın bilinmesi gerekiyor. Bunun için bi procedure tanımlayarak istediğin kadar birbirinden farklı çerveçeler çizebilirsin
Procedure Cervece(x1,y1,x2,y2:integer); gibi
Böyle bi imkanın varsa tek procedure tanımlarsın, Sonrada Case ile şartı karşılaştırıp procedure'yi çağırarak uygun koordinatları belirleyerek çizebilirsin.
aklıma şimdilik başka bişey gelmiyor
Kolay gelsin...
çizdiğin şekil ile ilgili örnek bir kod verebilir misin?
mesela çerçeve çizmek için 4 tane koordinatın bilinmesi gerekiyor. Bunun için bi procedure tanımlayarak istediğin kadar birbirinden farklı çerveçeler çizebilirsin
Procedure Cervece(x1,y1,x2,y2:integer); gibi
Böyle bi imkanın varsa tek procedure tanımlarsın, Sonrada Case ile şartı karşılaştırıp procedure'yi çağırarak uygun koordinatları belirleyerek çizebilirsin.
aklıma şimdilik başka bişey gelmiyor
Kolay gelsin...
Varmı Beni İçinizde Tanıyan?
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
120 TImage nesnesinin isimlerini üç haneli ŞART ile isimlendir. Şartlar (olasılık) 120 çeşit bile olabilir sorun değil
Mesela
- Image1 001, 003, 097, 117 şartlarında çizilecekse adı (Name) Ima001003097117 olsun.
- Image2 001, 002, 003 şartlarında çizilecekse adı (Name) Ima001002003 olsun.
- Bu sana ne sağlar..
Çizim için Şart veya Şartlar ne ise o şart üç haneli olarak TImage nesnesinin adında varsa o Image nesnesi çilir. Döngü şu şekilde.
- Şartlar değişir image isimlerini değiştirmek sıkıntı olur diyorsan, bu şartları ve hangi image nesnelerinin çizileceğini bir dizide tut, döngüyü dizide gerçekleştir. Böylece ŞARTLAR dizisi elemanlarıyla oynayarak anlık değişiklik yapabilir, anında çözüm üretebilirsin.
- Başarılar...

Mesela
- Image1 001, 003, 097, 117 şartlarında çizilecekse adı (Name) Ima001003097117 olsun.
- Image2 001, 002, 003 şartlarında çizilecekse adı (Name) Ima001002003 olsun.
- Bu sana ne sağlar..
Çizim için Şart veya Şartlar ne ise o şart üç haneli olarak TImage nesnesinin adında varsa o Image nesnesi çilir. Döngü şu şekilde.
Kod: Tümünü seç
Var
Sayac : Integer;
Sart1, Sart2 : Integer;
begin
For Sayac := 0 to ComponentCount-1 do begin
If Components[Sayac] is TImage then begin
// Şimdi şartları sorgulayacağın yer.
// Şartlar bir dizide tutularak iç döngüyle de sorulabilir, sayısı azsa...
If Pos( Format('%.3d', [SART1]), TImage(Components[Sayac]).Name ) > 0 then // Çizim işlemi yapılacak komutlar...
If Pos( Format('%.3d', [SART2]), TImage(Components[Sayac]).Name ) > 0 then // Çizim işlemi yapılacak komutlar...
end;
end;
end;
- Başarılar...
arkadaşlar öncelikle cevaplarınız için çok teşekkürler
mrmarman hocamın dediğini tam olarak yapamasamda image ları bir dizi de tanımlayarak sayac döngüsü ile kod satırlarını hatırı sayılır bir oranda düşürdüm.46 bin satırlık kod yaklaşık 330 satıra düştü
tekrar teşekkürler beynimizdeki sihir i keşfetmek için daha çok çalışmamız gerekiyor anlaşılan. herkese iyi çalışmalar,başarılar
