Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - ScrollBox buton
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

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.

Kapalı KonuScrollBox buton

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
cafer kosker Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 22 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 31
Mesajın Direkt Linki 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ü.
Yukarı Dön
cafer kosker Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 22 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 31
Mesajın Direkt Linki 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İ
Yukarı Dön
cafer kosker Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 22 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 31
Mesajın Direkt Linki 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.
Yukarı Dön
Developer Açılır Kutu İzle
Forum Yöneticisi
Forum Yöneticisi


Kayıt Tarihi: 14 Haziran 2023
Durum: Aktif Değil
Puanlar: 354
Mesajın Direkt Linki 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);
}
Yukarı Dön
cafer kosker Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 22 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 31
Mesajın Direkt Linki Gönderim Zamanı: 08 Ağustos 2024 Saat 11:20
Butona tıklandığında donma sorunu devam ediyor.
Yukarı Dön
cafer kosker Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 22 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 31
Mesajın Direkt Linki 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
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.