unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf,
FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async,
FireDAC.Phys, FireDAC.Phys.SQLite, FireDAC.Stan.ExprFuncs,
FireDAC.FMXUI.Login, FireDAC.Comp.UI, Data.DB, FireDAC.Comp.Client,
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
FMX.ListView.Types, Data.Bind.EngExt, Fmx.Bind.DBEngExt, Data.Bind.Controls,
System.Rtti, System.Bindings.Outputs, Fmx.Bind.Editors, Data.Bind.Components,
FMX.Layouts, Fmx.Bind.Navigator, Data.Bind.DBScope, FMX.ListView,
FireDAC.Comp.DataSet, FMX.StdCtrls, FireDAC.FMXUI.Wait, System.IOUtils, DateUtils;
const
cnFormat = '
yyyy-mm-dd';
type
TForm1 =
class(TForm)
FDConnection1: TFDConnection;
FDGUIxLoginDialog1: TFDGUIxLoginDialog;
FDQueryCreateTable: TFDQuery;
ListView1: TListView;
BindSourceDB1: TBindSourceDB;
BindingsList1: TBindingsList;
FDQuery1: TFDQuery;
BindSourceDB2: TBindSourceDB;
FDQuery2: TFDQuery;
NavigatorBindSourceDB2: TBindNavigator;
ButtonDelete: TButton;
FDQueryIns: TFDQuery;
ButtonAdd: TButton;
FDGUIxWaitCursor1: TFDGUIxWaitCursor;
FDQueryDel: TFDQuery;
Label1: TLabel;
LinkFillControlToFieldMessdatum: TLinkFillControlToField;
FDQueryDrop: TFDQuery;
Label2: TLabel;
procedure ListView1ItemClick(
const Sender: TObject;
const AItem: TListViewItem);
procedure ButtonAddClick(Sender: TObject);
procedure FDConnection1BeforeConnect(Sender: TObject);
procedure ButtonDeleteClick(Sender: TObject);
procedure ButtonDropClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FDQuery2CalcFields(DataSet: TDataSet);
private
{ Private-Deklarationen }
FmtStngs: TFormatSettings;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.ButtonAddClick(Sender: TObject);
var
TaskName:
String;
begin
try
TaskName:=DateToStr(now()
(*, FmtStngs*));
if InputQuery('
Bitte neues Meßdatum eingeben', '
Messdatum', TaskName)
and (TaskName.Trim <> '
')
then
begin
ShowMessage('
UNIX Timestamp:'+Inttostr( DateTimeToUnix(StrToDateTime(TaskName))));
//FDQueryIns.ParamByName('MessDatum').AsDate := StrToDate(TaskName(*, FmtStngs*));
FDQueryIns.ParamByName('
MessDatum').AsInteger := DateTimeToUnix(StrToDateTime(TaskName));
FDQueryIns.ExecSQL();
FDQuery2.Close;
FDQuery2.Open;
Label2.Text:= '
Total:' + IntTOStr(FDQuery2.RowsAffected);
ButtonDelete.Visible := ListView1.Selected <>
nil;
end;
except
on e:
Exception do
begin
ShowMessage(e.
Message);
end;
end;
end;
procedure TForm1.ButtonDeleteClick(Sender: TObject);
var
TaskName:
String;
begin
TaskName := ListView1.Selected.Text;
try
FDQueryDel.ParamByName('
MessDatum').AsInteger := DateTimeToUnix(StrToDateTime(TaskName));
FDQueryDel.ExecSQL();
FDQuery2.Close;
FDQuery2.Open;
Label2.Text:= '
Total:' + IntTOStr(FDQuery2.RowsAffected);
ButtonDelete.Visible := ListView1.Selected <>
nil;
except
on e:
Exception do
begin
SHowMessage(e.
Message);
end;
end;
end;
procedure TForm1.ButtonDropClick(Sender: TObject);
begin
FDQueryDrop.ExecSQL();
end;
procedure TForm1.FDConnection1BeforeConnect(Sender: TObject);
begin
{$IF DEFINED(iOS) or DEFINED(ANDROID)}
FDConnection1.Params.Values['
Database'] :=
TPath.Combine(TPath.GetDocumentsPath, '
lipoapp.s3db');
{$ENDIF}
end;
procedure TForm1.FDQuery2CalcFields(DataSet: TDataSet);
begin
DataSet.FieldByName('
Messdatum').AsDateTime := UnixToDateTime(DataSet.FieldByName('
Messdatum').AsInteger);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
FmtStngs:=TFormatsettings.Create;
FmtStngs.DateSeparator := '
.';
FmtStngs.ShortDateFormat := '
yyyy.mm.dd';
FmtStngs.TimeSeparator := '
:';
FmtStngs.LongTimeFormat := '
hh:mm:ss';
//fSetting := GetCustomDateFormatSettings;
end;
procedure TForm1.ListView1ItemClick(
const Sender: TObject;
const AItem: TListViewItem);
begin
ButtonDelete.Visible:=ListView1.Selected <>
nil;
end;
end.