Sayfayı Yazdır | Pencereyi Kapat

Alt Satıra Geçme

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1031
Tarih: 06 Haziran 2025 Saat 16:57
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Alt Satıra Geçme
Mesajı Yazan: Mehmet Onur Tuzcu
Konu: Alt Satıra Geçme
Mesaj Tarihi: 02 Haziran 2025 Saat 22:00
var   
  Form1: TclForm;
  ListView1: TClProListView;
  DesignerPanel1: TClProListViewDesignerPanel;
  taskName: TclProLabel;
  taskImg: TclProImage;
  Label1: TClProLabel;
  ProPanel1: TClProPanel;
  Label2: TClProLabel;
  BackBtn: TClProButton;
  AnimalImg: TClProImage;
  TitleLabel: TClProLabel;
  InfoPanel: TClProPanel;

// Bilgi panelini oluştur
void CreateInfoPanel;
{
  ProPanel1 = Form1.AddNewProPanel(Form1, 'ProPanel1');
  ProPanel1.Align = alClient;
  ProPanel1.Visible = False;
  ProPanel1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#4CAF50');
  ProPanel1.clProSettings.RoundHeight = 15;
  ProPanel1.clProSettings.RoundWidth = 15;
  ProPanel1.clProSettings.BorderWidth = 2;
  ProPanel1.clProSettings.IsFill = True; 
  ProPanel1.clProSettings.IsRound = True;
  ProPanel1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  ProPanel1.SetclProSettings(ProPanel1.clProSettings);
  
  // Geri butonu
  BackBtn = Form1.AddNewProButton(ProPanel1, 'BackBtn', 'X');
  BackBtn.Align = alTop;
  BackBtn.Height = 40;
  BackBtn.Width = 40;
  BackBtn.Margins.Top = 10;
  BackBtn.Margins.Right = 10;
  BackBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FF0000');
  BackBtn.clProSettings.FontSize = 20;
  BackBtn.clProSettings.FontVertAlign = palcenter;
  BackBtn.clProSettings.FontHorzAlign = palcenter;
  BackBtn.clProSettings.IsRound = True;
  BackBtn.clProSettings.RoundHeight = 20;
  BackBtn.clProSettings.RoundWidth = 20;
  BackBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  BackBtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FF0000');
  BackBtn.clProSettings.BorderWidth = 2;
  BackBtn.SetclProSettings(BackBtn.clProSettings);
  Form1.AddNewEvent(BackBtn, tbeOnClick, 'ClosePanel');
  
  // Başlık etiketi
  TitleLabel = Form1.AddNewProLabel(ProPanel1, 'TitleLabel', '');
  TitleLabel.Align = alTop;
  TitleLabel.Height = 60;
  TitleLabel.Margins.Top = 60;
  TitleLabel.Margins.Left = 20;
  TitleLabel.Margins.Right = 20;
  TitleLabel.clProSettings.AutoSize = True;
  TitleLabel.clProSettings.WordWrap = True;
  TitleLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#4CAF50');
  TitleLabel.clProSettings.FontSize = 28;
  TitleLabel.clProSettings.FontVertAlign = palcenter;
  TitleLabel.clProSettings.FontHorzAlign = palcenter;
  TitleLabel.clProSettings.TextSettings.Font.Style = [fsBold];
  TitleLabel.clProSettings.IsFill = True;
  TitleLabel.SetclProSettings(TitleLabel.clProSettings);
  
  // Hayvan resmi
  AnimalImg = Form1.AddNewProImage(ProPanel1, 'AnimalImg');
  AnimalImg.Align = alTop;
  AnimalImg.Height = 200;
  AnimalImg.Margins.Top = 20;
  AnimalImg.Margins.Left = 20;
  AnimalImg.Margins.Right = 20;
  AnimalImg.clProSettings.IsRound = True;
  AnimalImg.clProSettings.RoundHeight = 15;
  AnimalImg.clProSettings.RoundWidth = 15;
  AnimalImg.SetclProSettings(AnimalImg.clProSettings);
  
  // Bilgi paneli
  InfoPanel = Form1.AddNewProPanel(ProPanel1, 'InfoPanel');
  InfoPanel.Align = alClient;
  InfoPanel.Margins.Top = 20;
  InfoPanel.Margins.Left = 20;
  InfoPanel.Margins.Right = 20;
  InfoPanel.Margins.Bottom = 20;
  InfoPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F5F5F5');
  InfoPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#4CAF50');
  InfoPanel.clProSettings.BorderWidth = 2;
  InfoPanel.clProSettings.RoundHeight = 15;
  InfoPanel.clProSettings.RoundWidth = 15;
  InfoPanel.clProSettings.IsFill = True;
  InfoPanel.SetclProSettings(InfoPanel.clProSettings);
  
  // Bilgi metni
  Label2 = Form1.AddNewProLabel(InfoPanel, 'Label2', '');
  Label2.Align = alClient;
  Label2.Margins.Top = 15;
  Label2.Margins.Left = 15;
  Label2.Margins.Right = 15;
  Label2.Margins.Bottom = 15;
  Label2.clProSettings.AutoSize = True;
  Label2.clProSettings.WordWrap = True;
  Label2.clProSettings.FontColor = clAlphaColor.clHexToColor('#333333');
  Label2.clProSettings.FontSize = 16;
  Label2.clProSettings.FontVertAlign = palcenter;
  Label2.clProSettings.FontHorzAlign = palcenter;
  Label2.clProSettings.TextSettings.Font.Style = [fsBold];
  Label2.clProSettings.IsFill = True; 
  Label2.clProSettings.IsRound = True;
  Label2.SetclProSettings(Label2.clProSettings);
}

