Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - butonun içinde panel kullanımı
  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.

butonun içinde panel kullanımı

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


Kayıt Tarihi: 11 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 13
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı zeynep irem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: butonun içinde panel kullanımı
    Gönderim Zamanı: 22 Temmuz 2024 Saat 13:42
  var
  Form1: TclStyleForm;
  btnS: TclProButton;
  vScroll: TCLVertScrollBox;
  BtnCaptionArr, BtnNameArr, btnImgArr: array of String;
  i: Integer;
  trfPanel: TclProPanel;
  Panels: array[0..4] of TclProPanel; 

procedure ShowPanel(index: Integer);
var
  j: Integer;
begin
  // Tüm panelleri gizle
  for j := 0 to 4 do
  begin
    Panels[j].Visible := False;
  end;

  // Belirli paneli görünür yap
  Panels[index].Visible := True;
end;

procedure BtnOnClick(Sender: TObject);
var
  clickedBtn: TClProButton;
  index: Integer;
begin
  clickedBtn := TClProButton(Sender);

  
  for index := 0 to 4 do
  begin
    if clickedBtn.Name = BtnNameArr[index] then
    begin
      ShowPanel(index);
      Break;
    end;
  end;
end;

begin
  Form1 := TclStyleForm.Create(Self);
  Form1.SetFormColor('#ffffff', '', clGNone);
  Form1.clSetCaption('Menu Listesi');


  vScroll := Form1.AddNewVertScrollBox(Form1, 'ScrollBoxY');
  vScroll.Align := alMostTop;
  vScroll.Height := Form1.ClientHeight - 50; 


  BtnNameArr := ['btntkrdg', 'btnpd', 'btnkbk', 'btnhşmrm', 'btnkstnkbb'];
  BtnCaptionArr := ['Tekirdağ Köftesi', 'Tahinli Pide', 'Kabak Tatlısı', 'Höşmerim', 'Kestane Kebabı'];

  for i := 0 to 4 do
  begin
  
    btnS := Form1.AddNewProButton(vScroll, BtnNameArr, BtnCaptionArr);
    btnS.Align := AlTop;
    btnS.Height := 150;
    btnS.Margins.Bottom := 5;
    btnS.clProSettings.IsFill := True;
    btnS.clProSettings.FontSize := 14;
    btnS.clProSettings.FontColor := clAlphaColor.clHexToColor('#000000');
    btnS.clProSettings.TextSettings.Font.Style := [fsBold, fsItalic];
    btnS.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#f2eeed');
    btnS.clProSettings.FontVertAlign := palLeading;
    btnS.clProSettings.FontHorzAlign := palCenter;
    btnS.clProSettings.PictureSource := btnImgArr;
    btnS.clProSettings.PictureAutoFit := True;
    btnS.SetclProSettings(btnS.clProSettings);
    btnS.Name := BtnNameArr
    Form1.AddNewEvent(btnS, tbeOnClick, 'BtnOnClick');

    Panels := TclProPanel.Create(Form1);
    Panels.Parent := Form1;
    Panels.SetBounds(50, 50 + i * 310, 400, 300); // Panelin konumu ve boyutu
    Panels.BorderWidth := 2;
    Panels.BorderColor := clAlphaColor.clHexToColor('#000000');
    Panels.RoundHeight := 10;
    Panels.RoundWidth := 10;
    Panels.Visible := False; 
  end;

  ShowPanel(0);
  Form1.Run;
end;
// kodun ' if clickedBtn.Name = BtnNameArr[index] then' kısmında sebebini çözemediğim bir hata alıyorum (kodda yapmak istediğim şey dizi şeklinde butonlarım var ve bu butonlara basıldığında bir panel açmasını istiyorum.)
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 Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Developer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 22 Temmuz 2024 Saat 14:53
Merhaba Zeynep İrem,
Aşağıdaki kodu inceler misin?
 var
  Form1: TclStyleForm;
  btnS: TclProButton;
  vScroll: TCLVertScrollBox;
  BtnCaptionArr, BtnNameArr, btnImgArr: array of String;
  i: Integer;
  trfPanel: TclProPanel;
  Panels: array[0..4] of TclProPanel; 

procedure ShowPanel(index: Integer);
var
  j: Integer;
begin
  // Tüm panelleri gizle
  for j := 0 to 4 do
  begin
    Panels[j].Visible := False;
  end;

  // Belirli paneli görünür yap
  Panels[index].Visible := True;
end;

procedure BtnOnClick;
var
  clickedBtn: TClProButton;
  index: Integer;
begin
  clickedBtn := TClProButton(Form1.clSender);
  for index := 0 to 4 do
  begin
    if clickedBtn.caption = BtnNameArr[index] then
    begin
      ShowPanel(index);
      Break;
    end;
  end;
end;

