Develop and Download Open Source Software

Browse Subversion Repository

Contents of /locatefrm.pas

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (show annotations) (download) (as text)
Mon Nov 7 12:03:00 2011 UTC (12 years, 4 months ago) by shiraishikazuo
File MIME type: text/x-pascal
File size: 9601 byte(s)


1 unit LocateFrm;
2
3 {$MODE Delphi}
4
5 interface
6
7 uses
8 Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
9 Dialogs, ComCtrls, StdCtrls;
10
11
12 type
13 TLocateForm = class(TForm)
14 TrackBar1: TTrackBar;
15 OkButton: TButton;
16 Label1: TLabel;
17 Name1: TLabel;
18 Name2: TLabel;
19 TrackBar2: TTrackBar;
20 Label2: TLabel;
21 Name3: TLabel;
22 TrackBar3: TTrackBar;
23 Label3: TLabel;
24 name4: TLabel;
25 TrackBar4: TTrackBar;
26 Label4: TLabel;
27 name5: TLabel;
28 TrackBar5: TTrackBar;
29 Label5: TLabel;
30 procedure FormCreate(Sender: TObject);
31 procedure TrackBar1Change(Sender: TObject);
32 procedure TrackBar2Change(Sender: TObject);
33 procedure TrackBar3Change(Sender: TObject);
34 procedure TrackBar4Change(Sender: TObject);
35 procedure TrackBar5Change(Sender: TObject);
36 private
37 valuet1,left1,right1:double;
38 valuet2,left2,right2:double;
39 valuet3,left3,right3:double;
40 valuet4,left4,right4:double;
41 valuet5,left5,right5:double;
42 public
43 function Value1(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
44 function Value2(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
45 function Value3(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
46 function Value4(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
47 function Value5(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
48 procedure InitValue;
49 end;
50
51 var
52 LocateForm: TLocateForm;
53
54 implementation
55 uses Base{,Struct},PaintFrm;
56 {$R *.lfm}
57
58
59
60 function TLocateForm.Value1(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
61 begin
62 name1.Caption:=name0;
63 OkButton.Visible:=not nowait;
64 name1.Visible:=true;
65
66 if vr then
67 begin
68 left1:=left0;
69 right1:=right0;
70 end;
71
72 if vi then
73 valuet1:=ini0;
74
75 if (valuet1-left1)*(valuet1-right1)>0 then
76 if vi then
77 setexception(11152)
78 else
79 valuet1:=(left0+right0)/2.0;
80
81 with TrackBar1 do
82 Position:=round(min+(valuet1-left1)/(right1-left1)*(max-min));
83 TrackBar1Change(self);
84
85 TrackBar1.Visible:=true;
86 TrackBar1.Enabled:=true;
87 WindowState:=wsNormal;
88 if nowait then
89 visible:=true
90 else
91 begin
92 TrackBar2.Enabled:=false;
93 TrackBar3.Enabled:=false;
94 TrackBar4.Enabled:=false;
95 TrackBar5.Enabled:=false;
96 Application.ProcessMessages;
97 if showModal<>mrOk then
98 CtrlBreakHit:=true ;
99 TrackBar1.Enabled:=false;
100 end;
101 result:=valuet1;
102 end;
103
104 function TLocateForm.Value2(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
105 begin
106 name2.Caption:=name0;
107 OkButton.Visible:=not nowait;
108 if ClientHeight<2*50 then ClientHeight:=2*50;
109 name2.Visible:=true;
110
111 if vr then
112 begin
113 left2:=left0;
114 right2:=right0;
115 end;
116
117 if vi then
118 valuet2:=ini0;
119
120 if (valuet2-left2)*(valuet2-right2)>0 then
121 if vi then
122 setexception(11152)
123 else
124 valuet2:=(left0+right0)/2.0;
125
126 with TrackBar2 do
127 Position:=round(min+(valuet2-left2)/(right2-left2)*(max-min));
128 TrackBar2Change(self);
129
130 TrackBar2.Visible:=true;
131 TrackBar2.Enabled:=true;
132 WindowState:=wsNormal;
133 if nowait then
134 visible:=true
135 else
136 begin
137 TrackBar1.Enabled:=false;
138 TrackBar3.Enabled:=false;
139 TrackBar4.Enabled:=false;
140 TrackBar5.Enabled:=false;
141 Application.ProcessMessages;
142 if showModal<>mrOk then
143 CtrlBreakHit:=true ;
144 TrackBar2.Enabled:=false;
145 end;
146
147 result:=valuet2
148 end;
149
150
151
152 function TLocateForm.Value3(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
153 begin
154 name3.Caption:=name0;
155 OkButton.Visible:=not nowait;
156 if ClientHeight<3*50 then ClientHeight:=3*50;
157 name3.Visible:=true;
158
159 if vr then
160 begin
161 left3:=left0;
162 right3:=right0;
163 end;
164
165 if vi then
166 valuet3:=ini0;
167
168 if (valuet3-left3)*(valuet3-right3)>0 then
169 if vi then
170 setexception(33352)
171 else
172 valuet3:=(left0+right0)/2.0;
173
174 with TrackBar3 do
175 Position:=round(min+(valuet3-left3)/(right3-left3)*(max-min));
176 TrackBar3Change(self);
177
178 TrackBar3.Visible:=true;
179 TrackBar3.Enabled:=true;
180 WindowState:=wsNormal;
181 if nowait then
182 visible:=true
183 else
184 begin
185 TrackBar1.Enabled:=false;
186 TrackBar2.Enabled:=false;
187 TrackBar4.Enabled:=false;
188 TrackBar5.Enabled:=false;
189 Application.ProcessMessages;
190 if showModal<>mrOk then
191 CtrlBreakHit:=true ;
192 TrackBar3.Enabled:=false;
193 end;
194
195 result:=valuet3;
196 end;
197
198 function TLocateForm.Value4(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
199 begin
200 name4.Caption:=name0;
201 OkButton.Visible:=not nowait;
202 if ClientHeight<4*50 then ClientHeight:=4*50;
203 name4.Visible:=true;
204
205 if vr then
206 begin
207 left4:=left0;
208 right4:=right0;
209 end;
210
211 if vi then
212 valuet4:=ini0;
213
214 if (valuet4-left4)*(valuet4-right4)>0 then
215 if vi then
216 setexception(44454)
217 else
218 valuet4:=(left0+right0)/4.0;
219
220 with TrackBar4 do
221 Position:=round(min+(valuet4-left4)/(right4-left4)*(max-min));
222 TrackBar4Change(self);
223
224 TrackBar4.Visible:=true;
225 TrackBar4.Enabled:=true;
226 WindowState:=wsNormal;
227 if nowait then
228 visible:=true
229 else
230 begin
231 TrackBar1.Enabled:=false;
232 TrackBar2.Enabled:=false;
233 TrackBar3.Enabled:=false;
234 TrackBar5.Enabled:=false;
235 Application.ProcessMessages;
236 if showModal<>mrOk then
237 CtrlBreakHit:=true ;
238 TrackBar4.Enabled:=false;
239 end;
240
241
242 result:=valuet4;
243 end;
244
245 function TLocateForm.Value5(vr,vi,nowait:boolean; left0,right0,ini0:double; Name0:Ansistring):extended;
246 begin
247 name5.Caption:=name0;
248 OkButton.Visible:=not nowait;
249 if ClientHeight<5*50 then ClientHeight:=5*50;
250 name5.Visible:=true;
251
252 if vr then
253 begin
254 left5:=left0;
255 right5:=right0;
256 end;
257
258 if vi then
259 valuet5:=ini0;
260
261 if (valuet5-left5)*(valuet5-right5)>0 then
262 if vi then
263 setexception(55552)
264 else
265 valuet5:=(left0+right0)/2.0;
266
267 with TrackBar5 do
268 Position:=round(min+(valuet5-left5)/(right5-left5)*(max-min));
269 TrackBar5Change(self);
270
271 TrackBar5.Visible:=true;
272 TrackBar5.Enabled:=true;
273 WindowState:=wsNormal;
274 if nowait then
275 visible:=true
276 else
277 begin
278 TrackBar1.Enabled:=false;
279 TrackBar2.Enabled:=false;
280 TrackBar3.Enabled:=false;
281 TrackBar4.Enabled:=false;
282 Application.ProcessMessages;
283 if showModal<>mrOk then
284 CtrlBreakHit:=true ;
285 TrackBar1.Enabled:=false;
286 end;
287
288
289 result:=valuet5;
290 end;
291
292
293
294
295 procedure TLocateForm.FormCreate(Sender: TObject);
296 begin
297 if height<paintform.Top then
298 top:=paintform.Top-height
299 else
300 top:=0;
301 left:=paintform.left+paintform.width-width;
302 end;
303
304 procedure TLocateForm.TrackBar1Change(Sender: TObject);
305 begin
306 with TrackBar1 do
307 begin
308 valuet1:=left1 + (Position/(max-min))*(right1-left1);
309 Label1.Caption:=Format('%8.8g',[valuet1]);
310 Label1.Left:=Left+(Position -label1.Width) div 2;
311 Label1.Visible:=true;
312 end;
313 end;
314
315 procedure TLocateForm.TrackBar2Change(Sender: TObject);
316 begin
317 with TrackBar2 do
318 begin
319 valuet2:=left2 + (Position/(max-min))*(right2-left2);
320 Label2.Caption:=Format('%8.8g',[valuet2]);
321 Label2.Left:=Left+(Position -label2.Width) div 2;
322 Label2.Visible:=true;
323 end;
324 end;
325
326 procedure TLocateForm.TrackBar3Change(Sender: TObject);
327 begin
328 with TrackBar3 do
329 begin
330 valuet3:=left3 + (Position/(max-min))*(right3-left3);
331 Label3.Caption:=Format('%8.8g',[valuet3]);
332 Label3.Left:=Left+(Position -label3.Width) div 2;
333 Label3.Visible:=true;
334 end;
335 end;
336
337 procedure TLocateForm.TrackBar4Change(Sender: TObject);
338 begin
339 with TrackBar4 do
340 begin
341 valuet4:=left4 + (Position/(max-min))*(right4-left4);
342 Label4.Caption:=Format('%8.8g',[valuet4]);
343 Label4.Left:=Left+(Position -label4.Width) div 2;
344 Label4.Visible:=true;
345 end;
346 end;
347
348 procedure TLocateForm.TrackBar5Change(Sender: TObject);
349 begin
350 with TrackBar5 do
351 begin
352 valuet5:=left5 + (Position/(max-min))*(right5-left5);
353 Label5.Caption:=Format('%8.8g',[valuet5]);
354 Label5.Left:=Left+(Position -label5.Width) div 2;
355 Label5.Visible:=true;
356 end;
357 end;
358
359 procedure TLocateForm.InitValue;
360 begin
361 Visible:=false;
362 Application.ProcessMessages;
363 left1:=0; right1:=1; valuet1:=0.5;
364 left2:=0; right2:=1; valuet2:=0.5;
365 left3:=0; right3:=1; valuet3:=0.5;
366 left4:=0; right4:=1; valuet4:=0.5;
367 left5:=0; right5:=1; valuet5:=0.5;
368 name1.Visible:=false; Trackbar1.Visible:=false; Label1.Visible:=false;
369 name2.Visible:=false; Trackbar2.Visible:=false; Label2.Visible:=false;
370 name3.Visible:=false; Trackbar3.Visible:=false; Label3.Visible:=false;
371 name4.Visible:=false; Trackbar4.Visible:=false; Label4.Visible:=false;
372 name5.Visible:=false; Trackbar5.Visible:=false; Label5.Visible:=false;
373 ClientHeight:=50;
374 OkButton.Visible:=true;
375 end;
376
377 end.

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26