Sayfayı Yazdır | Pencereyi Kapat

Listing with SQLite

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=1104
Tarih: 18 Temmuz 2025 Saat 19:03
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Listing with SQLite
Mesajı Yazan: goksuselvi
Konu: Listing with SQLite
Mesaj Tarihi: 18 Temmuz 2025 Saat 13:50
liste kısmına kullanıcının alışkanlık ekleyebileceği bir liste yapmaya çalışıyorum SQLite ile ama yapamadım ve kafam çok karıştı yardımcı olursanız sevinirim.< id="BFI_" style="width: 1px; height: 1px; display: none;">






























Cevaplar:
Mesajı Yazan: Sudesigirci
Mesaj Tarihi: 18 Temmuz 2025 Saat 13:55
Merhaba Göksu ,
 Kendi projemden prolistview ile listelemek için bir fonksiyon örneği yazıyorum kendi koduna entegre edip dener misin ?

void GetData;
{
  try
  
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'musteriistekanalizi.db3', '');
    kullanici_email = Clomosy.GlobalVariableString;

    Qry = Clomosy.DBSQLiteQueryWith(
      'SELECT id as RECORD_GUID, baslik as MAIN_TEXT, aciklama as SIDE_TEXT_BOTTOM FROM Talepler WHERE kullanici_email = ' + QuotedStr(kullanici_email)
    );

    Qry.OpenOrExecute;
    ListView1.clLoadProListViewDataFromDataset(Qry);
  Qry.Close;
  except
  
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }
}

ayrıca designer paneli de şu şekilde ayarlamıştım 
void CreateDesignerPanelItems;
{
  lblTitle = MyForm.AddNewProLabel(DesignerPanel1, 'MAIN_TEXT', '-');
  lblTitle.Align = AlTop;
  lblTitle.Height = 30;
  lblTitle.clProSettings.FontSize = 16;
  lblTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#053a42');
  lblTitle.SetclProSettings(lblTitle.clProSettings);
  DesignerPanel1.AddPanelObject(lblTitle, clText);

  lblDescription = MyForm.AddNewProLabel(DesignerPanel1, 'SIDE_TEXT_BOTTOM', '-');
  lblDescription.Align = AlTop;
  lblDescription.Height = 30;
  lblDescription.clProSettings.FontSize = 12;
  lblDescription.clProSettings.FontColor = clAlphaColor.clBlack;
  lblDescription.SetclProSettings(lblDescription.clProSettings);
  DesignerPanel1.AddPanelObject(lblDescription, clText1);
}

İyi Çalışmalar dilerim


Mesajı Yazan: goksuselvi
Mesaj Tarihi: 18 Temmuz 2025 Saat 14:43


Qry = Clomosy.DBSQLiteQueryWith('SELECT habitId as clRecord_GUID, habitName FROM Habits WHERE Edit1= ' + QuotedStr(Edit1));
denedim ama olmadı void addhabit kısmını hata alıyorum tekrar bakabilirsen mutlu olurum ne hatası aldığımı anlamadım< id="BFI_" style="width: 1px; height: 1px; display: none;">

-------------
göksu


Mesajı Yazan: Sudesigirci
Mesaj Tarihi: 18 Temmuz 2025 Saat 15:21
Merhaba Göksu , 

var
  analizForm: TclForm;
  MainPnl: TCLProPanel;
  ListView1: TClProListView;
  DesignerPanel1: TClProListViewDesignerPanel;
  habitLabel: TClProLabel;
  addBtn: TClProButton;
  Edit1: TClProEdit;
  Qry: TClSQLiteQuery;
void CreateHabitsTable;
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');
Clomosy.DBSQLiteQuery.Sql.Text = 
  'CREATE TABLE IF NOT EXISTS Habits (' +
    'habitId INTEGER PRIMARY KEY AUTOINCREMENT,' +
    'habitName TEXT NOT NULL' +
  ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
  except
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
    }
}


void AddHabit;
{
  try
    Clomosy.DBSQLiteQuery.Sql.Text = 
      'INSERT INTO Habits(habitName) VALUES (' + QuotedStr(Edit1.Text) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
    ShowMessage('Alışkanlık eklendi: ' + Edit1.Text);
    Edit1.Text = ''; // inputu temizle

  except
  ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }
}