begin
  Form1 := TclStyleForm.Create(Self);
  Form1.SetFormColor('#ffffff', '', clGNone);
  Form1.clSetCaption('Menu Listesi');


  vScroll := Form1.AddNewVertScrollBox(Form1, 'ScrollBoxY');
  vScroll.Align := alMostTop;
  vScroll.Height := Form1.ClHeight - 50; 


  BtnNameArr := ['btntkrdg', 'btnpd', 'btnkbk', 'btnhşmrm', 'btnkstnkbb'];
  BtnCaptionArr := ['Tekirdağ Köftesi', 'Tahinli Pide', 'Kabak Tatlısı', 'Höşmerim', 'Kestane Kebabı'];

  for i := 0 to 4 do
  begin
    // .GETITEM methodu TCLARRAYSTRING veya TCLARRAYINTEGER gibi clomosy array objelerinde
    // bunlar normal array
    //btnS := Form1.AddNewProButton(vScroll, ''+BtnNameArr.getItem(i)+'', ''+BtnCaptionArr.getItem(i)+'');
    btnS := Form1.AddNewProButton(vScroll, ''+BtnNameArr+'', ''+BtnCaptionArr+'');
    btnS.Align := AlTop;
    btnS.Height := 150;
    btnS.Margins.Bottom := 5;
    btnS.clProSettings.IsFill := True;
    btnS.clProSettings.FontSize := 14;
    btnS.clProSettings.FontColor := clAlphaColor.clHexToColor('#000000');
    btnS.clProSettings.TextSettings.Font.Style := [fsBold, fsItalic];
    btnS.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#f2eeed');
    btnS.clProSettings.FontVertAlign := palLeading;
    btnS.clProSettings.FontHorzAlign := palCenter;
    btnS.clProSettings.PictureSource := btnImgArr;
    btnS.clProSettings.PictureAutoFit := True;
    btnS.SetclProSettings(btnS.clProSettings);
    btnS.caption := BtnNameArr
    Form1.AddNewEvent(btnS, tbeOnClick, 'BtnOnClick');

    Panels := Form1.AddNewProPanel(Form1, 'panel'+IntToStr(i));
    Panels.clProSettings.BorderWidth := 2;
    Panels.clProSettings.BorderColor := clAlphaColor.clHexToColor('#000000');
    Panels.clProSettings.RoundHeight := 10;
    Panels.clProSettings.RoundWidth := 10;
    Panels.Visible := False; 
    Panels.SetclProSettings(Panels.clProSettings);
  end;

  ShowPanel(0);
  Form1.Run;
end;
Yukarı Dön
zeynep irem Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 11 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 13
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı zeynep irem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 23 Temmuz 2024 Saat 09:06
//btnS := Form1.AddNewProButton(vScroll, ''+BtnNameArr.getItem(i)+'', ''+BtnCaptionArr.getItem(i)+''); 
bu satır yorum satırı olmasına rağmen burda hata veriyor satırı silince bile
 begin
    btnS := Form1.AddNewProButton(vScroll, ''+BtnNameArr+'', ''+BtnCaptionArr+'');
satırındaki begin kısmında hata alıyorum
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 Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Developer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 23 Temmuz 2024 Saat 15:08
Merhaba Zeynep,
Düzeltmeleri yaptık. Kontrol eder misin?
 var
  Form1: TclStyleForm;
  btnS: TclProButton;
  vScroll: TCLVertScrollBox;
  BtnCaptionArr, BtnNameArr, btnImgArr: array of String;
  i: Integer;
  trfPanel: TclProPanel;
  Panels: array[0..4] of TclProPanel; 

procedure ShowPanel(index: Integer);
var
  j: Integer;
begin
  // Tüm panelleri gizle
  for j := 0 to 4 do
  begin
    Panels[j].Visible := False;
  end;

  // Belirli paneli görünür yap
  Panels[index].Visible := True;
end;

procedure BtnOnClick;
var
  clickedBtn: TClProButton;
  index: Integer;
begin
  clickedBtn := TClProButton(Form1.clSender);

  
  for index := 0 to 4 do
  begin
    if clickedBtn.Caption = BtnNameArr[index] then
    begin
      ShowPanel(index);
      Break;
    end;
  end;
end;

begin
  Form1 := TclStyleForm.Create(Self);
  Form1.SetFormColor('#ffffff', '', clGNone);
  Form1.clSetCaption('Menu Listesi');


  vScroll := Form1.AddNewVertScrollBox(Form1, 'ScrollBoxY');
  vScroll.Align := alMostTop;
  vScroll.Height := Form1.ClHeight - 50; 


  BtnNameArr := ['btntkrdg', 'btnpd', 'btnkbk', 'btnhşmrm', 'btnkstnkbb'];
  BtnCaptionArr := ['Tekirdağ Köftesi', 'Tahinli Pide', 'Kabak Tatlısı', 'Höşmerim', 'Kestane Kebabı'];

  for i := 0 to 4 do
  begin
  
    btnS := Form1.AddNewProButton(vScroll, BtnNameArr, BtnCaptionArr);
    btnS.Align := AlTop;
    btnS.Height := 150;
    btnS.Margins.Bottom := 5;
    btnS.clProSettings.IsFill := True;
    btnS.clProSettings.FontSize := 14;
    btnS.clProSettings.FontColor := clAlphaColor.clHexToColor('#000000');
    btnS.clProSettings.TextSettings.Font.Style := [fsBold, fsItalic];
    btnS.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#f2eeed');
    btnS.clProSettings.FontVertAlign := palLeading;
    btnS.clProSettings.FontHorzAlign := palCenter;
    btnS.clProSettings.PictureSource := btnImgArr;
    btnS.clProSettings.PictureAutoFit := True;
    btnS.SetclProSettings(btnS.clProSettings);
    btnS.Caption := BtnNameArr
    Form1.AddNewEvent(btnS, tbeOnClick, 'BtnOnClick');

    Panels := Form1.AddNewProPanel(Form1, 'Panel'+IntToStr(i));
    Panels.clProSettings.BorderWidth := 2;
    Panels.clProSettings.BorderColor := clAlphaColor.clHexToColor('#000000');
    Panels.clProSettings.RoundHeight := 10;
    Panels.clProSettings.RoundWidth := 10;
    Panels.Visible := False; 
  end;

  ShowPanel(0);
  Form1.Run;
