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 |
Yazar | |
zeynep irem
Yeni Üye Kayıt Tarihi: 11 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 13 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı zeynep irem
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
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ı']; btnImgArr := ['https://www.yemektarifi.com/wp-content/uploads/2018/10/Tekirda%C4%9F-K%C3%B6ftesi-Tarifi-1.jpg', 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.)
|
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
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ı']; btnImgArr := ['https://www.yemektarifi.com/wp-content/uploads/2018/10/Tekirda%C4%9F-K%C3%B6ftesi-Tarifi-1.jpg', 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; |
|
zeynep irem
Yeni Üye Kayıt Tarihi: 11 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 13 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı zeynep irem
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
//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 |
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
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ı']; btnImgArr := ['https://www.yemektarifi.com/wp-content/uploads/2018/10/Tekirda%C4%9F-K%C3%B6ftesi-Tarifi-1.jpg', 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; |
|
zeynep irem
Yeni Üye Kayıt Tarihi: 11 Temmuz 2024 Konum: konya Durum: Aktif Değil Puanlar: 13 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı zeynep irem
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
// 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ı']; btnImgArr := ['https://www.yemektarifi.com/wp-content/uploads/2018/10/Tekirda%C4%9F-K%C3%B6ftesi-Tarifi-1.jpg', 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 |
|
Developer
Forum Yöneticisi Kayıt Tarihi: 14 Haziran 2023 Durum: Aktif Değil Puanlar: 354 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Developer
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
|
Merhaba Zeynep,
Hatan hala devam ediyor mu?
|
|
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 |