![]() |
| 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. |
Dinamik olarak VerticalScroll yerleştrime hatası |
Yanıt Yaz
|
| Yazar | |
M-Guney
Deneyimli Üye
Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 79 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: Dinamik olarak VerticalScroll yerleştrime hatasıGönderim Zamanı: 5 Saat 6 Dakika Önce Saat 15:37 |
|
Dinamik olarak vertical scrolla yerleştrime işlemi yapmak istiyorum fakat yerleştirirken arada vertical scroll farklı konuma yerleştiriyor örnek vermem gerekirse 6 dan sonra 7 gelmesi gerekirken 8 geliyor.
void OrdersPnlV(FCount: integer;FArr :TCLJSONArray; FJson : String) // Scrolbar içinde oluşturduğumuz dinamik panaller ve öğeleri var I:integer; { Clomosy.setClipBoard(FJson); //Clomosy.setClipBoard(FJson); //ShowMessage('FCount: '+ IntToStr(FCount)+ ' table_name: '+ Clomosy.CLParseJSON(FJson, IntToStr(0) + '.table_name')) for (I = 0 to FCount - 1) { // HERE //ShowMessage('FCount: '+ IntToStr(FCount)+ ' table_name: '+ Clomosy.CLParseJSON(FJson, IntToStr(I) + '.table_name')) //ShowMessage('Array Item :'+FArr.GetItem(I).GetValueByPath('order_time').AsString +'FJson: '+Clomosy.CLParseJSON(FJson, IntToStr(I) + '.order_time')); OrdersPnl = MainForm.addnewpropanel(vScroll,'OrdersPnl'+IntToStr(I)); OrdersPnl.Align = alMostTop; //OrdersPnl.Width = 50; OrdersPnl.Width =(MainForm.clWidth*0.127); //OrdersPnl.Height = 102; OrdersPnl.Height = (MainForm.clHeight*0.1216); SetObjectMargins(OrdersPnl,7); OrdersPnl.clProSettings.BorderWidth = 3; OrdersPnl.clProSettings.RoundHeight=5; OrdersPnl.clProSettings.RoundWidth=5; OrdersPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e1e1e'); OrdersPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a'); OrdersPnl.SetclProSettings(OrdersPnl.clProSettings); TableLbl = MainForm.AddNewProLabel(OrdersPnl,'TableLbl'+ IntToStr(I),Clomosy.CLParseJSON(FJson, IntToStr(I) + '.table_name'));// HERE TableLbl.Align = alTop; TableLbl.Width = (MainForm.clWidth * 0.3817); //150 TableLbl.Height = (MainForm.clHeight * 0.0238); //20 TableLbl.Margins.Left= (MainForm.clWidth*-68.70)/100; //-270 TableLbl.Margins.Top= (MainForm.clHeight*0.834)/100; //7 TableLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); TableLbl.clProSettings.FontSize = 20; TableLbl.clProSettings.FontVertAlign = palcenter; TableLbl.clProSettings.FontHorzAlign = palcenter; TableLbl.clProSettings.TextSettings.Font.Style = [fsBold]; TableLbl.SetclProSettings(TableLbl.clProSettings); ClockPnl = MainForm.addnewpropanel(OrdersPnl,'ClockPnl'+IntToStr(I)); ClockPnl.Align = alCenter; ClockPnl.Width = (MainForm.clWidth * 0.3817); //150 ClockPnl.Height = (MainForm.clHeight * 0.0358); //30 ClockPnl.Margins.Bottom = (MainForm.clHeight * 0.0417); ClockPnl.Margins.Left = (MainForm.clWidth * -0.4453); //-175 ClockPnl.clProSettings.BorderWidth = 1; //ClockPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a'); ClockPnl.SetclProSettings(ClockPnl.clProSettings); StatePnl = MainForm.addnewpropanel(OrdersPnl,'StatePnl'+IntToStr(I)); StatePnl.Align = alCenter; StatePnl.Width = (MainForm.clWidth * 0.4707); //185 StatePnl.Height = (MainForm.clHeight * 0.0358); //30 StatePnl.Margins.Bottom = (MainForm.clHeight * 0.0179); //15 StatePnl.Margins.Left = (MainForm.clWidth * -0.3511); //-138 StatePnl.Margins.Top = (MainForm.clHeight * 0.0477); //40 StatePnl.clProSettings.BorderWidth = 1; //StatePnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#3a3a3a'); StatePnl.SetclProSettings(StatePnl.clProSettings); ClockDisplayLbl = MainForm.AddNewProLabel(ClockPnl,'ClockDisplayLbl'+IntToStr(I),'SAAT:'); ClockDisplayLbl.Align = alLeft; ClockDisplayLbl.Width = (MainForm.clWidth * 0.1272); //50 ClockDisplayLbl.Height = (MainForm.clHeight * 0.0238); //20 ClockDisplayLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); ClockDisplayLbl.clProSettings.FontSize = 14; ClockDisplayLbl.clProSettings.FontVertAlign = palcenter; ClockDisplayLbl.clProSettings.FontHorzAlign = palcenter; ClockDisplayLbl.clProSettings.TextSettings.Font.Style = [fsBold]; ClockDisplayLbl.SetclProSettings(ClockDisplayLbl.clProSettings); ClockLbl = MainForm.AddNewProLabel(ClockPnl,'ClockLbl'+IntToStr(I), Clomosy.CLParseJSON(FJson, IntToStr(I) + '.order_time'));// HERE ClockLbl.Align = alLeft; ClockLbl.Width = (MainForm.clWidth * 0.1272); //50 ClockLbl.Height = (MainForm.clHeight * 0.0358); //30 ClockLbl.Margins.Left = (MainForm.clWidth * -0.0051); //-2 ClockLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); ClockLbl.clProSettings.FontSize = 14; ClockLbl.clProSettings.FontVertAlign = palcenter; ClockLbl.clProSettings.FontHorzAlign = palcenter; ClockLbl.clProSettings.TextSettings.Font.Style = [fsBold]; ClockLbl.SetclProSettings(ClockLbl.clProSettings); StateLbl = MainForm.AddNewProLabel(StatePnl,'StateLbl'+IntToStr(I),'Durum:'); StateLbl.Align = alLeft; StateLbl.Width = (MainForm.clWidth * 0.1145); //45 StateLbl.Height = (MainForm.clHeight * 0.0238); //20 StateLbl.Margins.Left = (MainForm.clWidth * 0.0127); //5 StateLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); StateLbl.clProSettings.FontSize = 14; StateLbl.clProSettings.FontVertAlign = palcenter; StateLbl.clProSettings.FontHorzAlign = palcenter; StateLbl.clProSettings.TextSettings.Font.Style = [fsBold]; StateLbl.SetclProSettings(StateLbl.clProSettings); StateDisplayLbl = MainForm.AddNewProLabel(StatePnl,'StateDisplayLbl'+IntToStr(I), Clomosy.CLParseJSON(FJson, IntToStr(I) + '.status')); StateDisplayLbl.Align = alLeft; StateDisplayLbl.Width = (MainForm.clWidth * 0.3308); //130 StateDisplayLbl.Height = (MainForm.clHeight * 0.0238); //20 StateDisplayLbl.Margins.Left = (MainForm.clWidth * -0.0254); //-10 StateDisplayLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); StateDisplayLbl.clProSettings.FontSize = 14; StateDisplayLbl.clProSettings.FontVertAlign = palcenter; StateDisplayLbl.clProSettings.FontHorzAlign = palcenter; StateDisplayLbl.clProSettings.TextSettings.Font.Style = [fsBold]; StateDisplayLbl.SetclProSettings(StateDisplayLbl.clProSettings); DetailsBtn= MainForm.AddNewProButton(OrdersPnl, 'DetailsBtn'+IntToStr(I), 'DETAYLAR'); DetailsBtn.clTagStr = 'DetailsBtn_'+IntToStr(I); DetailsBtn.Align = alCenter; DetailsBtn.Width = (MainForm.clWidth*0.3817); //150 DetailsBtn.Height = (MainForm.clHeight*0.1144); //96 DetailsBtn.Margins.Bottom= (MainForm.clHeight*0.03442); //27.2 DetailsBtn.Margins.Left=(MainForm.clWidth*51.65)/100; //203 DetailsBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); DetailsBtn.clProSettings.FontSize = 16; DetailsBtn.clProSettings.FontVertAlign = palcenter; DetailsBtn.clProSettings.FontHorzAlign = palcenter; DetailsBtn.clProSettings.TextSettings.Font.Style = [fsBold]; DetailsBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4caf50'); DetailsBtn.clProSettings.RoundWidth = 5; DetailsBtn.clProSettings.RoundHeight = 5; MainForm.AddNewEvent(DetailsBtn,tbeOnClick,'gotodetails'); DetailsBtn.SetclProSettings(DetailsBtn.clProSettings); } } https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
Örnek Json kodum [{"order_id":21,"table_name":"K1","status":"paid","order_time":"12:50"},{"order_id":19,"table_name":"K1","status":"paid","order_time":"12:45"},{"order_id":16,"table_name":"K1","status":"paid","order_time":"12:40"},{"order_id":15,"table_name":"K1","status":"paid","order_time":"12:40"},{"order_id":14,"table_name":"K10","status":"paid","order_time":"18:48"},{"order_id":13,"table_name":"K10","status":"paid","order_time":"18:48"},{"order_id":12,"table_name":"K10","status":"pending","order_time":"18:46"},{"order_id":11,"table_name":"K10","status":"pending","order_time":"17:40"},{"order_id":10,"table_name":"K1","status":"pending","order_time":"17:40"},{"order_id":9,"table_name":"K1","status":"pending","order_time":"17:24"},{"order_id":8,"table_name":"K1","status":"pending","order_time":"17:23"},{"order_id":7,"table_name":"K1","status":"pending","order_time":"16:42"},{"order_id":6,"table_name":"K1","status":"paid","order_time":"16:35"},{"order_id":5,"table_name":"K1","status":"paid","order_time":"16:29"},{"order_id":4,"table_name":"K1","status":"pending","order_time":"16:26"},{"order_id":3,"table_name":"K1","status":"pending","order_time":"20:38"},{"order_id":2,"table_name":"K1","status":"paid","order_time":"20:37"},{"order_id":1,"table_name":"K1","status":"paid","order_time":"20:37"}] |
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 391 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 4 Saat 30 Dakika Önce Saat 16:13 |
|
Çözüm olarak önce mevcut componentleri temizleyip, sonra yeniden oluştursak.
Sanırım aynı isimde component oluşturuluyor. ve isimleri çakışıyor. Index sıralamasını da 0'dan başlayalım. void ClearScrollChildren Try { if (vScroll == nil) { Exit; } for (i = 0 to 99) { // Ana panel'i kaldır existingPanel = MainForm.FindComponent('OrdersPnl' + IntToStr(i)) as TclProPanel; if (existingPanel <> nil) . . . . hepsini temizledikten sonra OrdersPnlV prosedürine ClearScrollChildren çağrılaım. https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28on72PdrCzSjY4U6VaAw1EQ==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">
Düzenleyen Emr.Erkmn - 4 Saat 29 Dakika Önce Saat 16:14 |
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 391 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 4 Saat 29 Dakika Önce Saat 16:14 |
|
Deneme sonrası dönüş yapar mısın?https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|
|
![]() |
|
M-Guney
Deneyimli Üye
Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 79 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 3 Saat 29 Dakika Önce Saat 17:14 |
|
Teşşekkürler kaldırma işlemini nasıl yapmam gerekiyor o kısmı tam analayamadım. Kaldırmak için hangi fonksiyonu kullanmam gerekiyor.https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 391 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 2 Saat 52 Dakika Önce Saat 17:51 |
|
https://www.docs.clomosy.com/index.php?title=ClFindComponent kullanarak kaldırabilirsin
void ClearScrollBoxChildrenClomosy(scrollBox: TCLVertScrollBox; pattern: String; maxCount: Integer) var i: Integer; comp: TCLComponent; compName: String; { Try if (scrollBox == nil) { Exit; } for (i = 0 to (maxCount - 1)) { Try compName = pattern + IntToStr(i); comp = scrollBox.clFindComponent(compName); if (comp <> nil) { comp.Free; comp = nil; } } except } } except ShowMessage('ClearScrollBoxChildrenClomosy hatası: ' + LastExceptionMessage); } } https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
bu şekil de kaldırmayı deneyelim sonra tekrar oluşturalım |
|
![]() |
|
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 |