void LoadHabitsToListView;
{

  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');
    Qry = Clomosy.DBSQLiteQueryWith('SELECT habitId as RECORD_GUID, habitName as MAIN_TEXT FROM Habits');
    Qry.OpenOrExecute;
    
    ListView1.clLoadProListViewDataFromDataset(Qry);
  
  except
    ShowMessage('Yükleme hatası: ' + LastExceptionMessage);
    }
}


void CreateListView;
{
  ListView1 = analizForm.AddNewProListView(MainPnl, '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 = 1;
  ListView1.clProSettings.ItemHeight = 100;
  ListView1.clProSettings.ItemSpace = 10;
  ListView1.clProSettings.RoundHeight = 5;
  ListView1.clProSettings.RoundWidth = 5;
  ListView1.SetclProSettings(ListView1.clProSettings);
}

void CreateDesignerPanel;
{
  DesignerPanel1 = analizForm.AddNewProListViewDesignerPanel(ListView1, '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);

  ListView1.SetDesignerPanel(DesignerPanel1);

  habitLabel = analizForm.AddNewProLabel(DesignerPanel1, 'MAIN_TEXT', '-');
  habitLabel.Align = alClient;
  habitLabel.clProSettings.FontSize = 16;
  habitLabel.Margins.Top = 10;
  habitLabel.Margins.Left = 10;
  DesignerPanel1.AddPanelObject(habitLabel, clText);
}



void OnAddBtnClick;
{
  AddHabit;
}

{
  analizForm = TclForm.Create(Self);

  MainPnl = analizForm.AddNewProPanel(analizForm, 'MainPnl');
  MainPnl.Align = alClient;
  MainPnl.clProSettings.IsTransparent = False;
  MainPnl.SetclProSettings(MainPnl.clProSettings);


  Edit1 = analizForm.AddNewProEdit(MainPnl, 'Edit1', '');
  Edit1.Align = alTop;
  Edit1.Height = 50;
  Edit1.Margins.Top = 20;
  Edit1.Margins.Left = 20;
  Edit1.Margins.Right = 20;
  Edit1.clProSettings.BackGroundColor = clAlphaColor.clHexToColor('#CDB4DB'); 
  Edit1.clProSettings.IsTransparent = True;
  Edit1.clProSettings.IsFill = False;
  Edit1.clProSettings.IsRound = True;
  Edit1.clProSettings.RoundHeight = 20;
  Edit1.clProSettings.RoundWidth = 20;
  Edit1.clProSettings.FontSize = 16;
  Edit1.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  Edit1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff');
  Edit1.SetclProSettings(Edit1.clProSettings);

  addBtn = analizForm.AddNewProButton(MainPnl, 'addBtn', 'Ekle');
  addBtn.Align = alBottom;
  addBtn.Height = 50;
  addBtn.clProSettings.IsRound = True;
  addBtn.SetclProSettings(addBtn.clProSettings);
  analizForm.AddNewEvent(addBtn, tbeOnClick, 'OnAddBtnClick');

  CreateListView;
  CreateDesignerPanel;
  CreateHabitsTable;
  LoadHabitsToListView;

  analizForm.Run;
}
 bu kodu deneyebilir misin ?


Mesajı Yazan: Muammer
Mesaj Tarihi: 18 Temmuz 2025 Saat 15:28
iyi günler göksü.Aşağıdaki kodu bir denermisin

var
  analizForm: TclForm;
  MainPnl: TCLProPanel;
  ListView1: TClProListView;
  DesignerPanel1: TClProListViewDesignerPanel;
  habitLabel: TClProLabel;
  addBtn: TClProButton;
  Edit1: TClProEdit;
  Qry: TClSQLiteQuery;

// --------------------------------------------------------------------
// HABIT TABLOSU OLUŞTUR
void CreateHabitsTable
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');
    Clomosy.DBSQLiteQuery.Sql.Text = 
      'CREATE TABLE IF NOT EXISTS Habits (' +
        'habitId INTEGER PRIMARY KEY AUTOINCREMENT,' +
        'habitName TEXT NOT NULL' +
      ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
  except
    ShowMessage('Hata: ' + LastExceptionMessage);
  }
}