// Bilgi panelini güncelle
void UpdateInfoPanel(animalName);
var
infoText, imageUrl : String
{
   infoText = '';
   imageUrl = '';
  
  if (animalName == 'İnek') 
  {
    TitleLabel.Text = 'İnek';
    infoText = '1-Barınak: Temiz, kuru, havadar ve rüzgârsız olmalı.' +
               '2-Beslenme: Kaliteli yem, saman, ot ve bol temiz su verilmeli.' +
               '3-Sağım: Hijyenik koşullarda ve düzenli yapılmalı.' +
               '4-Temizlik: Hayvan ve barınak düzenli olarak temizlenmeli.' +
               '5-Sağlık: Hastalık belirtileri izlenmeli, veteriner kontrolleri yapılmalı.' +
               '6-Aşılama: Gerekli aşılar zamanında yapılmalı.' +
               '7-Rahatlık: Hayvanlar rahat hareket edebilmeli, stres ortamından uzak olmalı.';
    imageUrl = ' https://resmim.net/cdn/2025/06/02/TlZMLM.png" rel="nofollow - https://resmim.net/cdn/2025/06/02/TlZMLM.png ';
  }
  else if (animalName == 'Koyun') 
  {
    TitleLabel.Text = 'Koyun';
    infoText = '1-Barınak: Kuru, serin ve iyi havalandırılmış olmalı.' +
               '2-Beslenme: Ot, saman ve koyun yemi verilmeli; temiz su sürekli bulunmalı.' +
               '3-Kırkım: Yılda en az bir kez yün kırkımı yapılmalı.' +
               '4-Sağlık: Ayak hastalıkları ve parazitlere karşı kontrol edilmeli.' +
               '5-Aşılama: Şap, çiçek gibi hastalıklara karşı düzenli aşı yapılmalı.' +
               '6-Temizlik: Ahır ve koyunlar düzenli temizlenmeli.' +
               '7-Rahatlık: Kalabalık ortamdan kaçınılmalı, stresten uzak tutulmalı.';
    imageUrl = ' https://resmim.net/cdn/2025/06/02/TlZT4c.jpg" rel="nofollow - https://resmim.net/cdn/2025/06/02/TlZT4c.jpg ';
  }
  else if (animalName == 'Keçi') 
  {
    TitleLabel.Text = 'Keçi';
    infoText = '1-Barınak: Kuru, rüzgârsız ve yüksekte olmalı (nemden etkilenirler).' +
               '2-Beslenme: Ot, yaprak, keçi yemi ve temiz su verilmelidir.' +
               '3-Tırnak Bakımı: Düzenli olarak tırnak kesimi yapılmalı.' +
               '4-Sağlık: Parazit ve hastalıklara karşı gözlem yapılmalı.' +
               '5-Aşılama: Brucella, şap gibi hastalıklara karşı aşı yapılmalı.' +
               '6-Temizlik: Keçiler ve barınak temiz tutulmalı.' +
               '7-Hareket: Keçiler hareket etmeyi sever; dolaşma alanı sağlanmalı.';
    imageUrl = ' https://resmim.net/cdn/2025/06/02/TlZ0bC.jpg" rel="nofollow - https://resmim.net/cdn/2025/06/02/TlZ0bC.jpg ';
  }
  else if (animalName == 'Tavuk') 
  {
    TitleLabel.Text = 'Tavuk';
    infoText = '1-Barınak: Hava alabilen, kuru, temiz ve gece korunaklı olmalı.' +
               '2-Yuva: Yumurtlamaları için rahat, samanlı yuvalıklar bulunmalı.' +
               '3-Beslenme: Dengeli tavuk yemi, tahıllar ve temiz su verilmelidir.' +
               '4-Temizlik: Kümes düzenli temizlenmeli, altlıklar değiştirilmeli.' +
               '5-Güneş ve Açık Alan: Gündüzleri dolaşabilecekleri açık alan sağlanmalı.' +
               '6-Sağlık: Bit, pire ve solunum hastalıklarına karşı takip edilmeli.' +
               '7-Aşılama: Newcastle, Marek gibi hastalıklara karşı düzenli aşı yapılmalı.';
    imageUrl = ' https://resmim.net/cdn/2025/06/02/TlZOPK.jpg" rel="nofollow - https://resmim.net/cdn/2025/06/02/TlZOPK.jpg ';
  }
  else if (animalName == 'Ördek') 
  {
    TitleLabel.Text = 'Ördek';
    infoText = '1-Barınak: Rüzgârsız, temiz ve gece korumalı olmalı.' +
               '2-Su: Suya girmeyi severler; küçük bir havuz veya su kabı bulunmalı.' +
               '3-Beslenme: Tahıl, yeşillik ve ördek yemleriyle beslenmeli.' +
               '4-Temizlik: Su alanı ve barınak düzenli temizlenmeli.' +
               '5-Sağlık: Tüy dökülmesi, solunum gibi belirtiler gözlenmeli.' +
               '6-Aşılama: Kuş gribi gibi hastalıklara karşı önlem alınmalı.' +
               '7-Yumurtlama: Yumurtlama için temiz ve sessiz yuva yerleri hazırlanmalı.';
    imageUrl = ' https://resmim.net/cdn/2025/06/02/TlZnCR.png" rel="nofollow - https://resmim.net/cdn/2025/06/02/TlZnCR.png ';
  }
  
  Label2.Text = infoText;
  Form1.SetImage(AnimalImg, imageUrl);
  ProPanel1.Visible = True;
}

// Panel kapatma fonksiyonu
void ClosePanel;
{
  ProPanel1.Visible = False;
}

// ListView'da seçilen hayvana göre bilgi paneli güncelle
void TaskClick
var
selectedAnimal
{
   selectedAnimal = ListView1.clSelectedItemData(clText);
  if (selectedAnimal <> '') 
  {
    UpdateInfoPanel(selectedAnimal);
  }
  else 
  {
    ShowMessage('Seçilen hayvan bulunamadı.');
  } 

// Başlık etiketini oluştur
void setLabel;
{
  Label1 = Form1.AddNewProLabel(Form1, 'Label1', 'Hayvanlar');
  Label1.Align = alTop;
  Label1.Width = 300;
  Label1.Height = 60;
  Label1.Margins.Top = 10;
  Label1.clProSettings.FontColor = clAlphaColor.clHexToColor('#4CAF50');
  Label1.clProSettings.FontSize = 32;
  Label1.clProSettings.FontVertAlign = palcenter;
  Label1.clProSettings.FontHorzAlign = palcenter;
  Label1.clProSettings.TextSettings.Font.Style = [fsBold];
  Label1.clProSettings.IsFill = True; 
  Label1.clProSettings.IsRound = True;
  Label1.SetclProSettings(Label1.clProSettings);
}

// ListView'ı oluştur
void CreateListView;
{
  ListView1 = Form1.AddNewProListView(Form1, 'ListView1');
  ListView1.Align = AlClient;
  ListView1.Margins.Bottom = 20;
  ListView1.Margins.Top = 20;
  ListView1.Margins.Right = 20;
  ListView1.Margins.Left = 20;
  ListView1.clProSettings.ViewType = lvIcon;
  ListView1.clProSettings.ColCount = 2;
  ListView1.clProSettings.ItemHeight = 120;
  ListView1.clProSettings.ItemSpace = 15;
  ListView1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F5F5F5');
  ListView1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#4CAF50');
  ListView1.clProSettings.BorderWidth = 2;
  ListView1.clProSettings.RoundHeight = 10;
  ListView1.clProSettings.RoundWidth = 10;
  ListView1.SetclProSettings(ListView1.clProSettings);
}

// Designer Panel'i oluştur
void CreateDesignerPanel;
{
  DesignerPanel1 = Form1.AddNewProListViewDesignerPanel(ListView1, 'DesignerPanel1');
  DesignerPanel1.Height = 120;
  DesignerPanel1.Width = 180;
  DesignerPanel1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  DesignerPanel1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#4CAF50');
  DesignerPanel1.clProSettings.BorderWidth = 2;
  DesignerPanel1.clProSettings.RoundHeight = 15;
  DesignerPanel1.clProSettings.RoundWidth = 15;
  DesignerPanel1.SetclProSettings(DesignerPanel1.clProSettings);
  
  ListView1.SetDesignerPanel(DesignerPanel1);
}

// Designer Panel içeriğini oluştur
void CreateData;
{
  taskImg = Form1.AddNewProImage(DesignerPanel1, 'taskImg');
  taskImg.Align = AlLeft;
  taskImg.Margins.Top = 10;
  taskImg.Margins.Bottom = 10;
  taskImg.Margins.Left = 10;
  DesignerPanel1.AddPanelObject(taskImg, clImage1);

  taskName = Form1.AddNewProLabel(DesignerPanel1, 'taskName', 'test');
  taskName.Align = AlVertCenter;
  taskName.Height = 40;
  taskName.Margins.Bottom = 10;
  taskName.Margins.Top = 10;
  taskName.Margins.Right = 10;
  taskName.Margins.Left = 10;
  taskName.clProSettings.FontColor = clAlphaColor.clHexToColor('#333333');
  taskName.clProSettings.FontSize = 16;
  taskName.clProSettings.FontVertAlign = palcenter;
  taskName.clProSettings.FontHorzAlign = palcenter;
  DesignerPanel1.AddPanelObject(taskName, clText);
  
  Form1.AddNewEvent(ListView1, tbeOnItemClick, 'TaskClick');
}

// ListView'a veri ekle
void AddDataToListView;
{
  ListView1.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON('[
  {"taskName" : "İnek"   ,  "taskImg" : " https://resmim.net/cdn/2025/05/20/TfXT6y.png" rel="nofollow - https://resmim.net/cdn/2025/05/20/TfXT6y.png" },
  {"taskName" : "Koyun"  ,  "taskImg" : " https://resmim.net/cdn/2025/05/20/TfX2hk.png" rel="nofollow - https://resmim.net/cdn/2025/05/20/TfX2hk.png" },
  {"taskName" : "Keçi"   ,  "taskImg" : " https://resmim.net/cdn/2025/05/20/Tfj89H.png" rel="nofollow - https://resmim.net/cdn/2025/05/20/Tfj89H.png" },
  {"taskName" : "Tavuk"  ,  "taskImg" : " https://resmim.net/cdn/2025/05/20/Tfj7o2.png" rel="nofollow - https://resmim.net/cdn/2025/05/20/Tfj7o2.png" },
  {"taskName" : "Ördek"  ,  "taskImg" : " https://resmim.net/cdn/2025/05/20/TfwSIR.png" rel="nofollow - https://resmim.net/cdn/2025/05/20/TfwSIR.png" }
  ]'));
}

// Ana program
{
  Form1 = TclForm.Create(Self);
  Form1.SetFormColor('#F5F5F5', '', clGNone);
  CreateListView;
  CreateDesignerPanel;
  CreateData;
  AddDataToListView;
  setLabel;
  CreateInfoPanel;
  Form1.Run;
}


124. satırda başlayan metni yazdırırken madde madde şeklinde alt satıra geçirmek istiyorum ama yapamadım hepsi yan yana oluyor. Yardımcı olursanız sevinirim.



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 02 Haziran 2025 Saat 23:10
Merhaba Mehmet,
Sırayla yapman gereken işlemler;
1. AnimalImg.Height = 100; yüksekliğini biraz düşürmen gerekiyor. Resim çok fazla yer kaplıyor.
2. TitleLabel.Text = 'İnek';
    infoText = '1-Barınak: Temiz, kuru, havadar ve rüzgârsız olmalı.' +  #13#10 +
               '2-Beslenme: Kaliteli yem, saman, ot ve bol temiz su verilmeli.' + #13#10 +
               '3-Sağım: Hijyenik koşullarda ve düzenli yapılmalı.' +#13#10 +
               '4-Temizlik: Hayvan ve barınak düzenli olarak temizlenmeli.' +#13#10 +
               '5-Sağlık: Hastalık belirtileri izlenmeli, veteriner kontrolleri yapılmalı.' +#13#10 +
               '6-Aşılama: Gerekli aşılar zamanında yapılmalı.' +#13#10 +
               '7-Rahatlık: Hayvanlar rahat hareket edebilmeli, stres ortamından uzak olmalı.';
    imageUrl = ' https://resmim.net/cdn/2025/06/02/TlZMLM.png" rel="nofollow - https://resmim.net/cdn/2025/06/02/TlZMLM.png '; 
Metinlerini bu şekilde yapabilirsin. Bu saye de maddeler halinde sıralanmış olacak.



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net