end;

Yukarı Dön
zeynep irem Açılır Kutu İzle
Yeni Üye
Yeni Üye


Kayıt Tarihi: 11 Temmuz 2024
Konum: konya
Durum: Aktif Değil
Puanlar: 13
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı zeynep irem Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 23 Temmuz 2024 Saat 16:03
// Maalesef tekrardan aynı yerde hata veriyor.
var
  Form1: TclStyleForm;
  btnS: TclProButton;
  vScroll: TCLVertScrollBox;
  BtnCaptionArr, BtnNameArr, btnImgArr: array of String;
  i: Integer;
  trfPanel: TclProPanel;
  Panels: array[0..4] of TclProPanel;

procedure ShowPanel(index: Integer);
var
  j: Integer;
begin
  // Tüm panelleri gizle
  for j := 0 to 4 do
  begin
    Panels[j].Visible := False;
  end;

  // Belirli paneli görünür yap
  Panels[index].Visible := True;
end;

procedure BtnOnClick;
var
  clickedBtn: TClProButton;
  index: Integer;
begin
  clickedBtn := TClProButton(Form1.clSender);

 
  for index := 0 to 4 do
  begin
    if clickedBtn.Caption = BtnNameArr[index] then
    begin
      ShowPanel(index);
      Break;
    end;
  end;
end;

begin
  Form1 := TclStyleForm.Create(Self);
  Form1.SetFormColor('#ffffff', '', clGNone);
  Form1.clSetCaption('Menu Listesi');


  vScroll := Form1.AddNewVertScrollBox(Form1, 'ScrollBoxY');
  vScroll.Align := alMostTop;
  vScroll.Height := Form1.ClHeight - 50;


  BtnNameArr := ['btntkrdg', 'btnpd', 'btnkbk', 'btnhşmrm', 'btnkstnkbb'];
  BtnCaptionArr := ['Tekirdağ Köftesi', 'Tahinli Pide', 'Kabak Tatlısı', 'Höşmerim', 'Kestane Kebabı'];

  for i := 0 to 4 do
  begin
 
    btnS := Form1.AddNewProButton(vScroll, BtnNameArr, BtnCaptionArr);
    btnS.Align := AlTop;
    btnS.Height := 150;
    btnS.Margins.Bottom := 5;
    btnS.clProSettings.IsFill := True;
    btnS.clProSettings.FontSize := 14;
    btnS.clProSettings.FontColor := clAlphaColor.clHexToColor('#000000');
    btnS.clProSettings.TextSettings.Font.Style := [fsBold, fsItalic];
    btnS.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#f2eeed');
    btnS.clProSettings.FontVertAlign := palLeading;
    btnS.clProSettings.FontHorzAlign := palCenter;
    btnS.clProSettings.PictureSource := btnImgArr;
    btnS.clProSettings.PictureAutoFit := True;
    btnS.SetclProSettings(btnS.clProSettings);
    btnS.Caption := BtnNameArr;
    Form1.AddNewEvent(btnS, tbeOnClick, 'BtnOnClick');

    Panels := Form1.AddNewProPanel(Form1, 'Panel'+IntToStr(i));
    Panels.clProSettings.BorderWidth := 2;
    Panels.clProSettings.BorderColor := clAlphaColor.clHexToColor('#000000');
    Panels.clProSettings.RoundHeight := 10;
    Panels.clProSettings.RoundWidth := 10;
    Panels.Visible := False;
  end;

  ShowPanel(0);
  Form1.Run;
end;
--------------------------------------------------------------------
TclStyleForm
RUNTIME ERROR
Invalid variant type conversion when evaluating instruction CallProc ($FFFFFFFF,$3,$1BC0EA8,$BD0EFE0,'AddNewProButton').
Stack content is: [(unknown),Null,0,Null...].
Source position: 64,70
Position: 64, 70
Clomosy Build : 20240709.111531

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 Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Developer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 01 Ağustos 2024 Saat 11:07
Merhaba Zeynep,
Hatan hala devam ediyor mu?
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.