// --------------------------------------------------------------------
// HABIT LİSTESİNİ YÜKLE
void LoadHabitsToListView
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');
    Qry = Clomosy.DBSQLiteQueryWith(
      'SELECT habitId as clRecord_GUID, habitName as MAIN_TEXT FROM Habits'
    );
    Qry.OpenOrExecute;
    if Qry.Found
    {
      ListView1.clLoadProListViewDataFromDataset(Qry);
    }
    Qry.Close;
  except
    ShowMessage('Listeleme hatası: ' + LastExceptionMessage);
  }
}

// --------------------------------------------------------------------
// HABIT EKLE
void AddHabit
{
  try
    Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');
    Clomosy.DBSQLiteQuery.Sql.Text = 
      'INSERT INTO Habits (habitName) VALUES (' + QuotedStr(Edit1.Text) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('Alışkanlık eklendi: ' + Edit1.Text);

    LoadHabitsToListView;
  except
    ShowMessage('Ekleme hatası: ' + LastExceptionMessage);
  }
}

// --------------------------------------------------------------------
// LİSTEVIEW TASARIM PANELİ
void CreateDesignerPanel
{
  DesignerPanel1 = analizForm.AddNewProListViewDesignerPanel(ListView1, 'DesignerPanel1');
  DesignerPanel1.Height = 100;
  DesignerPanel1.Width = 200;
  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);

  ListView1.SetDesignerPanel(DesignerPanel1);

  habitLabel = analizForm.AddNewProLabel(DesignerPanel1, 'MAIN_TEXT', '-');
  habitLabel.Align = alClient;
  habitLabel.clProSettings.FontSize = 16;
  habitLabel.Margins.Top = 10;
  habitLabel.Margins.Left = 10;
  habitLabel.SetclProSettings(habitLabel.clProSettings);

  DesignerPanel1.AddPanelObject(habitLabel, clText);
}

// --------------------------------------------------------------------
// LİSTEVIEW OLUŞTUR
void CreateListView
{
  ListView1 = analizForm.AddNewProListView(MainPnl, '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 = 1;
  ListView1.clProSettings.ItemHeight = 100;
  ListView1.clProSettings.ItemSpace = 10;
  ListView1.clProSettings.RoundHeight = 5;
  ListView1.clProSettings.RoundWidth = 5;
  ListView1.SetclProSettings(ListView1.clProSettings);
}

// --------------------------------------------------------------------
// BUTON CLICK EVENTİ
void OnAddBtnClick
{
  AddHabit;
}

// --------------------------------------------------------------------
// FORM BAŞLANGIÇ
{
  analizForm = TclForm.Create(Self);

  MainPnl = analizForm.AddNewProPanel(analizForm, 'MainPnl');
  MainPnl.Align = alClient;

  Edit1 = analizForm.AddNewProEdit(MainPnl, 'Edit1', '');
  Edit1.Align = alTop;
  Edit1.Height = 50;
  Edit1.Margins.Top = 20;
  Edit1.Margins.Left = 20;
  Edit1.Margins.Right = 20;
  Edit1.clProSettings.BackGroundColor = clAlphaColor.clHexToColor('#CDB4DB'); 
  Edit1.clProSettings.IsTransparent = True;
  Edit1.clProSettings.IsFill = False;
  Edit1.clProSettings.IsRound = True;
  Edit1.clProSettings.RoundHeight = 20;
  Edit1.clProSettings.RoundWidth = 20;
  Edit1.clProSettings.FontSize = 16;
  Edit1.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
  Edit1.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff');
  Edit1.SetclProSettings(Edit1.clProSettings);

  addBtn = analizForm.AddNewProButton(MainPnl, 'addBtn', 'Ekle');
  addBtn.Align = alBottom;
  addBtn.Height = 50;
  addBtn.clProSettings.IsRound = True;
  addBtn.SetclProSettings(addBtn.clProSettings);
  analizForm.AddNewEvent(addBtn, tbeOnClick, 'OnAddBtnClick');

  CreateListView;
  CreateDesignerPanel;
  CreateHabitsTable;
  LoadHabitsToListView;

  analizForm.Run;
}



Mesajı Yazan: goksuselvi
Mesaj Tarihi: 18 Temmuz 2025 Saat 15:46
çok teşekkür ederim  < id="BFI_" style="width: 1px; height: 1px; display: none;">

-------------
göksu



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