http://marcin-wiacek.fkn.pl/english/zips/mygnokii.tar.gz
[gnokii.git] / win32_makefile / gui_delphi / Calendar.pas
1 unit Calendar;\r
2 \r
3 interface\r
4 \r
5 uses\r
6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,\r
7   Dialogs, ComCtrls, StdCtrls,GnokiiAPI,MainUnit;\r
8 \r
9 type\r
10   TCalendarForm = class(TForm)\r
11     Label1: TLabel;\r
12     ComboBox1: TComboBox;\r
13     DateTimePicker1: TDateTimePicker;\r
14     Label2: TLabel;\r
15     GroupBox1: TGroupBox;\r
16     CheckBox1: TCheckBox;\r
17     DateTimePicker2: TDateTimePicker;\r
18     Edit2: TEdit;\r
19     Label3: TLabel;\r
20     Label4: TLabel;\r
21     Button1: TButton;\r
22     Button2: TButton;\r
23     DateTimePicker3: TDateTimePicker;\r
24     DateTimePicker4: TDateTimePicker;\r
25     Edit1: TEdit;\r
26     Label5: TLabel;\r
27     Label6: TLabel;\r
28     CheckBox2: TCheckBox;\r
29     ComboBox2: TComboBox;\r
30     RadioButton1: TRadioButton;\r
31     RadioButton2: TRadioButton;\r
32     procedure Button1Click(Sender: TObject);\r
33     procedure Button2Click(Sender: TObject);\r
34     procedure CheckBox1Click(Sender: TObject);\r
35     procedure DateTimePicker1Change(Sender: TObject);\r
36     procedure DateTimePicker2Change(Sender: TObject);\r
37     procedure FormShow(Sender: TObject);\r
38     procedure ComboBox1Select(Sender: TObject);\r
39     procedure CheckBox2Click(Sender: TObject);\r
40   private\r
41     { Private declarations }\r
42   public\r
43     { Public declarations }\r
44   end;\r
45 \r
46 var\r
47   CalendarForm: TCalendarForm;\r
48 \r
49 implementation\r
50 \r
51 {$R *.dfm}\r
52 \r
53 procedure TCalendarForm.Button1Click(Sender: TObject);\r
54 var\r
55   i:integer;\r
56   s:string;\r
57 begin\r
58   case ComboBox1.ItemIndex of\r
59     0:setcalendarnote.Type2:=GCN_BIRTHDAY;\r
60     1:setcalendarnote.Type2:=GCN_CALL;\r
61     2:setcalendarnote.Type2:=GCN_MEETING;\r
62     3:setcalendarnote.Type2:=GCN_REMINDER;\r
63   end;\r
64 \r
65   for i:=1 to 59 do\r
66     setcalendarnote.Text[i]:=chr(0);\r
67   for i:=1 to strlen(pchar(Edit2.text)) do\r
68     setcalendarnote.Text[i]:=Edit2.Text[i];\r
69 \r
70   for i:=1 to 37 do\r
71     setcalendarnote.Phone[i]:=chr(0);\r
72   for i:=1 to strlen(pchar(Edit1.text)) do\r
73     setcalendarnote.Phone[i]:=Edit1.Text[i];\r
74 \r
75   DateTimeToString(s, 'yyyy',CalendarForm.DateTimePicker1.Date);\r
76   setcalendarnote.Time.Year:=strtoint(s);\r
77   DateTimeToString(s, 'm',CalendarForm.DateTimePicker1.Date);\r
78   setcalendarnote.Time.Month:=strtoint(s);\r
79   DateTimeToString(s, 'd',CalendarForm.DateTimePicker1.Date);\r
80   setcalendarnote.Time.Day:=strtoint(s);\r
81   DateTimeToString(s, 'h',CalendarForm.DateTimePicker3.Time);\r
82   setcalendarnote.Time.Hour:=strtoint(s);\r
83   DateTimeToString(s, 'n',CalendarForm.DateTimePicker3.Time);\r
84   setcalendarnote.Time.Minute:=strtoint(s);\r
85   DateTimeToString(s, 's',CalendarForm.DateTimePicker3.Time);\r
86   setcalendarnote.Time.Second:=strtoint(s);\r
87   setcalendarnote.Time.IsSet:=1;\r
88 \r
89   DateTimeToString(s, 'yyyy',CalendarForm.DateTimePicker2.Date);\r
90   setcalendarnote.Alarm.Year:=strtoint(s);\r
91   DateTimeToString(s, 'm',CalendarForm.DateTimePicker2.Date);\r
92   setcalendarnote.Alarm.Month:=strtoint(s);\r
93   DateTimeToString(s, 'd',CalendarForm.DateTimePicker2.Date);\r
94   setcalendarnote.Alarm.Day:=strtoint(s);\r
95   DateTimeToString(s, 'h',CalendarForm.DateTimePicker4.Time);\r
96   setcalendarnote.Alarm.Hour:=strtoint(s);\r
97   DateTimeToString(s, 'n',CalendarForm.DateTimePicker4.Time);\r
98   setcalendarnote.Alarm.Minute:=strtoint(s);\r
99   DateTimeToString(s, 's',CalendarForm.DateTimePicker4.Time);\r
100   setcalendarnote.Alarm.Second:=strtoint(s);\r
101 \r
102   if not CheckBox1.Checked then\r
103     setcalendarnote.Alarm.Year:=0;\r
104 \r
105   if CheckBox2.Checked then\r
106   begin\r
107     case ComboBox2.ItemIndex of\r
108       0:setcalendarnote.Recurrance:=1*24;\r
109       1:setcalendarnote.Recurrance:=7*24;\r
110       2:setcalendarnote.Recurrance:=14*24;\r
111       3:setcalendarnote.Recurrance:=365*24;\r
112     end;\r
113   end else\r
114   begin\r
115     setcalendarnote.Recurrance:=0;\r
116   end;\r
117 \r
118   if RadioButton1.Checked then\r
119     setcalendarnote.AlarmType:=0\r
120   else\r
121     setcalendarnote.AlarmType:=1;\r
122     \r
123   GSM_DeleteCalendarNote(@setcalendarnote);\r
124   GSM_WriteCalendarNote(@setcalendarnote);\r
125 \r
126   MainForm.CalendarTabSheetShow(nil);\r
127 \r
128   CalendarForm.Close;\r
129 end;\r
130 \r
131 procedure TCalendarForm.Button2Click(Sender: TObject);\r
132 begin\r
133   CalendarForm.Close;\r
134 end;\r
135 \r
136 procedure TCalendarForm.CheckBox1Click(Sender: TObject);\r
137 begin\r
138   if CheckBox1.Checked then\r
139   begin\r
140     DateTimePicker2.Enabled:=true;\r
141     DateTimePicker4.Enabled:=true;\r
142   end else\r
143   begin\r
144     DateTimePicker2.Enabled:=false;\r
145     DateTimePicker4.Enabled:=false;\r
146   end;\r
147 end;\r
148 \r
149 procedure TCalendarForm.DateTimePicker1Change(Sender: TObject);\r
150 begin\r
151   Label5.Caption:=DayOfWeek3(DateTimePicker1.Date);\r
152 end;\r
153 \r
154 procedure TCalendarForm.DateTimePicker2Change(Sender: TObject);\r
155 begin\r
156   Label6.Caption:=DayOfWeek3(DateTimePicker2.Date);\r
157 end;\r
158 \r
159 procedure TCalendarForm.FormShow(Sender: TObject);\r
160 begin\r
161   Label5.Caption:=DayOfWeek3(DateTimePicker1.Date);\r
162   Label6.Caption:=DayOfWeek3(DateTimePicker2.Date);\r
163 end;\r
164 \r
165 procedure TCalendarForm.ComboBox1Select(Sender: TObject);\r
166 begin\r
167   if GSM_GetModelFeature(FN_CALENDAR)=F_CAL71 then\r
168   begin\r
169     CalendarForm.RadioButton1.Visible:=True;\r
170     CalendarForm.RadioButton2.Visible:=True;\r
171     CalendarForm.CheckBox2.Visible:=True;\r
172     CalendarForm.ComboBox2.Visible:=True;\r
173     if ComboBox1.ItemIndex=0 then //birthday\r
174     begin\r
175       CalendarForm.RadioButton1.Enabled:=True;\r
176       CalendarForm.RadioButton2.Enabled:=True;\r
177       CalendarForm.CheckBox2.Enabled:=False;\r
178       CalendarForm.ComboBox2.Enabled:=False;\r
179     end else\r
180     begin\r
181       CalendarForm.RadioButton1.Enabled:=False;\r
182       CalendarForm.RadioButton2.Enabled:=False;\r
183       CalendarForm.CheckBox2.Enabled:=True;\r
184       CalendarForm.ComboBox2.Enabled:=CalendarForm.CheckBox2.Checked;\r
185     end;\r
186     if ComboBox1.ItemIndex=3 then //memo\r
187     begin\r
188       CalendarForm.CheckBox1.Enabled:=False;\r
189       CalendarForm.Label6.Enabled:=False;\r
190       CalendarForm.DateTimePicker2.Enabled:=False;\r
191       CalendarForm.DateTimePicker4.Enabled:=False;\r
192     end else begin\r
193       CalendarForm.CheckBox1.Enabled:=True;\r
194       CalendarForm.Label6.Enabled:=True;\r
195       CalendarForm.DateTimePicker2.Enabled:=True;\r
196       CalendarForm.DateTimePicker4.Enabled:=True;\r
197     end;\r
198   end else begin\r
199     CalendarForm.RadioButton1.Visible:=False;\r
200     CalendarForm.RadioButton2.Visible:=False;\r
201     CalendarForm.CheckBox2.Visible:=False;\r
202     CalendarForm.ComboBox2.Visible:=False;\r
203   end;\r
204   if ComboBox1.ItemIndex=1 then //call\r
205   begin\r
206     CalendarForm.Edit1.Enabled:=True;\r
207     CalendarForm.Label4.Enabled:=True;\r
208   end else\r
209   begin\r
210     CalendarForm.Edit1.Enabled:=False;\r
211     CalendarForm.Label4.Enabled:=False;\r
212   end;\r
213 end;\r
214 \r
215 procedure TCalendarForm.CheckBox2Click(Sender: TObject);\r
216 begin\r
217   CalendarForm.ComboBox2.Enabled:=CalendarForm.CheckBox2.Checked;\r
218 end;\r
219 \r
220 end.\r