OSDN Git Service

This commit was manufactured by cvs2svn to create branch 'Bb62'.
[gikonavigoeson/gikonavi.git] / IndividualAbon.pas
1 unit IndividualAbon;
2
3 interface
4
5 uses
6   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
7   Dialogs, StdCtrls, Buttons, ExtCtrls;
8
9 type
10   TIndividualAbonForm = class(TForm)
11     Panel1: TPanel;
12     BitBtn1: TBitBtn;
13     BitBtn2: TBitBtn;
14     Button1: TButton;
15     Panel2: TPanel;
16     Label1: TLabel;
17     ComboBox1: TComboBox;
18     procedure Button1Click(Sender: TObject);
19     procedure FormCreate(Sender: TObject);
20     procedure FormDestroy(Sender: TObject);
21     procedure BitBtn2Click(Sender: TObject);
22   private
23         { Private \90é\8c¾ }
24         FThreadLogFileName: String;
25         FNGFileName: String;
26         FDeleteList: TStringList;
27   public
28         { Public \90é\8c¾ }
29         FRepaint : boolean;
30         ResNumber : Integer;
31         function SetThreadLogFileName(AFileName: String): boolean;
32         function DeleteNG(AResNum: Integer): boolean;
33         property DeleteList : TStringList read FDeleteList write FDeleteList;
34   end;
35
36 var
37   IndividualAbonForm: TIndividualAbonForm;
38
39 implementation
40
41 {$R *.dfm}
42
43 procedure TIndividualAbonForm.Button1Click(Sender: TObject);
44 var
45         NGFile: TStringList;
46         i, j: Integer;
47
48         str: String;
49 begin
50         if (FileExists(FNGFileName)) and (ComboBox1.ItemIndex >= 0) then begin
51                 NGFile := TStringList.Create;
52                 try
53                         try
54                                 NGFile.LoadFromFile(FNGFileName);
55                                 str := ComboBox1.Items[ComboBox1.ItemIndex] + '-';
56                                 i := -1;
57                                 for j := 0 to NGFile.Count - 1 do begin
58                                         if AnsiPos(str, NGFile[j]) = 1 then begin
59                                                 i := j;
60                                                 break;
61                                         end;
62                                 end;
63
64                                 if i >= 0 then begin
65                                         FRepaint := true;
66                                         DeleteList.Add(Copy(str, 1, Length(str) - 1));
67                                         NGFile.Delete(i);
68                                         if NGFile.Count = 0 then
69                                                 DeleteFile(FNGFileName)
70                                         else
71                                                 NGFile.SaveToFile(FNGFileName);
72                                 end else
73                                         FRepaint := false;
74                         except
75                         end;
76                 finally
77                         NGFile.Free;
78                 end;
79         end;
80 end;
81 function TIndividualAbonForm.SetThreadLogFileName(AFileName: String): boolean;
82 var
83         NGFile: TStringList;
84         i: Integer;
85         str: String;
86 begin
87         FThreadLogFileName := AFileName;
88         FNGFileName := ChangeFileExt(AFileName, '.NG');
89         Result := false;
90         if FileExists(FNGFileName) then begin
91                 NGFile := TStringList.Create;
92                 try
93                         try
94                                 NGFile.LoadFromFile(FNGFileName);
95                                 ComboBox1.Items.Clear;
96                 ComboBox1.Sorted := true;
97                                 for i := 0 to NGFile.Count - 1do begin
98                                         str := Copy(NGFile.Strings[i], 1, AnsiPos('-', NGFile.Strings[i]) - 1);
99                                         if str <> '' then
100                                                 ComboBox1.Items.Add(str);
101                                 end;
102                                 if ComboBox1.Items.Count > 0 then
103                                         Result := true;
104
105                         except
106                                 Result := false;
107                         end;
108                 finally
109                         NGFile.Free;
110                 end;
111         end;
112 end;
113 function TIndividualAbonForm.DeleteNG(AResNum: Integer): boolean;
114 var
115         NGFile: TStringList;
116         i, j: Integer;
117
118         str: String;
119 begin
120         Result := false;
121         if (FileExists(FNGFileName)) and (AResNum > 0) then begin
122                 NGFile := TStringList.Create;
123                 try
124                         try
125                                 NGFile.LoadFromFile(FNGFileName);
126                                 str := IntToStr(AResNum) + '-';
127                                 i := -1;
128                                 for j := 0 to NGFile.Count - 1 do begin
129                                         if AnsiPos(str, NGFile[j]) = 1 then begin
130                                                 i := j;
131                                                 break;
132                                         end;
133                                 end;
134                                 if i >= 0 then begin
135                                         Result := true;
136                                         NGFile.Delete(i);
137                                         if NGFile.Count = 0 then
138                                                 DeleteFile(FNGFileName)
139                                         else
140                                                 NGFile.SaveToFile(FNGFileName);
141                                 end;
142                         except
143                         end;
144                 finally
145                         NGFile.Free;
146                 end;
147         end;
148 end;
149
150 procedure TIndividualAbonForm.FormCreate(Sender: TObject);
151 begin
152         FDeleteList := TStringList.Create;
153 end;
154
155 procedure TIndividualAbonForm.FormDestroy(Sender: TObject);
156 begin
157         FDeleteList.Free;
158 end;
159
160 procedure TIndividualAbonForm.BitBtn2Click(Sender: TObject);
161 var
162         NGFile: TStringList;
163         i{, j}: Integer;
164
165         str: String;
166 begin
167         if (FileExists(FNGFileName)) then begin
168                 NGFile := TStringList.Create;
169                 try
170                         try
171                                 FRepaint := false;
172                                 NGFile.LoadFromFile(FNGFileName);
173                                 for i := ComboBox1.Items.Count - 1 downto 0 do begin
174                                         str := ComboBox1.Items[i];
175                                         if( Length(str) > 0 ) then begin
176                                                 FRepaint := true;
177                                                 DeleteList.Add(str);
178                                                 NGFile.Delete(i);
179                                         end;
180                                 end;
181                 DeleteFile(FNGFileName);
182                         except
183                         end;
184                 finally
185                         NGFile.Free;
186                 end;
187         end;
188 end;
189
190 end.