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. |
Buton Kontrol |
Yanıt Yaz |
Yazar | |
sqlae
Yeni Üye Kayıt Tarihi: 02 Ağustos 2023 Konum: Konya,Turkey Durum: Aktif Değil Puanlar: 16 |
Mesaj Seçenekleri
Teşekkürler(0)
Gönderim Zamanı: 04 Ağustos 2023 Saat 11:48 |
Merhabalar, bir yap-boz uygulaması hazırlamaya çalışıyorum 3x3 bir zemin mevcut toplam 9 butondan oluşuyor ekte görsel tasarımı mevcut ;
Buton1'e tıklandığında buton2 ile yer değiştirmesini istiyorum bu sorunsuz gerçekleşiyor fakat buton1 ve 2 yer değiştirdikten sonra buton2 buton1'in yerine geçtiğinden dolayı buton3 e tıklanırsa buton2'nin yeni konumu yani en soldaki ve en sağdaki yer değiştiriyor. Olması gereken sağdan sola soldan sağa aşağıdan yukarı yukarıdan aşağı olması gerekirken işlem karmaşık şekilde gerçekleşiyor yapılacak olan algoritma veya kullanılması gereken kod işlemini çözemiyorum. ; EĞER (Buton1.Left=200) ve (buton2.Left=60) ise { yerleri değiştir } Değilse eğer (Buton1.Left=60) ve buton3.Left=200) ise { yerleri değiştir } Şeklinde denedim fakat başarısız oluyor. Buton1 tıklandığında buton2 ile değiştir şeklinde denedim fakat bu defa buton3 ile değiştiremiyorum yine başarısız oluyor. Aşağıda görsel bir şablon halinde çizerek paylaştım. YEŞİL RENK SEÇİLEN KIRMIZI RENK EYLEM 1. Buton1 ve buton 2 yer değiştirdi 2. Buton3'ü seçtim buton 2 ile yer değiştirdi olması gereken buton1 veya buton6 ile yer değişmesini sağlamak 3. SONUÇ; Burada 2x2 olan bir kod mevcut 3x3 şeklindeyken de burada yazanlarla aynı şekildeydi.
|
|
Alforce
Yeni Üye Kayıt Tarihi: 26 Temmuz 2023 Durum: Aktif Değil Puanlar: 150 |
Mesaj Seçenekleri
Teşekkürler(0)
|
Bu konuda butonların yerini değiştirmek yerine isimlerini ve resimlerini değiştirmek daha mantıklıdır.
Kodunuzu paylaşırsanız yardımcı olabilirim.
|
|
sqlae
Yeni Üye Kayıt Tarihi: 02 Ağustos 2023 Konum: Konya,Turkey Durum: Aktif Değil Puanlar: 16 |
Mesaj Seçenekleri
Teşekkürler(0)
|
Kodu zaten konuya eklemiştim en alt satırda mevcuttu yine bırakıyorum.
var AnaForm : TclForm; //Kod Formu parcaBtn1 : TClProButton; //ORTA SOL parcaBtn2 : TClProButton; //ORTA SAĞ parcaBtn3 : TClProButton; //ÜST SOL parcaBtn4 : TClProButton; //ÜST SAĞ baslaBtn : TclButton; procedure basBtn begin //parcaBtn1.Left:= parcaBtn1.Left -140; { if (parcaBtn1.Left = 200) and (parcaBtn2.Left = 60) then begin parcaBtn1.Left:= 60; parcaBtn2.Left:= 200; end; else if (parcaBtn1.Left = 200) and (parcaBtn3.Left = 60) and (parcaBtn3.Top = 250) then begin parcaBtn1.Left:= 60; parcaBtn1.Top := 250; parcaBtn3.Top:= 0; parcaBtn3.Left := 200; end; } end; procedure basBtn2 begin parcaBtn1.Left:= 200; parcaBtn2.Left:= 60; end; procedure basBtn3 begin parcaBtn4.Left:= 60; parcaBtn3.Left:= 200; end; procedure basBtn4 begin parcaBtn3.Left:= 60; parcaBtn4.Left:= 200; end; begin AnaForm := TclForm.Create(Self); AnaForm.SetFormColor('#46DBC2','#F0E278',clGVertical); parcaBtn1:= AnaForm.AddNewProButton(AnaForm,'parcaBtn1',''); parcaBtn1.Align := alNone; parcaBtn1.Height := 130; parcaBtn1.Width := 130; parcaBtn1.Left:= 200; AnaForm.setImage(parcaBtn1,'https://i.hizliresim.com/iimn9zd.png'); AnaForm.AddNewEvent(parcaBtn1,tbeOnClick,'basBtn'); parcaBtn2:= AnaForm.AddNewProButton(AnaForm,'parcaBtn2',''); parcaBtn2.Align := alNone; parcaBtn2.Height := 130; parcaBtn2.Width := 130; parcaBtn2.Left:= 60; AnaForm.setImage(parcaBtn2,'https://i.hizliresim.com/pefkmcg.png'); AnaForm.AddNewEvent(parcaBtn2,tbeOnClick,'basBtn2'); parcaBtn3:= AnaForm.AddNewProButton(AnaForm,'parcaBtn3',''); parcaBtn3.Align := alNone; parcaBtn3.Height := 130; parcaBtn3.Width := 130; parcaBtn3.Top:= 250; parcaBtn3.Left:= 60; AnaForm.setImage(parcaBtn3,'https://i.hizliresim.com/25n16f0.png'); AnaForm.AddNewEvent(parcaBtn3,tbeOnClick,'basBtn3'); parcaBtn4:= AnaForm.AddNewProButton(AnaForm,'parcaBtn4',''); parcaBtn4.Align := alNone; parcaBtn4.Height := 130; parcaBtn4.Width := 130; parcaBtn4.Top:= 250; parcaBtn4.Left:=200; AnaForm.setImage(parcaBtn4,'https://i.hizliresim.com/awuhq8o.png'); AnaForm.AddNewEvent(parcaBtn4,tbeOnClick,'basBtn4'); baslaBtn:= AnaForm.AddNewButton(AnaForm,'baslaBtn','Karıştır'); baslaBtn.Align := alTop; baslaBtn.Height := 50; baslaBtn.Width := 130; AnaForm.AddNewEvent(baslaBtn,tbeOnClick,'karBtn'); AnaForm.Run; end; |
|
Alforce
Yeni Üye Kayıt Tarihi: 26 Temmuz 2023 Durum: Aktif Değil Puanlar: 150 |
Mesaj Seçenekleri
Teşekkürler(1)
|
Bu biraz karmaşık ama umarım işinizi görür:
|
|
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 |