Develop and Download Open Source Software

Browse CVS Repository

Contents of /gikonavigoeson/gikonavi/NGWordEdit.pas

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


Revision 1.4 - (show annotations) (download) (as text)
Wed Feb 14 15:01:44 2007 UTC (17 years, 2 months ago) by h677
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +0 -0 lines
File MIME type: text/x-pascal
FILE REMOVED
削除

1 unit NGWordEdit;
2
3 interface
4
5 uses
6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7 Dialogs, ExtCtrls, StdCtrls, ComCtrls, GikoListView, Menus, GikoXMLDoc,
8 NGWordUnit;
9
10 type
11 TNGWordEditForm = class(TForm)
12 Panel1: TPanel;
13 Panel2: TPanel;
14 Panel3: TPanel;
15 AddButton: TButton;
16 DeleteButton: TButton;
17 ApplyButton: TButton;
18 Button4: TButton;
19 Panel4: TPanel;
20 Panel5: TPanel;
21 GikoListView2: TGikoListView;
22 GikoListView1: TGikoListView;
23 ComboBox1: TComboBox;
24 Label1: TLabel;
25 NGWordEdit: TEdit;
26 Label2: TLabel;
27 ModifiedNGButton: TButton;
28 AddNGButton: TButton;
29 DeleteNGButton: TButton;
30 MainMenu1: TMainMenu;
31 File1: TMenuItem;
32 Load1: TMenuItem;
33 Save1: TMenuItem;
34 procedure Load1Click(Sender: TObject);
35 procedure Save1Click(Sender: TObject);
36 procedure FormCreate(Sender: TObject);
37 procedure GikoListView1SelectItem(Sender: TObject; Item: TListItem;
38 Selected: Boolean);
39 procedure AddNGButtonClick(Sender: TObject);
40 procedure DeleteNGButtonClick(Sender: TObject);
41 procedure AddButtonClick(Sender: TObject);
42 procedure DeleteButtonClick(Sender: TObject);
43 procedure ApplyButtonClick(Sender: TObject);
44 procedure ModifiedNGButtonClick(Sender: TObject);
45 procedure GikoListView2SelectItem(Sender: TObject; Item: TListItem;
46 Selected: Boolean);
47 private
48 { Private 鐃緒申鐃緒申 }
49 function AddNGWord(ngWord: TNGWords): TListItem;
50 procedure AddWord(word: TNGWord);
51 public
52 { Public 鐃緒申鐃緒申 }
53 end;
54
55 var
56 NGWordEditForm: TNGWordEditForm;
57
58 implementation
59
60 uses
61 GikoSystem;
62 {$R *.dfm}
63
64 procedure TNGWordEditForm.Load1Click(Sender: TObject);
65 var
66 fname : String;
67 i: Integer;
68 begin
69 GikoListView2.Items.BeginUpdate;
70 GikoListView1.Items.BeginUpdate;
71 try
72 GikoListView2.Items.Clear;
73 GikoListView1.Items.Clear;
74 fname := GikoSys.GetAppDir + 'ngwords.xml';
75 NGWordList.LoadFromFile(fname);
76
77 for i :=0 to NGWordList.Count - 1 do begin
78 AddNGWord(TNGWords(NGWordList.Items[i]));
79 end;
80 finally
81 GikoListView1.Items.EndUpdate;
82 GikoListView2.Items.EndUpdate;
83 end;
84 end;
85 function TNGWordEditForm.AddNGWord(ngWord: TNGWords): TListItem;
86 begin
87 Result := GikoListView1.Items.Add;
88 Result.ImageIndex := -1;
89 Result.Caption := '';
90 Result.SubItems.Clear;
91 Result.SubItems.Add(ngWord.ToString);
92 Result.Checked := ngWord.Invisible;
93 Result.Data := ngWord;
94 end;
95
96 procedure TNGWordEditForm.Save1Click(Sender: TObject);
97 begin
98 if (NGWordList <> nil) then begin
99 NGWordList.SaveToFrile(GikoSys.GetAppDir + 'ngwords2.xml');
100 end;
101 end;
102
103 procedure TNGWordEditForm.FormCreate(Sender: TObject);
104 var
105 column1,column2: TListColumn;
106 i: Integer;
107 begin
108 GikoListView1.Columns.BeginUpdate;
109 column1 := GikoListView1.Columns.Add;
110 column1.ImageIndex := -1;
111 column1.Caption := '鐃緒申鐃緒申';
112 column1.DisplayName := '鐃緒申鐃緒申';
113 column1.Width := 40;
114 column1 := GikoListView1.Columns.Add;
115 column1.ImageIndex := -1;
116 column1.Caption := 'NG鐃緒申鐃?鐃?';
117 column1.DisplayName := 'NG鐃緒申鐃?鐃?';
118 column1.Width := 250;
119 GikoListView1.Columns.EndUpdate;
120
121
122 GikoListView2.Columns.BeginUpdate;
123 column2 := GikoListView2.Columns.Add;
124 column2.ImageIndex := -1;
125 column2.Caption := '鐃?鐃緒申鐃緒申鐃緒申';
126 column2.DisplayName := '鐃?鐃緒申鐃緒申鐃緒申';
127 column2.Width := 100;
128 column2 := GikoListView2.Columns.Add;
129 column2.ImageIndex := -1;
130 column2.Caption := '鐃緒申鐃?鐃?';
131 column2.DisplayName := '鐃緒申鐃?鐃?';
132 column2.Width := 190;
133 GikoListView2.Columns.EndUpdate;
134
135 GikoListView1.Items.BeginUpdate;
136 for i :=0 to NGWordList.Count - 1 do begin
137 AddNGWord(TNGWords(NGWordList.Items[i]));
138 end;
139 GikoListView1.Items.EndUpdate;
140 end;
141 // 鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃?鐃緒申鐃?
142 procedure TNGWordEditForm.GikoListView1SelectItem(Sender: TObject;
143 Item: TListItem; Selected: Boolean);
144 var
145 ngWord : TNGWords;
146 i: Integer;
147 begin
148 if (Item <> nil) and (Item.Data <> nil) then begin
149 ngWord := TNGWords(item.Data);
150 GikoListView2.Items.BeginUpdate;
151 GikoListView2.items.Clear;
152 if ngWord.Count = 0 then begin
153 // 鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃?
154 AddWord(nil);
155 end else begin
156 // 鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
157 for i := 0 to ngWord.Count - 1 do begin
158 AddWord( TNGWord(ngWord.Items[i]) );
159 end;
160
161 end;
162 GikoListView2.Items.EndUpdate;
163 end;
164 end;
165 // 鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?
166 procedure TNGWordEditForm.AddWord(word: TNGWord);
167 var
168 litem: TListItem;
169 begin
170 litem := GikoListView2.Items.Add;
171 litem.ImageIndex := -1;
172 litem.SubItems.Clear;
173 litem.Data := word;
174 if (word = nil) then begin
175 litem.Caption := '<鐃緒申鐃緒申鐃緒申>'
176 end else begin
177 case Integer(word.NGType) of
178 Integer(gntAll): litem.Caption := '鐃?鐃緒申';
179 Integer(gntName): litem.Caption := '鐃緒申鐃?鐃緒申';
180 Integer(gntMail): litem.Caption := '鐃緒申鐃?鐃緒申鐃緒申';
181 Integer(gntDateId):litem.Caption := '鐃緒申鐃?ID鐃緒申';
182 Integer(gntBody): litem.Caption := '鐃?鐃緒申';
183 end;
184 litem.SubItems.Add(word.Word);
185 end;
186 end;
187 //! NG鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申
188 procedure TNGWordEditForm.AddNGButtonClick(Sender: TObject);
189 var
190 litem: TListItem;
191 word: TNGWord;
192 begin
193 // 鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
194 litem := GikoListView1.Selected;
195 if (litem <> nil) then begin
196 if NGWordEdit.Text <> '' then begin
197 // <鐃緒申鐃緒申鐃緒申>鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
198 if (TNGWords(litem.Data).Count = 0) then begin
199 GikoListView2.Items.Delete(0);
200 end;
201 word := TNGWord.Create;
202 word.NGType := TGikoNGType(ComboBox1.ItemIndex);
203 word.Word := NGWordEdit.Text;
204 TNGWords(litem.Data).Add(word);
205 AddWord(word);
206 litem.SubItems.Clear;
207 litem.SubItems.Add(TNGWords(litem.Data).ToString);
208 end else begin
209 ShowMessage('NG鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申');
210 end;
211 end;
212 end;
213 //! NG鐃緒申鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃緒申
214 procedure TNGWordEditForm.DeleteNGButtonClick(Sender: TObject);
215 var
216 litem, litem2: TListItem;
217 begin
218 // 鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
219 litem := GikoListView1.Selected;
220 if (litem <> nil) then begin
221 litem2 := GikoListView2.Selected;
222 if litem2 <> nil then begin
223 TNGWords(litem.Data).Delete(TNGWord(litem2.Data));
224 litem.Caption := TNGWords(litem.Data).ToString;
225 end;
226 GikoListView2.DeleteSelected;
227 end;
228 end;
229 //!
230 procedure TNGWordEditForm.AddButtonClick(Sender: TObject);
231 var
232 ngWords: TNGWords;
233 begin
234 if (NGWordList <> nil) then begin
235 ngWords := TNGWords.Create;
236 NGWordList.Add(ngWords);
237 GikoListView1.Selected := AddNGWord(ngWords);
238 GikoListView1.SetFocus;
239 end;
240 end;
241 //!
242 procedure TNGWordEditForm.DeleteButtonClick(Sender: TObject);
243 var
244 litem: TListItem;
245 begin
246 // 鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
247 litem := GikoListView1.Selected;
248 if (litem <> nil) and (NGWordList <> nil) then begin
249 NGWordList.Delte( TNGWords(litem.Data));
250 GikoListView1.DeleteSelected;
251 end;
252 end;
253
254 //! 鐃?鐃緒申鐃?鐃?鐃緒申 鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
255 procedure TNGWordEditForm.ApplyButtonClick(Sender: TObject);
256 var
257 i: Integer;
258 begin
259 for i := 0 to GikoListView1.Items.Count - 1 do begin
260 TNGWords(GikoListView1.Items[i].Data).Invisible :=
261 GikoListView1.Items[i].Checked;
262 end;
263 end;
264
265 procedure TNGWordEditForm.ModifiedNGButtonClick(Sender: TObject);
266 var
267 litem, litem2: TListItem;
268 begin
269 // 鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申
270 litem := GikoListView1.Selected;
271 if (litem <> nil) then begin
272 litem2 := GikoListView2.Selected;
273 if litem2 <> nil then begin
274 TNGWord(litem2.Data).NGType := TGikoNGType(ComboBox1.ItemIndex);
275 TNGWord(litem2.Data).Word := NGWordEdit.Text;
276 litem.SubItems.Clear;
277 litem.SubItems.Add(TNGWords(litem.Data).ToString);
278
279 case Integer(TNGWord(litem2.Data).NGType) of
280 Integer(gntAll): litem2.Caption := '鐃?鐃緒申';
281 Integer(gntName): litem2.Caption := '鐃緒申鐃?鐃緒申';
282 Integer(gntMail): litem2.Caption := '鐃緒申鐃?鐃緒申鐃緒申';
283 Integer(gntDateId):litem2.Caption := '鐃緒申鐃?ID鐃緒申';
284 Integer(gntBody): litem2.Caption := '鐃?鐃緒申';
285 end;
286 litem2.SubItems.Clear;
287 litem2.SubItems.Add(TNGWord(litem2.Data).Word);
288 end;
289 end;
290 end;
291
292 procedure TNGWordEditForm.GikoListView2SelectItem(Sender: TObject;
293 Item: TListItem; Selected: Boolean);
294 var
295 word : TNGWord;
296 i: Integer;
297 begin
298 if (Item <> nil) and (Item.Data <> nil) then begin
299 word := TNGWord(item.Data);
300 ComboBox1.ItemIndex := Ord(word.NGType);
301 NGWordEdit.Text := word.Word;
302 end;
303 end;
304 end.

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