Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/Round.pas

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.22 - (show annotations) (download) (as text)
Sun Nov 20 14:58:02 2005 UTC (18 years, 4 months ago) by h677
Branch: MAIN
CVS Tags: v1_59_0_771, v1_59_0_770, v1_59_0_773, v1_59_0_772, v1_59_0_775, v1_59_0_774, v1_59_0_777, v1_59_0_776, v1_56_0_715, v1_59_0_778, v1_63_1_819, v1_57_0_737, v1_62_0_812, v1_57_0_735, v1_57_0_734, v1_57_0_733, v1_57_0_732, v1_57_0_731, v1_57_0_730, v1_57_0_739, v1_57_0_738, v1_59_1_765, v1_51_1_639, v1_53_0_671, v1_60_0_788, v1_60_0_789, v1_54_0_677, v1_54_0_676, v1_58_0_748, v1_58_0_745, v1_60_0_781, v1_60_0_782, v1_58_0_746, v1_60_0_784, v1_54_0_678, v1_60_0_786, v1_60_0_787, v1_56_0_707, v1_59_0_767, v1_56_0_705, v1_56_0_704, v1_56_0_703, v1_56_0_702, v1_56_0_701, v1_56_0_700, v1_59_1_778, v1_51_0_626, v1_57_0_723, b51, v1_52_1_658, v1_51_0_622, v1_59_0_768, v1_59_0_769, v1_57_0_725, v1_57_0_726, v1_57_0_727, v1_57_0_720, v1_57_0_722, v1_57_1_744, v1_57_0_728, v1_57_0_729, v1_52_0_646, v1_57_0_736, v1_51_0_620, v1_52_0_644, v1_58_0_752, v1_58_0_750, v1_58_0_751, v1_58_0_756, v1_58_0_757, v1_58_0_754, v1_58_0_755, v1_58_0_759, v1_52_0_643, v1_57_0_719, v1_57_0_718, v1_56_0_716, v1_54_0_687, v1_56_0_710, v1_56_0_711, v1_56_1_717, v1_56_1_716, v1_51_0_634, v1_51_0_635, v1_51_0_636, v1_51_0_637, v1_54_0_688, v1_54_0_689, v1_51_0_632, v1_51_0_633, v1_54_0_684, v1_54_0_685, v1_53_0_664, v1_61_0_796, v1_61_0_797, v1_61_0_795, v1_52_0_647, v1_61_0_798, v1_61_0_799, v1_51_0_638, v1_52_0_648, v1_53_0_661, v1_53_0_663, v1_53_0_662, v1_53_0_665, v1_53_0_667, v1_53_0_666, v1_53_0_669, v1_53_0_668, v1_55_0_692, v1_55_0_693, v1_55_0_696, v1_55_0_697, v1_55_0_694, v1_55_0_695, v1_52_0_645, v1_52_0_651, v1_54_1_691, v1_52_0_650, v1_56_2_724, v1_56_2_722, v1_52_0_652, v1_55_1_697, v1_52_0_642, v1_52_0_654, v1_56_0_714, v1_53_0_672, v1_53_0_670, v1_63_0_818, v1_63_0_817, v1_63_0_816, v1_63_0_815, v1_51_1_640, v1_54_0_686, v1_51_0_618, v1_51_0_619, v1_54_0_680, v1_54_0_681, v1_62_0_805, v1_62_0_804, v1_62_0_807, v1_62_0_806, v1_56_0_712, v1_62_0_803, v1_62_0_802, v1_56_0_713, v1_62_0_809, v1_54_0_682, v1_56_0_721, v1_51_0_630, v1_54_0_683, v1_51_0_631, v1_60_0_780, v1_60_0_779, v1_62_0_810, v1_62_0_811, v1_58_0_747, v1_60_0_783, v1_54_0_679, v1_59_2_785, marged_bRESPOPUP, v1_54_0_675, v1_51_0_628, root-of-Bb51, v1_56_0_706, root-of-Bb53, v1_52_1_657, v1_54_0_674, v1_52_0_660, v1_60_1_793, v1_51_0_629, v1_54_0_690, v1_51_0_627, v1_58_0_763, v1_58_0_762, v1_58_0_761, v1_58_0_760, v1_51_0_625, v1_62_1_813, v1_51_0_623, v1_57_2_749, v1_57_0_742, v1_57_0_743, v1_57_0_740, v1_57_0_741, v1_52_0_655, v1_56_0_709, v1_57_0_744, v1_52_0_656, v1_56_0_708, v1_52_0_649, v1_61_0_800, v1_53_1_673, v1_56_0_699, v1_56_0_698, v1_51_0_624, v1_51_1_641, v1_51_0_621, v1_60_0_793, v1_60_0_792, v1_60_0_791, v1_60_0_790, v1_60_2_794, v1_61_1_801, HEAD
Branch point for: Bb57, Bb56, Bb55, Bb53, Bb52, Bb51, Bb62, Bb63, Bb60, Bb61, Bb59, Bb58, bRESPOPUP, bListSU, Bb54
Changes since 1.21: +10 -10 lines
File MIME type: text/x-pascal
・皈ヒ・蝪シ、ホノユ、アツリ、ィスェホサ

