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. |
ScrollBox buton |
Yanıt Yaz |
Yazar | |
cafer kosker
Yeni Üye Kayıt Tarihi: 22 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 31 |
Konu: ScrollBox buton Gönderim Zamanı: 07 Ağustos 2024 Saat 21:53 |
void CategoryButtonClick; { LoadIlanlarFromDatabase(TclProButton(IlanForm.Clsender).Hint); } scroolboxtaki butonlar a tıklandığında mesela denize sıfır butonuna tıkladığımda sql veritabanında Kategorisi Denize sıfır olan tüm ilanları getirsin istiyorum (Bunu categoryfilter la yapıyorum fakat CategoryButtonClick VOİD İ hata veriyor) normalde hata vermiyor uygulamaya girdikten sonra butona basınca uygulama donuyordu şimdi o kodu sildim başka bir kod yazdım syntax hatası veriyor uygulamaya hiç girmiyor. (https://i.imgur.com/PLIb7C7.jpeg) Çalışır haldeki görüntüsü.
|
|
cafer kosker
Yeni Üye Kayıt Tarihi: 22 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 31 |
Gönderim Zamanı: 07 Ağustos 2024 Saat 21:55 |
var IlanForm: TclForm; IlansearchEdit: TclProSearchEdit; IlansearchPanel, TopPanel, HorzPanel: TclProPanel; CategoryScrollBox: TclHorzScrollBox; ButtonPanel: TclProPanel; CategoryButton: TclProButton; CategoryLabel: TclProLabel; counter: Integer; ImageURLs: array[0..11] of string; CategoryNames: array[0..11] of string; IlanListView : TClProListView; IlanDesignerPanel : TClProListViewDesignerPanel; IlanPicture : TclProImage; IlanName,IlanAdres,IlanKonum,IlanPrice,IlanTarih,IlanPuan,IlanLabelGece : TclProLabel; IlanQuery: TClSqlQuery; ResimPanel : TclProPanel; void CreateIlanListView; { IlanListView = IlanForm.AddNewProListView(IlanForm, 'IlanListView'); IlanListView.Height = IlanForm.clHeight - TopPanel.Height - HorzPanel.Height; IlanListView.Width = 500; IlanListView.Align = alClient; IlanListView.clProSettings.BorderColor = clAlphaColor.clHexToColor('#070807'); IlanListView.ListType = 'Cart'; IlanListView.clProSettings.ItemSpace = 50; IlanListView.clProSettings.ItemHeight = 400; IlanListView.clProSettings.ItemWidth = 800; IlanListView.clProSettings.BorderWidth = 1; IlanListView.SetclProSettings(IlanListView.clProSettings); IlansearchEdit.TargetListView = IlanListView; } void CreateListDesignerPanel; { IlanDesignerPanel = IlanForm.AddNewProListViewDesignerPanel(IlanListView, 'IlanDesignerPanel'); IlanDesignerPanel.Align = alClient; IlanDesignerPanel.Height = 400; IlanDesignerPanel.Width = 700; IlanDesignerPanel.Margins.Top = 5; IlanDesignerPanel.Margins.Bottom = 5; IlanDesignerPanel.Margins.Right = 5; IlanDesignerPanel.Margins.Left = 5; IlanDesignerPanel.clProSettings.RoundHeight = 10; IlanDesignerPanel.clProSettings.RoundWidth = 10; IlanListView.SetDesignerPanel(IlanDesignerPanel); IlanDesignerPanel.SetclProSettings(IlanDesignerPanel.clProSettings); } void ResimEkle; { ResimPanel = IlanForm.AddNewProPanel(IlanDesignerPanel, 'ResimPanel'); ResimPanel.Align = alClient; ResimPanel.Width = IlanDesignerPanel.Width; ResimPanel.Height = 100; ResimPanel.Margins.Top = 0; ResimPanel.Margins.Bottom = 0; ResimPanel.Margins.Left = 0; ResimPanel.Margins.Right = 0; ResimPanel.clProSettings.RoundHeight = 10; ResimPanel.clProSettings.RoundWidth = 10; ResimPanel.clProSettings.IsTransparent = False; ResimPanel.SetclProSettings(ResimPanel.clProSettings); IlanPicture = IlanForm.AddNewProImage(ResimPanel, 'IlanPicture'); IlanDesignerPanel.AddPanelObject(IlanPicture, clImage1); IlanPicture.Align = alClient; IlanPicture.clProSettings.IsFill = True; IlanPicture.clProSettings.RoundHeight = 10; IlanPicture.clProSettings.RoundWidth = 10; IlanPicture.clProSettings.IsRound = True; IlanPicture.Height = ResimPanel.Height; IlanPicture.Width = ResimPanel.Width; IlanPicture.clProSettings.PictureAutoFit = True; IlanPicture.clProSettings.PictureStretch = True; IlanPicture.SetclProSettings(IlanPicture.clProSettings); } void TarihEkle; { IlanTarih = IlanForm.AddNewProLabel(IlanDesignerPanel, 'IlanTarih', 'Tarih'); IlanDesignerPanel.AddPanelObject(IlanTarih, clText3); IlanTarih.Align = alBottom; IlanTarih.Margins.Bottom =5; IlanTarih.Properties.AutoSize = True; IlanTarih.clProSettings.FontSize = 14; IlanTarih.SetclProSettings(IlanTarih.clProSettings); } void KonumEkle; { IlanKonum = IlanForm.AddNewProLabel(IlanDesignerPanel, 'IlanKonum', 'Konum'); IlanDesignerPanel.AddPanelObject(IlanKonum, clText2); IlanKonum.Align = alBottom; IlanKonum.Properties.AutoSize = True; IlanKonum.clProSettings.FontSize = 14; IlanKonum.Margins.Bottom = 5; IlanKonum.SetclProSettings(IlanKonum.clProSettings); } void AdresEkle; { IlanAdres = IlanForm.AddNewProLabel(IlanDesignerPanel, 'IlanAdres', 'Adres'); IlanDesignerPanel.AddPanelObject(IlanAdres, clText); IlanAdres.Align = alBottom; IlanAdres.Margins.Bottom =5; IlanAdres.Properties.AutoSize = True; IlanAdres.clProSettings.FontSize = 14; IlanAdres.SetclProSettings(IlanAdres.clProSettings); } void FiyatEkle; { IlanPrice = IlanForm.AddNewProLabel(IlanDesignerPanel, 'IlanPrice', 'Fiyat'); IlanDesignerPanel.AddPanelObject(IlanPrice, clText4); IlanPrice.Align = alMostBottom; IlanPrice.Properties.AutoSize = True; IlanPrice.Margins.Bottom =5; IlanPrice.clProSettings.FontSize = 14; IlanPrice.clProSettings.TextSettings.Font.Style = [fsBold]; IlanPrice.SetclProSettings(IlanPrice.clProSettings); } void PuanEkle; { IlanPuan = IlanForm.AddNewProLabel(IlanDesignerPanel, 'IlanPuan', 'Puan'); IlanDesignerPanel.AddPanelObject(IlanPuan, clText5); IlanPuan.Align = alBottom; IlanPuan.Margins.Top = 5; IlanPuan.Properties.AutoSize = True; IlanPuan.clProSettings.FontSize = 14; IlanPuan.SetclProSettings(IlanPuan.clProSettings); } void LoadIlanlarFromDatabase(CategoryFilter: string); { try IlanQuery.Connection = Clomosy.DBSQLServerConnection; if (CategoryFilter == '') { IlanQuery.SQL.Text = 'SELECT ResimURL as IlanPicture, Adres as IlanAdres, Konum as IlanKonum, Tarih as IlanTarih, CONCAT(Fiyat, '' TL gece'') as IlanPrice, CONCAT(Puan, ''/5'') as IlanPuan FROM Ilanlar'; } else { IlanQuery.SQL.Text = 'SELECT ResimURL as IlanPicture, Adres as IlanAdres, Konum as IlanKonum, Tarih as IlanTarih, CONCAT(Fiyat, '' TL gece'') as IlanPrice, CONCAT(Puan, ''/5'') as IlanPuan FROM Ilanlar WHERE Kategori = ' + QuotedStr(CategoryFilter); } IlanQuery.Open; if (IlanQuery.Found) { IlanListView.ClLoadProListViewDataFromDataset(IlanQuery); } else { ShowMessage('Kayıt Bulunamadı!'); } finally IlanQuery.Close; IlanQuery.Free; } void CategoryButtonClick; { LoadIlanlarFromDatabase(TclProButton(IlanForm.Clsender).Hint); } { IlanForm = TclForm.Create(Self); IlanQuery = TClSqlQuery.Create(nil); Clomosy.DBSQLServerConnect('SQL Server', '192.168.68.106', 'SA', 'reallyStrongPwd123', 'Clomosy', 1433); TopPanel = IlanForm.AddNewProPanel(IlanForm, 'TopPanel'); TopPanel.Align = alTop; TopPanel.Height = 150; TopPanel.Width = 300; TopPanel.Margins.Top = 10; TopPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#070807'); TopPanel.clProSettings.BorderWidth = 1; TopPanel.clProSettings.IsTransparent = True; TopPanel.SetclProSettings(TopPanel.clProSettings); // Arama Paneli oluşturma IlansearchPanel = IlanForm.AddNewProPanel(TopPanel, 'IlansearchPanel'); IlansearchPanel.Align = alTop; IlansearchPanel.Height = 60; IlansearchPanel.Width = 300; IlansearchPanel.Margins.Left = 20; IlansearchPanel.Margins.Right = 20; IlansearchPanel.Margins.Top = 10; IlansearchPanel.clProSettings.RoundHeight = 30; IlansearchPanel.clProSettings.RoundWidth = 30; IlansearchPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#070807'); IlansearchPanel.clProSettings.BorderWidth = 1; IlansearchPanel.clProSettings.IsTransparent = True; IlansearchPanel.SetclProSettings(IlansearchPanel.clProSettings); // Arama Edit alanı oluşturma IlansearchEdit = IlanForm.AddNewProSearchEdit(IlansearchPanel, 'IlansearchEdit', 'Nereye gitmek istiyorsunuz?'); IlansearchEdit.Align = alClient; IlansearchEdit.Margins.Top = 15; IlansearchEdit.Margins.Left = 15; IlansearchEdit.Margins.Right = 15; IlansearchEdit.Margins.Bottom = 10; IlansearchEdit.Height = 35; IlansearchEdit.SetclProSettings(IlansearchEdit.clProSettings); HorzPanel = IlanForm.AddNewProPanel(TopPanel, 'HorzPanel'); HorzPanel.Align = alTop; HorzPanel.Height = 80; // Yüksekliği arttırarak buton ve etiket için alan bırakıyoruz HorzPanel.Width = 70; HorzPanel.Margins.Top = 10; HorzPanel.clProSettings.IsTransparent = True; HorzPanel.SetclProSettings(HorzPanel.clProSettings); // HorizontalScrollBox oluşturma CategoryScrollBox = IlanForm.AddNewHorzScrollBox(HorzPanel, 'CategoryScrollBox'); CategoryScrollBox.Align = alClient; CategoryScrollBox.Height = 100; // Yüksekliği arttırarak butonun altına label eklemek için alan bırakıyoruz CategoryScrollBox.Width = 300; // Resim URL'lerinin ve Kategori İsimlerinin tanımlanması ImageURLs[0] = 'https://i.imgur.com/rQOm9Uv.png'; ImageURLs[1] = 'https://i.imgur.com/mOSXbt0.png'; ImageURLs[2] = 'https://i.imgur.com/i1YL3D3.png'; ImageURLs[3] = 'https://i.imgur.com/XGpNyoc.png'; ImageURLs[4] = 'https://i.imgur.com/rrL8Yhn.png'; ImageURLs[5] = 'https://i.imgur.com/C2wBjUE.png'; ImageURLs[6] = 'https://i.imgur.com/bkxANR8.png'; ImageURLs[7] = 'https://i.imgur.com/QZ8vfPg.png'; ImageURLs[8] = 'https://i.imgur.com/PSbHzMr.png'; ImageURLs[9] = 'https://i.imgur.com/0Otuk1o.png'; ImageURLs[10] = 'https://i.imgur.com/FY0fFLU.png'; ImageURLs[11] = 'https://i.imgur.com/jMvyQaW.png'; CategoryNames[0] = 'Efsaneler'; CategoryNames[1] = 'Muhteşem havuzlar'; CategoryNames[2] = 'Denize sıfır'; CategoryNames[3] = 'Üçgen evler'; CategoryNames[4] = 'Tasarım'; CategoryNames[5] = 'Kırsal'; CategoryNames[6] = 'Güzel manzaralar'; CategoryNames[7] = 'Küçük evler'; CategoryNames[8] = 'Tekneler'; CategoryNames[9] = 'Şatolar'; CategoryNames[10] = 'Göl yakınında'; CategoryNames[11] = 'Olağanüstü'; for counter = 0 to 11 { // Panel oluşturma ButtonPanel = IlanForm.AddNewProPanel(CategoryScrollBox, 'ButtonPanel' + IntToStr(counter)); ButtonPanel.Align = alLeft; ButtonPanel.Margins.Right = 5; ButtonPanel.Margins.Top = 2; ButtonPanel.Margins.Bottom = 2; ButtonPanel.Width = 90; ButtonPanel.Height = 180; ButtonPanel.clProSettings.IsTransparent = True; ButtonPanel.SetclProSettings(ButtonPanel.clProSettings); // Buton oluşturma CategoryButton = IlanForm.AddNewProButton(ButtonPanel, 'CategoryButton' + IntToStr(counter), ''); CategoryButton.Align = alTop; CategoryButton.Width = 38; CategoryButton.Height = 38; CategoryButton.clProSettings.PictureSource = ImageURLs[counter]; CategoryButton.clProSettings.PictureAutoFit = True; CategoryButton.clProSettings.PictureStretch = False; CategoryButton.clProSettings.IsTransparent = True; CategoryButton.Padding.Top = 30; CategoryButton.Padding.Right = 30; CategoryButton.Padding.Bottom = 30; CategoryButton.Padding.Left = 30; CategoryButton.Hint = CategoryNames[counter]; CategoryButton.SetclProSettings(CategoryButton.clProSettings); IlanForm.AddNewEvent(CategoryButton, tbeOnClick, 'CategoryButtonClick'); // Label oluşturma CategoryLabel = IlanForm.AddNewProLabel(ButtonPanel, 'CategoryLabel' + IntToStr(counter), CategoryNames[counter]); CategoryLabel.Align = alBottom; CategoryLabel.Margins.Top = 20; CategoryLabel.Margins.Bottom = 10; CategoryLabel.Width = 100; CategoryLabel.Height = 20; CategoryLabel.clProSettings.FontSize = 10; CategoryLabel.clProSettings.IsTransparent = True; CategoryLabel.clProSettings.FontHorzAlign = palCenter; CategoryLabel.Padding.Top = 2; // Üst padding CategoryLabel.Padding.Right = 2; // Sağ padding CategoryLabel.Padding.Bottom = 2; // Alt padding CategoryLabel.Padding.Left = 2; // Sol padding CategoryLabel.SetclProSettings(CategoryLabel.clProSettings); } CreateIlanListView; CreateListDesignerPanel; ResimEkle; AdresEkle; KonumEkle; TarihEkle; FiyatEkle; PuanEkle; LoadIlanlarFromDatabase(''); // Formu çalıştırma IlanForm.Run; } KODUN TAM HALİ
|
|
cafer kosker
Yeni Üye Kayıt Tarihi: 22 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 31 |
Gönderim Zamanı: 08 Ağustos 2024 Saat 10:15 |
void CategoryButtonClick(Sender : Tobject); { try LoadIlanlarFromDatabase(TclProButton(IlanForm.Clsender).Hint); except ShowMessage('Exception Class : ' + LastExceptionClassName + 'Exception Message : ' + LastExceptionMessage); } } Syntax hatasını çözdüm fakat uygulamaya girip herhangi bir butona tıkladıktan sonra uygulama donuyor.
|
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Gönderim Zamanı: 08 Ağustos 2024 Saat 10:22 |
Merhaba Cafer,
Aşağıdaki kod ile değiştirir misin:
void CategoryButtonClick; var btn:TclProButton; { btn = TclProButton(IlanForm.Clsender); LoadIlanlarFromDatabase(btn.hint); } |
|
cafer kosker
Yeni Üye Kayıt Tarihi: 22 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 31 |
Gönderim Zamanı: 08 Ağustos 2024 Saat 11:20 |
Butona tıklandığında donma sorunu devam ediyor.
|
|
cafer kosker
Yeni Üye Kayıt Tarihi: 22 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 31 |
Gönderim Zamanı: 08 Ağustos 2024 Saat 11:29 |
void LoadIlanlarFromDatabase(CategoryFilter: string); { try IlanQuery.Connection = Clomosy.DBSQLServerConnection; if (CategoryFilter == '') { IlanQuery.SQL.Text = 'SELECT ResimURL as IlanPicture, Adres as IlanAdres, Konum as IlanKonum, Tarih as IlanTarih, CONCAT(Fiyat, '' TL gece'') as IlanPrice, CONCAT(Puan, ''/5'') as IlanPuan FROM Ilanlar'; } else { IlanQuery.SQL.Text = 'SELECT ResimURL as IlanPicture, Adres as IlanAdres, Konum as IlanKonum, Tarih as IlanTarih, CONCAT(Fiyat, '' TL gece'') as IlanPrice, CONCAT(Puan, ''/5'') as IlanPuan FROM Ilanlar WHERE Kategori = ' + QuotedStr(CategoryFilter); } IlanQuery.Open; if (IlanQuery.Found) { IlanListView.ClLoadProListViewDataFromDataset(IlanQuery); } else { ShowMessage('Kayıt Bulunamadı!'); } finally IlanQuery.Close; //IlanQuery.Free; (Hata free den dolayı runtime error veriyormuş sildikten sonra çözüldü.) } } void CategoryButtonClick; { CategoryButton = TclProButton(IlanForm.Clsender); LoadIlanlarFromDatabase(CategoryButton.Hint); } Hata çözüldü çok teşekkürler
|
|
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 |