- 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">
var
MyForm: TclForm;
addNewTaskButton: TClProButton;
bottomPanel: TCLPanel;
middlePanel: TCLPanel;
topPanel: TCLPanel;
toDoIcon: TCLImage;
insertQuery: TclSqlQuery;
ToDoListView: TClProListView;
retrieveButton: TCLButton;
void onAddButtonClick;
{
Clomosy.RunUnit('uCreateToDo');
}
void onIconClick;
{
Clomosy.RunUnit('uToDoList');
}
void retrieveCurrentDayItems;
var Qry :TClSQLiteQuery;
var dayNow: String;
{
dayNow = FormatDateTime('dd.mm.yyyy',Now);
try
qry = nil;
Qry = Clomosy.DBSQLiteQueryWith('SELECT * FROM todo_items WHERE due_date = '+QuotedStr(dayNow)+' ORDER BY CAST(item_order AS INTEGER) ASC;');
Qry.OpenOrExecute;
while (not Qry.EOF)
{
if(ToDoListView <> nil)
ToDoListView.clLoadProListViewDataFromDataset(Qry);
else ShowMessage('not created');
}
except
ShowMessage('retrieveCurrentDayItems Exception Class: '+LastExceptionClassName+' Exception GetData Message: '+LastExceptionMessage);
}
}
void SqLiteConnection;
var
TableExists: Boolean;
{
try
Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBToDoApp.db3', '');
Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="todo_items";';
Clomosy.DBSQLiteQuery.OpenOrExecute;
TableExists = not Clomosy.DBSQLiteQuery.Eof;
if not (TableExists)
{
ToDoListView.clearList;
ShowMessage('Table does not exist');
} else
{
ShowMessage('Dddatabase connected and table exists');
retrieveCurrentDayItems;
}
except
ShowMessage('connectionfunc Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage);
}
}
{
MyForm=TclForm.Create(self);
MyForm.LytTopBar.Visible = False;
topPanel=MyForm.AddNewPanel(MyForm,'topPanel');
topPanel.Align=alMostTop;
topPanel.Height=110;
middlePanel=MyForm.AddNewPanel(MyForm, 'middlePanel');
middlePanel.Align=alCenter;
middlePanel.Height=350;
bottomPanel=MyForm.AddNewPanel(MyForm,'bottomPanel');
bottomPanel.Height=110;
bottomPanel.Align=alMostBottom;
bottomPanel.StyleLookup='pushpanel';
ToDoListView = MyForm.AddNewProListView(middlePanel,'ToDoListView');
ToDoListView.Align = alCenter;
ToDoListView.Width = MyForm.clWidth/2;
ToDoListView.Margins.Right = 10;
ToDoListView.Margins.Bottom = 10;
ToDoListView.Margins.Left = 10;
ToDoListView.clProSettings.ViewType = lvWaterFall;
ToDoListView.clProSettings.IsRound = True;
ToDoListView.clProSettings.IsFill = True;
ToDoListView.clProSettings.ColCount = 1;
ToDoListView.clProSettings.ItemHeight = 150;
ToDoListView.clProSettings.ItemSpace = 5;
ToDoListView.clProSettings.BorderColor = clAlphaColor.clHexToColor('#20B2AA');
ToDoListView.clProSettings.BorderWidth = 1;
ToDoListView.clProSettings.RoundWidth = 3;
ToDoListView.clProSettings.RoundHeight = 3;
ToDoListView.SetclProSettings(ToDoListView.clProSettings);
retrieveButton=MyForm.AddNewButton(MyForm,'retrieveButton', 'Retrieve');
toDoIcon=MyForm.AddNewImage(topPanel,'toDoIcon');
MyForm.SetImage(toDoIcon,' https://w7.pngwing.com/pngs/32/64/png-transparent-to-do-list-notebook-computer-icons-action-item-task-android-to-do-list-icon-miscellaneous-angle-text-thumbnail.png" rel="nofollow - https://w7.pngwing.com/pngs/32/64/png-transparent-to-do-list-notebook-computer-icons-action-item-task-android-to-do-list-icon-miscellaneous-angle-text-thumbnail.png ');
toDoIcon.Align=alMostRight;
toDoIcon.Width=40;
toDoIcon.Height=40;
toDoIcon.Margins.Top=0;
toDoIcon.Margins.Right=30;
addNewTaskButton=MyForm.AddNewProButton(bottomPanel, 'addNewTaskButton', '+');
addNewTaskButton.Align = alMostRight;
addNewTaskButton.Margins.Right=30;
addNewTaskButton.Margins.Bottom=30;
addNewTaskButton.Width=80;
addNewTaskButton.Height=80;
addNewTaskButton.clProSettings.FontSize=60;
addNewTaskButton.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#4fa5ab');
addNewTaskButton.clProSettings.RoundHeight=40;
addNewTaskButton.clProSettings.RoundWidth=40;
addNewTaskButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
addNewTaskButton.clProSettings.FontVertAlign=palCenter;
addNewTaskButton.SetclProSettings(addNewTaskButton.clProSettings);
MyForm.AddNewEvent(addNewTaskButton,tbeOnClick,'onAddButtonClick');
MyForm.AddNewEvent(toDoIcon,tbeOnClick,'onIconClick');
MyForm.AddNewEvent(retrieveButton,tbeOnClick,'retrieveCurrentDayItems');
SqLiteConnection;
MyForm.Run;
}