![]() |
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. |
Görsellerin Sürüklenmesi |
Yanıt Yaz ![]() |
Yazar | |
Raziye Nur ![]() Yeni Üye ![]() Kayıt Tarihi: 07 Temmuz 2025 Durum: Aktif Değil Puanlar: 16 |
![]() Yanıt Yaz
Alıntı Raziye Nur
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() Gönderim Zamanı: Dün Saat 14:33 |
Merhaba devremdeki boş yere görselleri sürükleyip kontrol et butonuna bastıktan sonra ampul yandı ya da yanmadı şeklinde uyarı vermesini istiyorum ama görsellerin hepsi aynı yere yukarı doğru sürükleniyor ve butona bastığımda doğru yerde olmamasına rağmen ampul yandı olarak gözüküyor sürüklemeyi doğru yapmama yardımcı olabilir misiniz?
var MyForm: TclForm; DevrePanel: TCLProPanel; ImgBakirTel, DevreGorsel, ImgTahta, ImgCivi, ImgLastik: TCLImage; SecilenMalzeme: String; // Seçilen malzeme adını tutacak BtnKontrol: TCLProButton; // Hareket fonksiyonları void HareketEttirBakirTel; { ImgBakirTel.Position.X = MyForm.clSenderMousePosX - 25; ImgBakirTel.Position.Y = MyForm.clSenderMousePosY - 25; SecilenMalzeme = 'BakirTel'; } void HareketEttirTahta; { ImgTahta.Position.X = MyForm.clSenderMousePosX - 25; ImgTahta.Position.Y = MyForm.clSenderMousePosY - 25; SecilenMalzeme = 'Tahta'; } void HareketEttirCivi; { ImgCivi.Position.X = MyForm.clSenderMousePosX - 25; ImgCivi.Position.Y = MyForm.clSenderMousePosY - 25; SecilenMalzeme = 'Civi'; } void HareketEttirLastik; { ImgLastik.Position.X = MyForm.clSenderMousePosX - 25; ImgLastik.Position.Y = MyForm.clSenderMousePosY - 25; SecilenMalzeme = 'Lastik'; } // Kontrol butonu fonksiyonu void KontrolEt; { if (SecilenMalzeme == '') { ShowMessage('Önce bir malzeme sürükleyip devreye koymalısın.'); } else if (SecilenMalzeme == 'BakirTel') { ShowMessage('Tebrikler! Devre tamamlandı ve ampul yandı! 💡'); } else if (SecilenMalzeme == 'Civi') { ShowMessage('Tebrikler! Devre tamamlandı ve ampul yandı! 💡'); } else if (SecilenMalzeme == 'Tahta') { ShowMessage('Devre tamamlanamadı, ampul yanmadı.'); } else if (SecilenMalzeme == 'Lastik') { ShowMessage ('Devre tamamlanamadı, ampul yanmadı.'); } } { MyForm = TclForm.Create(Self); SecilenMalzeme = ''; // Başlangıçta boş DevrePanel = MyForm.AddNewProPanel(MyForm, 'DevrePanel'); DevrePanel.Align = alClient; DevrePanel.clProSettings.BackgroundColor = nil; DevrePanel.SetclProSettings(DevrePanel.clProSettings); // Devre görseli DevreGorsel = MyForm.AddNewImage(DevrePanel, 'DevreGorsel'); DevreGorsel.Align = alClient; MyForm.SetImage(DevreGorsel, 'https://resmim.net/cdn/2025/07/21/XXnvec.jpg'); // açık devre görseli ImgBakirTel = MyForm.AddNewImage(DevrePanel, 'ImgBakirTel'); ImgBakirTel.Align = alNone; ImgBakirTel.Width = 50; ImgBakirTel.Height = 50; ImgBakirTel.Position.X = 20; ImgBakirTel.Position.Y = 100; MyForm.SetImage(ImgBakirTel, 'https://resmim.net/cdn/2025/07/21/XXGRK2.png'); MyForm.AddNewEvent(ImgBakirTel, tbeOnMouseMove, 'HareketEttirBakirTel'); ImgTahta = MyForm.AddNewImage(DevrePanel, 'ImgTahta'); ImgTahta.Align = alNone; ImgTahta.Width = 50; ImgTahta.Height = 50; ImgTahta.Position.X = 20; ImgTahta.Position.Y = 200; MyForm.SetImage(ImgTahta, 'https://resmim.net/cdn/2025/07/21/XXGhWL.png'); MyForm.AddNewEvent(ImgTahta, tbeOnMouseMove, 'HareketEttirTahta'); ImgCivi = MyForm.AddNewImage(DevrePanel, 'ImgCivi'); ImgCivi.Align = alNone; ImgCivi.Width = 50; ImgCivi.Height = 50; ImgCivi.Position.X = 20; ImgCivi.Position.Y = 300; MyForm.SetImage(ImgCivi, 'https://resmim.net/cdn/2025/07/21/XXGpL7.png'); MyForm.AddNewEvent(ImgCivi, tbeOnMouseMove, 'HareketEttirCivi'); ImgLastik = MyForm.AddNewImage(DevrePanel, 'ImgLastik'); ImgLastik.Align = alNone; ImgLastik.Width = 50; ImgLastik.Height = 50; ImgLastik.Position.X = 20; ImgLastik.Position.Y = 400; MyForm.SetImage(ImgLastik, 'https://resmim.net/cdn/2025/07/21/XXaWwI.png'); MyForm.AddNewEvent(ImgLastik, tbeOnMouseMove, 'HareketEttirLastik'); // BtnKontrol = MyForm.AddNewProButton(MyForm, 'BtnKontrol', 'Kontrol Et'); BtnKontrol.Align = alBottom; BtnKontrol.Height = 50; BtnKontrol.clProSettings.FontSize = 18; BtnKontrol.SetclProSettings(BtnKontrol.clProSettings); MyForm.AddNewEvent(BtnKontrol, tbeOnClick, 'KontrolEt'); MyForm.Run; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 111 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
var MyForm: TclForm; DevrePanel: TCLProPanel; ImgBakirTel, DevreGorsel, ImgTahta, ImgCivi, ImgLastik: TCLImage; SecilenMalzeme: String; BtnKontrol: TCLProButton; SuruklenenMalzeme: TCLImage; void SuruklemeBaslatBakirTel; { SuruklenenMalzeme = ImgBakirTel; SecilenMalzeme = 'BakirTel'; } { SuruklenenMalzeme = ImgTahta; SecilenMalzeme = 'Tahta'; } { SuruklenenMalzeme = ImgCivi; SecilenMalzeme = 'Civi'; } void SuruklemeBaslatLastik; { SuruklenenMalzeme = ImgLastik; SecilenMalzeme = 'Lastik'; } void SuruklemeSirasinda; { if (SuruklenenMalzeme <> nil) { SuruklenenMalzeme.Position.X = MyForm.clSenderMousePosX - 25; SuruklenenMalzeme.Position.Y = MyForm.clSenderMousePosY - 25; } } void SuruklemeBitti; { SuruklenenMalzeme = nil; } void KontrolEt; var malzemeMerkezX, malzemeMerkezY: Integer; mesafe: Integer; devreMerkezX, devreMerkezY: Integer; { devreMerkezX = DevreGorsel.Position.X + (DevreGorsel.Width div 2); devreMerkezY = DevreGorsel.Position.Y + (DevreGorsel.Height div 2); if (SecilenMalzeme == '') { ShowMessage('Önce bir malzeme sürükleyip devreye koymalısın.'); exit; } if (SecilenMalzeme == 'BakirTel') { malzemeMerkezX = ImgBakirTel.Position.X + (ImgBakirTel.Width div 2); malzemeMerkezY = ImgBakirTel.Position.Y + (ImgBakirTel.Height div 2); } else if (SecilenMalzeme == 'Tahta') { malzemeMerkezX = ImgTahta.Position.X + (ImgTahta.Width div 2); malzemeMerkezY = ImgTahta.Position.Y + (ImgTahta.Height div 2); } else if (SecilenMalzeme == 'Civi') { malzemeMerkezX = ImgCivi.Position.X + (ImgCivi.Width div 2); malzemeMerkezY = ImgCivi.Position.Y + (ImgCivi.Height div 2); } else if (SecilenMalzeme == 'Lastik') { malzemeMerkezX = ImgLastik.Position.X + (ImgLastik.Width div 2); malzemeMerkezY = ImgLastik.Position.Y + (ImgLastik.Height div 2); } mesafe = Round(Sqrt(Power(devreMerkezX - malzemeMerkezX, 2) + Power(devreMerkezY - malzemeMerkezY, 2))); if (mesafe <= 100) { if ((SecilenMalzeme == 'BakirTel') || (SecilenMalzeme == 'Civi')) { ShowMessage('Tebrikler! Devre tamamlandı ve ampul yandı! 💡'); MyForm.SetImage(DevreGorsel, 'https://resmim.net/cdn/2025/07/21/XXnvec.jpg'); } else { ShowMessage('Devre tamamlanamadı, ampul yanmadı. İletken malzeme kullanmalısın.'); } } else { ShowMessage('Malzemeyi devre alanına daha yakın yerleştirmelisin.'); } } { MyForm = TclForm.Create(Self); SecilenMalzeme = ''; SuruklenenMalzeme = nil; DevrePanel = MyForm.AddNewProPanel(MyForm, 'DevrePanel'); DevrePanel.Align = alClient; DevrePanel.clProSettings.BackgroundColor = clAlphaColor.clWhite; DevrePanel.SetclProSettings(DevrePanel.clProSettings); DevreGorsel = MyForm.AddNewImage(DevrePanel, 'DevreGorsel'); DevreGorsel.Align = alNone; DevreGorsel.Width = 300; DevreGorsel.Height = 200; DevreGorsel.Position.X = 200; DevreGorsel.Position.Y = 150; MyForm.SetImage(DevreGorsel, 'https://resmim.net/cdn/2025/07/21/XXnvec.jpg'); ImgBakirTel = MyForm.AddNewImage(DevrePanel, 'ImgBakirTel'); ImgBakirTel.Align = alNone; ImgBakirTel.Width = 50; ImgBakirTel.Height = 50; ImgBakirTel.Position.X = 20; ImgBakirTel.Position.Y = 100; MyForm.SetImage(ImgBakirTel, 'https://resmim.net/cdn/2025/07/21/XXGRK2.png'); MyForm.AddNewEvent(ImgBakirTel, tbeOnMouseDown, 'SuruklemeBaslatBakirTel'); ImgTahta = MyForm.AddNewImage(DevrePanel, 'ImgTahta'); ImgTahta.Align = alNone; ImgTahta.Width = 50; ImgTahta.Height = 50; ImgTahta.Position.X = 20; ImgTahta.Position.Y = 200; MyForm.SetImage(ImgTahta, 'https://resmim.net/cdn/2025/07/21/XXGhWL.png'); MyForm.AddNewEvent(ImgTahta, tbeOnMouseDown, 'SuruklemeBaslatTahta'); ImgCivi = MyForm.AddNewImage(DevrePanel, 'ImgCivi'); ImgCivi.Align = alNone; ImgCivi.Width = 50; ImgCivi.Height = 50; ImgCivi.Position.X = 20; ImgCivi.Position.Y = 300; MyForm.SetImage(ImgCivi, 'https://resmim.net/cdn/2025/07/21/XXGpL7.png'); MyForm.AddNewEvent(ImgCivi, tbeOnMouseDown, 'SuruklemeBaslatCivi'); ImgLastik = MyForm.AddNewImage(DevrePanel, 'ImgLastik'); ImgLastik.Align = alNone; ImgLastik.Width = 50; ImgLastik.Height = 50; ImgLastik.Position.X = 20; ImgLastik.Position.Y = 400; MyForm.SetImage(ImgLastik, 'https://resmim.net/cdn/2025/07/21/XXaWwI.png'); MyForm.AddNewEvent(ImgLastik, tbeOnMouseDown, 'SuruklemeBaslatLastik'); MyForm.AddNewEvent(DevrePanel, tbeOnMouseMove, 'SuruklemeSirasinda'); MyForm.AddNewEvent(DevrePanel, tbeOnMouseUp, 'SuruklemeBitti'); BtnKontrol = MyForm.AddNewProButton(MyForm, 'BtnKontrol', 'Kontrol Et'); BtnKontrol.Align = alBottom; BtnKontrol.Height = 50; BtnKontrol.clProSettings.FontSize = 18; BtnKontrol.SetclProSettings(BtnKontrol.clProSettings); MyForm.AddNewEvent(BtnKontrol, tbeOnClick, 'KontrolEt'); MyForm.Run; }
Merhaba Raziye Bu şekilde dener misin |
|
![]() |
|
Raziye Nur ![]() Yeni Üye ![]() Kayıt Tarihi: 07 Temmuz 2025 Durum: Aktif Değil Puanlar: 16 |
![]() Yanıt Yaz
Alıntı Raziye Nur
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba hocam şimdi de görsel sağa kaydı mobil üzerinde yaptığım için gözükmüyor
|
|
![]() |
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 |