-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathtaskedit.pas
More file actions
98 lines (77 loc) · 2.35 KB
/
taskedit.pas
File metadata and controls
98 lines (77 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
unit taskedit;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
DbCtrls, ButtonPanel, DatabaseDM;
type
{ TTaskEditForm }
TTaskEditForm = class(TForm)
ButtonPanel1: TButtonPanel;
PriorityComboBox: TComboBox;
PriorityLabel: TLabel;
TaskNameDBEdit: TDBEdit;
TaskDescriptionDBMemo: TDBMemo;
TaskNameLabel: TLabel;
TaskDescriptionLabel: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure OKButtonClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
TaskEditForm: TTaskEditForm;
implementation
uses DB, Models;
resourcestring
RSCreateTask = 'Create task';
RSEditTask = 'Edit task';
RSSave = 'Save';
RSCancel = 'Cancel';
RSVeryLowPriority = 'Very low';
RSLowPriority = 'Low';
RSNormalPriority = 'Normal';
RSHighPriority = 'High';
RSVeryHighPriority = 'Very high';
{$R *.lfm}
{ TTaskEditForm }
procedure TTaskEditForm.FormShow(Sender: TObject);
var
Priority: Integer;
begin
case DatabaseDataModule.TasksSQLQuery.State of
dsInsert: Caption := RSCreateTask;
dsEdit: Caption := RSEditTask;
else Caption := '???';
end;
ButtonPanel1.OKButton.Caption := RSSave;
ButtonPanel1.CancelButton.Caption := RSCancel;
//ActiveControl.SetFocus;
TaskNameDBEdit.SetFocus;
Priority := DatabaseDataModule.TasksSQLQuery.FieldByName('priority').AsInteger;
PriorityComboBox.ItemIndex := PriorityComboBox.Items
.IndexOfObject(TObject(PtrUInt(Priority)));
end;
procedure TTaskEditForm.OKButtonClick(Sender: TObject);
var
Priority: Integer;
begin
Priority := {PtrUInt}PtrInt(PriorityComboBox.Items.Objects[PriorityComboBox.ItemIndex]);
DatabaseDataModule.TasksSQLQuery.FieldByName('priority').AsInteger := Priority;
end;
procedure TTaskEditForm.FormCreate(Sender: TObject);
begin
with PriorityComboBox do
begin
Clear;
AddItem(RSVeryHighPriority, TObject(PtrUInt(tpVeryHigh)));
AddItem(RSHighPriority, TObject(PtrUInt(tpHigh)));
AddItem(RSNormalPriority, TObject(PtrUInt(tpNormal)));
AddItem(RSLowPriority, TObject(PtrUInt(tpLow)));
AddItem(RSVeryLowPriority, TObject(PtrUInt(tpVeryLow)));
end;
end;
end.