1 unit Round;
2
3 interface
4
5 uses
6 Windows, Classes, Controls, Forms, StdCtrls, ComCtrls, Menus,
7 SysUtils, ImgList, ExtCtrls, GikoSystem, GikoUtil;
8
9 type
10 TRoundDialog = class(TForm)
11 RoundPopupMenu: TPopupMenu;
12 C1: TMenuItem;
13 P1: TMenuItem;
14 N1: TMenuItem;
15 D1: TMenuItem;
16 ItemIcon16: TImageList;
17 Panel1: TPanel;
18 Label1: TLabel;
19 Label2: TLabel;
20 RoundNameComboBox: TComboBox;
21 Panel2: TPanel;
22 Panel3: TPanel;
23 AllSelectButton: TButton;
24 AllCancelButton: TButton;
25 RoundDeleteButton: TButton;
26 Panel4: TPanel;
27 Button1: TButton;
28 RoundButton: TButton;
29 StatusBar1: TStatusBar;
30 RoundListView: TListView;
31 procedure RoundButtonClick(Sender: TObject);
32 procedure FormCreate(Sender: TObject);
33 procedure RoundListViewChange(Sender: TObject; Item: TListItem;
34 Change: TItemChange);
35 procedure AllSelectButtonClick(Sender: TObject);
36 procedure AllCancelButtonClick(Sender: TObject);
37 procedure RoundNameComboBoxChange(Sender: TObject);
38 procedure RoundDeleteButtonClick(Sender: TObject);
39 procedure RoundListViewColumnClick(Sender: TObject;
40 Column: TListColumn);
41 procedure RoundListViewCompare(Sender: TObject; Item1,
42 Item2: TListItem; Data: Integer; var Compare: Integer);
43 procedure RoundListViewColumnRightClick(Sender: TObject;
44 Column: TListColumn; Point: TPoint);
45 private
46 { Private ?ス?ス?ス?ス }
47 FColumnToSort: Integer;
48 FSortOrder: Boolean;
49 function GetRoundCount: Integer;
50 procedure SetRoundItem(RoundName: string);
51 function CompareTime(Time1: TDateTime; Time2: TDateTime; MarginMin: Integer): Boolean;
52 public
53 { Public ?ス?ス?ス?ス }
54 end;
55
56
57 implementation
58
59 uses
60 Giko, BoardGroup, RoundData, Math, GikoDataModule;
61
62 {$R *.DFM}
63
64 procedure TRoundDialog.RoundButtonClick(Sender: TObject);
65 var
66 i: Integer;
67 cnt: Integer;
68 msg: string;
69 Board: TBoard;
70 ThreadItem: TThreadItem;
71 RoundItem: TRoundItem;
72 begin
73 {$IF Defined(FRCRND) }
74 GikoDM.LoginAction.Checked := true; // ?ス?ス?ス?ス?ス?ス?ス?ス?スp?スr
75 {$IFEND}
76
77 {$IFNDEF LOOSENUP} //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス{$ELSE}?ス?ス?ス?ス?ス?ス?スg?ス?ス
78 if not GikoDM.LoginAction.Checked then begin
79 if GikoSys.Setting.UserID <> '' then begin
80 msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス' + #13#10
81 + '?ス?ス?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
82 if MsgBox(Handle, msg, '?スm?スF', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) <> IDYES then begin
83 Exit;
84 end;
85 GikoDM.LoginAction.Execute;
86 end;
87 if not GikoDM.LoginAction.Checked then begin
88 msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス';
89 MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
90 Exit;
91 end;
92 end;
93 {$ELSE}
94 //?スK?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スA?スX?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス\
95 if not GikoDM.LoginAction.Checked then begin
96 if GikoSys.Setting.UserID <> '' then begin
97 msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?スb?スh?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス' + #13#10
98 + '?ス?ス?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
99 if MsgBox(Handle, msg, '?スm?スF', MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2) <> IDYES then begin
100 Exit;
101 end;
102 GikoDM.LoginAction.Execute;
103 end;
104 end;
105 //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス15?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スu?ス?ス?スK?スv?ス?ス?ス?ス?ス?ス
106 if not GikoDM.LoginAction.Checked then begin
107 if CompareTime(GikoForm.LastRoundTime, Now, 30) then begin
108 msg := '?ス?ス?スx?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スR?スO?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スo?ス?ス?ス?ス?ス?ス?ス?ス';
109 MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
110 Exit;
111 end;
112 end;
113 {$ENDIF}
114
115 //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スG?ス?ス?ス[?ス?ス?ス?ス?ス?ス
116 cnt := GetRoundCount;
117 if cnt = 0 then begin
118 msg := '?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スP?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
119 MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
120 Exit;
121 end;
122
123 {$IFNDEF LOOSENUP}
124 //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スP?スx?ス?ス100?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
125 if not GikoDM.LoginAction.Checked then begin
126 if cnt > 100 then begin
127 msg := '?スP?スO?スO?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スx?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス';
128 MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
129 Exit;
130 end;
131 end;
132 {$ENDIF}
133
134 //?ス?ス?ス?ス?ス?ス?スo?ス^?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
135 for i := 0 to RoundList.Count[grtBoard] - 1 do begin
136 RoundItem := RoundList.Items[i, grtBoard];
137 //?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?ス[
138 if not RoundItem.BoolData then Continue;
139 //?スm?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN
140 if RoundItem.RoundType = grtBoard then begin
141 Board := TBoard( RoundItem.Item );
142 //Board?ス?ス?スI?スu?スW?スF?スN?スg?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スADL?ス?ス?ス?ス
143 if Board <> nil then begin
144 if not Board.IsThreadDatRead then
145 GikoSys.ReadSubjectFile(Board);
146 GikoForm.DownloadList(Board);
147 end;
148 end;
149 end;
150 for i := 0 to RoundList.Count[grtItem] - 1 do begin
151 RoundItem := RoundList.Items[i, grtItem];
152 //?ス?ス?ス?ス?ス?ス?ス`?スF?スb?スN?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?ス[
153 if not RoundItem.BoolData then Continue;
154 {$IFDEF LOOSENUP}
155 //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?スb?スh?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
156 if not GikoDM.LoginAction.Checked then begin
157 msg := '?ス?ス?スO?スC?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スX?ス?ス?スb?スh?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スB';
158 MsgBox(Handle, msg, '?スG?ス?ス?ス[', MB_OK or MB_ICONSTOP);
159 break;
160 end;
161 {$ENDIF}
162 if RoundItem.RoundType = grtItem then begin
163 ThreadItem := TThreadItem( RoundItem.Item );
164 if ThreadItem <> nil then begin
165 GikoForm.DownloadContent(ThreadItem);
166 end;
167 end;
168 end;
169 GikoForm.LastRoundTime := Now;
170 Close;
171 end;
172
173 function TRoundDialog.GetRoundCount: Integer;
174 var
175 i: Integer;
176 RoundItem: TRoundItem;
177 begin
178 Result := 0;
179 for i := 0 to RoundList.Count[grtBoard] - 1 do begin
180 RoundItem := RoundList.Items[i, grtBoard];
181 if RoundItem.BoolData then
182 Result := Result + 1;
183 end;
184 for i := 0 to RoundList.Count[grtItem] - 1 do begin
185 RoundItem := RoundList.Items[i, grtItem];
186 if RoundItem.BoolData then
187 Result := Result + 1;
188 end;
189 end;
190
191 function TRoundDialog.CompareTime(Time1: TDateTime; Time2: TDateTime; MarginMin: Integer): Boolean;
192 const
193 AMin: Double = (1 / 24 / 60);
194 var
195 d: TDateTime;
196 begin
197 d := Time1 + (AMin * MarginMin);
198 Result := Time2 < d;
199 end;
200
201 procedure TRoundDialog.FormCreate(Sender: TObject);
202 var
203 i: Integer;
204 begin
205 //?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?スf?ス[?ス^?ス?ス?スt?ス@?スC?ス?ス?スA?スE?スg?ス?ス?ス?ス
206 RoundList.SaveRoundFile;
207 RoundNameComboBox.Items.Add('?スi?ス?ス?ス?ス?ス?ス?スj');
208 for i := 0 to RoundList.RoundNameList.Count - 1 do
209 RoundNameComboBox.Items.Add(RoundList.RoundNameList[i]);
210 for i := 0 to RoundList.Count[grtBoard] - 1 do
211 RoundList.Items[i, grtBoard].BoolData := False;
212 for i := 0 to RoundList.Count[grtItem] - 1 do
213 RoundList.Items[i, grtItem].BoolData := False;
214 RoundNameComboBox.ItemIndex := 0;
215 SetRoundItem('');
216 end;
217
218 procedure TRoundDialog.RoundListViewChange(Sender: TObject;
219 Item: TListItem; Change: TItemChange);
220 var
221 RoundItem: TRoundItem;
222 begin
223 if TObject(Item.Data) is TRoundItem then begin
224 RoundItem := TRoundItem(Item.Data);
225 RoundItem.BoolData := Item.Checked;
226 end;
227 end;
228
229 procedure TRoundDialog.AllSelectButtonClick(Sender: TObject);
230 var
231 i: Integer;
232 RoundItem: TRoundItem;
233 ListChangeEvent: TLVChangeEvent;
234 begin
235 ListChangeEvent := RoundListView.OnChange;
236 RoundListView.OnChange := nil;
237 try
238 for i := 0 to RoundListView.Items.Count - 1 do begin
239 if TObject(RoundListView.Items[i].Data) is TRoundItem then begin
240 RoundItem := TRoundItem(RoundListView.Items[i].Data);
241 RoundItem.BoolData := True;
242 RoundListView.Items[i].Checked := True;
243 end;
244 end;
245 finally
246 RoundListView.OnChange := ListChangeEvent;
247 end;
248 end;
249
250 procedure TRoundDialog.AllCancelButtonClick(Sender: TObject);
251 var
252 i: Integer;
253 RoundItem: TRoundItem;
254 ListChangeEvent: TLVChangeEvent;
255 begin
256 ListChangeEvent := RoundListView.OnChange;
257 RoundListView.OnChange := nil;
258 try
259 for i := 0 to RoundListView.Items.Count - 1 do begin
260 if TObject(RoundListView.Items[i].Data) is TRoundItem then begin
261 RoundItem := TRoundItem(RoundListView.Items[i].Data);
262 RoundItem.BoolData := False;
263 RoundListView.Items[i].Checked := False;
264 end;
265 end;
266 finally
267 RoundListView.OnChange := ListChangeEvent;
268 end;
269 end;
270
271 procedure TRoundDialog.RoundNameComboBoxChange(Sender: TObject);
272 begin
273 //?スJ?ス?ス?ス?ス?ス?ス?ス\?ス[?スg?スL?ス?ス?スC?ス?ス?ス[?スW?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
274 if FColumnToSort > -1 then
275 RoundListView.Column[FColumnToSort].ImageIndex := -1;
276 FColumnToSort := -1;
277 if RoundNameComboBox.ItemIndex = 0 then
278 SetRoundItem('')
279 else
280 SetRoundItem(RoundNameComboBox.Items[RoundNameComboBox.itemIndex]);
281
282 end;
283
284 procedure TRoundDialog.SetRoundItem(RoundName: string);
285 var
286 ListItem: TListItem;
287 i: Integer;
288 ListChangeEvent: TLVChangeEvent;
289 begin
290 ListChangeEvent := RoundListView.OnChange;
291 RoundListView.OnChange := nil;
292 try
293 RoundListView.Clear;
294 for i := 0 to RoundList.Count[grtBoard] - 1 do begin
295 if (RoundList.Items[i, grtBoard].RoundName = RoundName) or (RoundName = '') then begin
296 ListItem := RoundListView.Items.Add;
297 ListItem.Data := RoundList.Items[i, grtBoard];
298 ListItem.Caption := RoundList.Items[i, grtBoard].RoundName;
299 ListItem.SubItems.Add(RoundList.Items[i, grtBoard].BoardTitle);
300 ListItem.SubItems.Add('-');
301 ListItem.Checked := RoundList.Items[i, grtBoard].BoolData;
302 ListItem.ImageIndex := 0;
303 end;
304 end;
305 for i := 0 to RoundList.Count[grtItem] - 1 do begin
306 if (RoundList.Items[i, grtItem].RoundName = RoundName) or (RoundName = '') then begin
307 ListItem := RoundListView.Items.Add;
308 ListItem.Data := RoundList.Items[i, grtItem];
309 ListItem.Caption := RoundList.Items[i, grtItem].RoundName;
310 ListItem.SubItems.Add(RoundList.Items[i, grtItem].BoardTitle);
311 ListItem.SubItems.Add(RoundList.Items[i, grtItem].ThreadTitle);
312 ListItem.Checked := RoundList.Items[i, grtItem].BoolData;
313 ListItem.ImageIndex := 1;
314 end;
315 end;
316 finally
317 RoundListView.OnChange := ListChangeEvent;
318 end;
319 end;
320
321 procedure TRoundDialog.RoundDeleteButtonClick(Sender: TObject);
322 var
323 // Board: TBoard;
324 // ThreadItem: TThreadItem;
325 RoundItem: TRoundItem;
326 ListChangeEvent: TLVChangeEvent;
327 begin
328 ListChangeEvent := RoundListView.OnChange;
329 RoundListView.OnChange := nil;
330 try
331 if RoundListView.Selected = nil then
332 Exit;
333 if TObject(RoundListView.Selected.Data) is TRoundItem then begin
334 RoundItem := TRoundItem(RoundListView.Selected.Data);
335 if( RoundItem.Item is TBoard ) then begin
336 TBoard(RoundItem.Item).Round := false;
337 end else if( RoundItem.Item is TThreadItem ) then begin
338 TThreadItem(RoundItem.Item).Round := false;
339 end;
340 //RoundList.Delete(RoundItem.URL,RoundItem.RoundType);
341 {
342 if RoundItem.RoundType = grtBoard then begin
343 //Board := TBoard( RoundItem.Item );
344 RoundList.Delete(RoundItem.URL,RoundItem.RoundType);
345 Board.Round := False;
346 Board.RoundName := '';
347 end else begin
348 //ThreadItem := TThreadItem( RoundItem.Item );
349 RoundList.Delete(ThreadItem);
350 ThreadItem.Round := False;
351 ThreadItem.RoundName := '';
352 end;
353 }
354 GikoForm.ListView.Refresh;
355 end;
356 RoundListView.Selected.Delete;
357 finally
358 RoundListView.OnChange := ListChangeEvent;
359 end;
360 end;
361
362 procedure TRoundDialog.RoundListViewColumnClick(Sender: TObject;
363 Column: TListColumn);
364 begin
365 if (Sender is TCustomListView) then begin
366
367 if FColumnToSort > -1 then
368 (Sender as TCustomListView).Column[FColumnToSort].ImageIndex := -1;
369
370 if FColumnToSort = Column.Index then
371 FSortOrder := not FSortOrder
372 else
373 FSortOrder := false;
374
375 if FSortOrder then
376 Column.ImageIndex := 3
377 else
378 Column.ImageIndex := 2;
379
380 FColumnToSort := Column.Index;
381 (Sender as TCustomListView).AlphaSort;
382 end;
383 end;
384
385 procedure TRoundDialog.RoundListViewCompare(Sender: TObject; Item1,
386 Item2: TListItem; Data: Integer; var Compare: Integer);
387 var
388 ix: Integer;
389 begin
390 if FColumnToSort = 0 then begin
391 if not FSortOrder then begin
392 Compare := CompareText(Item1.Caption,Item2.Caption);
393 if Compare = 0 then
394 Compare := CompareValue(Item1.ImageIndex, item2.ImageIndex);
395 end else begin
396 Compare := -CompareText(Item1.Caption,Item2.Caption);
397 if Compare = 0 then
398 Compare := -CompareValue(Item1.ImageIndex,item2.ImageIndex);
399 end;
400 end else begin
401 ix := FColumnToSort - 1;
402 if not FSortOrder then begin
403 Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
404 if Compare = 0 then
405 Compare := CompareValue(Item1.ImageIndex, item2.ImageIndex);
406 end else begin
407 Compare := -CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
408 if Compare = 0 then
409 Compare := -CompareValue(Item1.ImageIndex, item2.ImageIndex);
410 end;
411 end;
412 end;
413 (*
414 * ?スJ?ス?ス?ス?ス?ス?ス?ス?ス?スE?スN?ス?ス?スb?スN?ス?ス?ス?ス?ス?ス?ス\?ス[?スg?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス?ス
415 *)
416 procedure TRoundDialog.RoundListViewColumnRightClick(Sender: TObject;
417 Column: TListColumn; Point: TPoint);
418 begin
419 RoundNameComboBox.OnChange(Sender);
420 end;
421
422 end.

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