Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
if olasılığının karşılanmaması |
Yanıt Yaz |
Yazar | |
umutbilici
Yeni Üye Kayıt Tarihi: 07 Mayıs 2024 Durum: Aktif Değil Puanlar: 6 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı umutbilici
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Gönderim Zamanı: 07 Mayıs 2024 Saat 21:26 |
butona basılıncaa resmin animasyonlu şekilde büyümesini ve resmi aynı zamanda ortalamasını istediğim kod, resmin büyüklüğü en fazla 200 olması lazım ama 200 olduktan sonra sola gitmeye(sanırsam else altında olan clAnimateFloat(resim1,'Position.X',resim1.Position.X - deger / 2,2,1,0); kodu çalışıyor) devam ediyor yardımcı olur musunuz? (deger: 20) void buyultme var sagdanposx,alttanposy,aradeger,aradegeren:Integer { sagdanposx=resim1.Position.X+resim1.Width alttanposy=resim1.Position.Y+resim1.Height if(((deger>200-resim1.Height) && (200-resim1.Height>0)) || ((deger>200-resim1.Width) && (200-resim1.Width>0)) ) { aradegerboy=200-resim1.Height aradegeren=200-resim1.Width clAnimateFloat(resim1,'Height',200,2,1,0); clAnimateFloat(resim1,'Position.X',resim1.Position.X - aradegeren / 2,2,1,0); clAnimateFloat(resim1,'Position.Y',resim1.Position.y - aradegerboy / 2,2,1,0); //resim1.Height=200 //resim1.Width=200 //resim1.Position.X=resim1.Position.X - aradegeren / 2 //resim1.Position.Y=resim1.Position.Y - aradegerboy / 2 //ShowMessage(resim1.Height); } else if((resim1.Height+deger>200) || (resim1.Width+deger>200)) { ShowMessage('Büyütme Sınırına Ulaştınız!'); //ShowMessage(resim1.Height); //KONTROL } else if((resim1.Position.X<deger) || (sagdanposx+20>resimpanel.Width)) { ShowMessage('Sınırları Aşamazsınız!'); } else if((resim1.Position.Y<deger) || (alttanposy+20>resimpanel.Height)) { ShowMessage('Sınırları Aşamazsınız!'); } else { clAnimateFloat(resim1,'Height',resim1.Height+deger,2,1,0); //resim1.Height=resim1.Height+deger clAnimateFloat(resim1,'Width',resim1.Width+deger,2,1,0); //resim1.Width=resim1.Width+deger clAnimateFloat(resim1,'Position.X',resim1.Position.X - deger / 2,2,1,0); //resim1.Position.X=resim1.Position.X - deger / 2 clAnimateFloat(resim1,'Position.Y',resim1.Position.Y - deger / 2,2,1,0); //resim1.Position.Y=resim1.Position.Y - deger / 2 //ShowMessage(resim1.Height); //KONTROL } }
|
|
BilalCndn
Forum Yöneticisi Kayıt Tarihi: 09 Ekim 2023 Durum: Aktif Değil Puanlar: 150 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı BilalCndn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba Umut,
Kodu inceledim. Resmin boyutu 180(200-deger)e ulaşasıya kadar butona her tıkladığında 'else' kod bloğu çalışıyor. 180nin üzerine çıktığında ise en üstteki 'if' kısmı çalışıyor. Burada görselin yüksekliği 200 oluyor fakat görselin genişliği son değerinde sabit kalıyor. Bu sebeple butona her tıkladığında tekrar tekrar bu 'if' çalışıyor ve görselin boyutu değişmeden sadece konumu değişiyor. Yapman gereken değişiklik aşağıdaki gibidir.
Sorununun çözüme ulaşıp ulaşmadığı ile ilgili geri dönüşünü bekliyorum. İyi çalışmalar diliyorum.
|
|
umutbilici
Yeni Üye Kayıt Tarihi: 07 Mayıs 2024 Durum: Aktif Değil Puanlar: 6 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı umutbilici
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
teşekkür ederim ben sola doğru hareket ettiği için clAnimateFloat(resim1,'Position.X',resim1.Position.X - aradegeren / 2,2,1,0);koduyla alakalı bi sıkıntı olduğunu düşünmüştüm ona hiç dikkat etmemiştim
|
|
Yanıt Yaz | |
Tweet |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |