Sayfayı Yazdır | Pencereyi Kapat

Bir Proje ve ödev takipçisi yapmak istiyorum

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=1509
Tarih: 11 Mayıs 2026 Saat 17:25
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Bir Proje ve ödev takipçisi yapmak istiyorum
Mesajı Yazan: Ensare
Konu: Bir Proje ve ödev takipçisi yapmak istiyorum
Mesaj Tarihi: 11 Mayıs 2026 Saat 13:39
var
MyForm : TclForm;
MainPnl : TclProPanel
Ekle, DeleteBtn : TClProButton
Edt1, SifreEdt : TclProEdit
remember : TCLCheckBox
forget : TClProButton
list : TClProListView

void DeleteSelectedTask
{
  
}


void controlclick;
{
  if ((Edt1.Text =='') || (Edt1.Text==''))
  ShowMessage('Ödev yeri boş olamaz');


}


{
  MyForm = TclForm.Create(self);
  MyForm.SetFormColor('#c2dcff','#0052bd',clGHorizontal);
  MyForm.SetFormBGImage(' https://resmim.net/cdn/2026/03/09/CMBuE1.jpg" rel="nofollow - https://resmim.net/cdn/2026/03/09/CMBuE1.jpg ');
  
  MainPnl = MyForm.AddNewProPanel(MyForm, 'MainPnl');
  MainPnl.Align = alCenter;
  MainPnl.Height = 350;
  MainPnl.Width = 400;
  MainPnl.clProSettings.Backgroundcolor = clAlphacolor.clHextoColor ('#001a9e')
  MainPnl.clProSettings.Bordercolor = clAlphacolor.clHextoColor ('#2e5a94')
  MainPnl.clProSettings.BorderWidth = 3; 
  MainPnl.clProSettings.RoundHeight = 22;
  MainPnl.clProSettings.RoundWidth = 22;
  MainPnl.SetClproSettings(MainPnl.clProSettings)
  
  Edt1 = MyForm.AddNewProEdit(MainPnl, 'Edt1', 'Ödev Ekle');
  Edt1.Align = alTop;
  Edt1.Height = 50;
  Edt1.Width = 100;
  Edt1.margins.top = 20
  Edt1.margins.right = 20
  Edt1.margins.left = 20
  Edt1.clProSettings.Bordercolor = clAlphacolor.clHextoColor('#002657')
  Edt1.clProSettings.BorderWidth= 3;
  Edt1.clProSettings.RoundHeight = 22;
  Edt1.clProSettings.RoundWidth = 22;
  Edt1.SetClproSettings(Edt1.clProSettings)
  
  
  list = MyForm.AddNewListView(MainPnl,'OdevList');
  list.Align = alBottom;
  list.Height = 50;
  list.Width = 100;
  list.margins.top = 20
  list.margins.right = 20
  list.margins.left = 20
 
  
Ekle=MyForm.AddNewProButton(MainPnl, 'Ekle', 'Ekle');
Ekle.Align = alTop;
Ekle.Height = 50;
Ekle.Width = 50;
Ekle.margins.right = 30
Ekle.margins.top = 20
Ekle.margins.left = 30
Ekle.clProSettings.Bordercolor = clAlphacolor.clHextoColor('#00178a')
Ekle.clProSettings.BorderWidth= 3;
Ekle.clProSettings.RoundHeight = 22;
Ekle.clProSettings.RoundWidth = 22;
Ekle.SetClproSettings(Ekle.clProSettings) 

DeleteBtn = MyForm.AddNewProButton(MainPnl, 'Sil', 'Sil')
DeleteBtn.Align = alBottom;
DeleteBtn.SetClproSettings(Ekle.clProSettings)



MyForm.AddNewEvent(Ekle,tbeOnClick,'DeleteSelectedTask')
MyForm.AddNewEvent(Ekle,tbeOnClick,'controlclick');

  MyForm.Run
}

Kodumda edite yazılan ödevi veya projeyi listeye eklemesini istiyorum ve listeden seçtiklerimi sil butonunu kullanarak kaldırmak istiyorum
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">



Cevaplar:
Mesajı Yazan: M-Guney
Mesaj Tarihi: 11 Mayıs 2026 Saat 15:59

bu yapıyı uygularken kullanabileceğin prolistview ve json yapısı
https://www.docs.clomosy.com/index.php?title=TClProListView" rel="nofollow - https://www.docs.clomosy.com/index.php?title=TClProListView
https://www.docs.clomosy.com/index.php?title=TclJSONArray" rel="nofollow - https://www.docs.clomosy.com/index.php?title=TclJSONArray


Alt kısımda örnek bir yapıda oluşturdum.

var
  MyForm : TclForm;
  MainPnl : TclProPanel;
  Ekle, DeleteBtn : TClProButton;
  Edt1, SifreEdt : TclProEdit;
  remember : TCLCheckBox;
  forget : TClProButton;
  list : TclProListView;
  DesignerPanel1 : TClListViewDesignerPanel;
  taskName : TclProLabel;
  taskImg : TclProImage;
  TaskData : TCLJSONArray;
  SelectedTaskName : String;

void UpdateList;
{
  if(TaskData.ToJSONString == '[]') // Eğer ki liste boşsa listeyi boşalt
  {
    list.clearList;
    Exit;
  }
  list.clLoadProListViewDataFromDataset(Clomosy.ClDataSetFromJSON(TaskData.ToJSONString));
}

void AddTask;
var
  ItemObj: TCLJSONObject;
{
  if (Edt1.Text == '')
    ShowMessage('Ödev yeri boş olamaz');
  else
  {
    ItemObj = TCLJSONObject.Create;
    ItemObj.AddPair('taskName', TCLJSONValue.Str(Edt1.Text));
    ItemObj.AddPair('taskImg', TCLJSONValue.Str(' https://clomosy.com/learn/1Top.png" rel="nofollow - https://clomosy.com/learn/1Top.png '));
    
    TaskData.AddObject(ItemObj);
    UpdateList;
    Edt1.Text = '';
  }
}

void DeleteSelectedTask;
var
  i: integer;
  item: TCLJSONObject;
  CurrentSelected: string;
{
  CurrentSelected = list.clSelectedItemData(clText);

  if (CurrentSelected == '')
  {
    ShowMessage('Lütfen silinecek bir ödev seçin');
    exit;
  }
  
  for (i = 0 to TaskData.Count - 1)
  {
    item = TaskData.GetItem(i);
    if (Trim(item.GetValueByPath('taskName').AsString) == Trim(CurrentSelected))
    {
      // Yeni liste kopyalamak yerine gerçekten değerin kendisi siliniyor
      TaskData.RemoveValue(item); 
      break;
    }
  }
  
  UpdateList;
}

void TaskClick;
{
  SelectedTaskName = list.clSelectedItemData(clText);
  //ShowMessage('Seçilen Ödev: ' + SelectedTaskName);
}

void CreateListView;
{
  list = MyForm.AddNewProListView(MainPnl,'list');
  list.Align = alClient;
  list.Margins.Bottom = 10;
  list.Margins.Top = 10;
  list.Margins.Right = 20;
  list.Margins.Left = 20;
  list.clProSettings.ViewType = lvIcon; //(lvList, lvIcon, lvWaterFall)
  list.clProSettings.ColCount = 1;
  list.clProSettings.ItemHeight = 100;
  list.clProSettings.ItemSpace = 10;
  list.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFCFF');
  list.clProSettings.BorderColor = clAlphaColor.clHexToColor('#66FF7F');
  list.clProSettings.BorderWidth = 2;
  list.clProSettings.RoundHeight = 5;
  list.clProSettings.RoundWidth = 5;
  list.SetclProSettings(list.clProSettings);
}

void CreateDesignerPanel;
{
  DesignerPanel1 = MyForm.AddNewProListViewDesignerPanel(list, 'DesignerPanel1');
  DesignerPanel1.Height = 100;
  DesignerPanel1.Width = 150;
  DesignerPanel1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#B3FCE5');
  DesignerPanel1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#16FF8C');
  DesignerPanel1.clProSettings.BorderWidth = 2;
  DesignerPanel1.clProSettings.RoundHeight = 20;
  DesignerPanel1.clProSettings.RoundWidth = 20;
  DesignerPanel1.SetclProSettings(DesignerPanel1.clProSettings);
  
  list.SetDesignerPanel(DesignerPanel1);
}

void CreateData;
{
  taskName = MyForm.AddNewProLabel(DesignerPanel1, 'taskName', 'test');
  taskName.Align = alVertCenter;
  taskName.Height = 30;
  taskName.Margins.Bottom = 10;
  taskName.Margins.Top = 10;
  taskName.Margins.Right = 10;
  taskName.Margins.Left = 10;
  taskName.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');
  taskName.clProSettings.FontSize = 20;
  DesignerPanel1.AddPanelObject(taskName, clText);
    
  MyForm.AddNewEvent(list,tbeOnItemClick,'TaskClick');
}

{
  MyForm = TclForm.Create(self);
  TaskData = TCLJSONArray.Create;
  
  MyForm.SetFormColor('#c2dcff','#0052bd',clGHorizontal);
  MyForm.SetFormBGImage(' https://resmim.net/cdn/2026/03/09/CMBuE1.jpg" rel="nofollow - https://resmim.net/cdn/2026/03/09/CMBuE1.jpg ');
  
  MainPnl = MyForm.AddNewProPanel(MyForm, 'MainPnl');
  MainPnl.Align = alCenter;
  MainPnl.Height = 550;
  MainPnl.Width = 400;
  MainPnl.clProSettings.Backgroundcolor = clAlphacolor.clHextoColor ('#001a9e');
  MainPnl.clProSettings.Bordercolor = clAlphacolor.clHextoColor ('#2e5a94');
  MainPnl.clProSettings.BorderWidth = 3; 
  MainPnl.clProSettings.RoundHeight = 22;
  MainPnl.clProSettings.RoundWidth = 22;
  MainPnl.SetClproSettings(MainPnl.clProSettings);
  
  Edt1 = MyForm.AddNewProEdit(MainPnl, 'Edt1', 'Ödev Ekle');
  Edt1.Align = alTop;
  Edt1.Height = 50;
  Edt1.margins.top = 20;
  Edt1.margins.right = 20;
  Edt1.margins.left = 20;
  Edt1.clProSettings.Bordercolor = clAlphacolor.clHextoColor('#002657');
  Edt1.clProSettings.BorderWidth= 3;
  Edt1.clProSettings.RoundHeight = 22;
  Edt1.clProSettings.RoundWidth = 22;
  Edt1.SetClproSettings(Edt1.clProSettings);
  
  Ekle = MyForm.AddNewProButton(MainPnl, 'Ekle', 'Ekle');
  Ekle.Align = alTop;
  Ekle.Height = 50;
  Ekle.margins.right = 30;
  Ekle.margins.top = 10;
  Ekle.margins.left = 30;
  Ekle.clProSettings.Bordercolor = clAlphacolor.clHextoColor('#00178a');
  Ekle.clProSettings.BorderWidth= 3;
  Ekle.clProSettings.RoundHeight = 22;
  Ekle.clProSettings.RoundWidth = 22;
  Ekle.SetClproSettings(Ekle.clProSettings); 
  
  // Designer panel ve Listview kurulumları
  CreateListView;
  CreateDesignerPanel;
  CreateData;
  
  DeleteBtn = MyForm.AddNewProButton(MainPnl, 'Sil', 'Seçileni Sil');
  DeleteBtn.Align = alBottom;
  DeleteBtn.Height = 50;
  DeleteBtn.margins.bottom = 20;
  DeleteBtn.margins.right = 30;
  DeleteBtn.margins.left = 30;
  DeleteBtn.clProSettings.Backgroundcolor = clAlphacolor.clHextoColor('#8b0000');
  DeleteBtn.clProSettings.RoundHeight = 22;
  DeleteBtn.clProSettings.RoundWidth = 22;
  DeleteBtn.SetClproSettings(DeleteBtn.clProSettings); 
  
  MyForm.AddNewEvent(Ekle, tbeOnClick, 'AddTask');
  MyForm.AddNewEvent(DeleteBtn, tbeOnClick, 'DeleteSelectedTask');

  MyForm.Run;
}













.
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" 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">



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