OSDN Git Service

・板一覧更新の処理メッセージを追加
[gikonavigoeson/gikonavi.git] / IndividualAbon.pas
index bda2222..c9ea922 100644 (file)
@@ -4,25 +4,33 @@ interface
 
 uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, Buttons;
+  Dialogs, StdCtrls, Buttons, ExtCtrls;
 
 type
   TIndividualAbonForm = class(TForm)
-    ComboBox1: TComboBox;
-    Label1: TLabel;
-    Button1: TButton;
+    Panel1: TPanel;
     BitBtn1: TBitBtn;
+    BitBtn2: TBitBtn;
+    Button1: TButton;
+    Panel2: TPanel;
+    Label1: TLabel;
+    ComboBox1: TComboBox;
     procedure Button1Click(Sender: TObject);
+    procedure FormCreate(Sender: TObject);
+    procedure FormDestroy(Sender: TObject);
+    procedure BitBtn2Click(Sender: TObject);
   private
        { Private \90é\8c¾ }
        FThreadLogFileName: String;
        FNGFileName: String;
+       FDeleteList: TStringList;
   public
        { Public \90é\8c¾ }
        FRepaint : boolean;
        ResNumber : Integer;
        function SetThreadLogFileName(AFileName: String): boolean;
        function DeleteNG(AResNum: Integer): boolean;
+       property DeleteList : TStringList read FDeleteList write FDeleteList;
   end;
 
 var
@@ -53,9 +61,9 @@ begin
                                        end;
                                end;
 
-                               //i := NGFile.IndexOf(str);
                                if i >= 0 then begin
                                        FRepaint := true;
+                                       DeleteList.Add(Copy(str, 1, Length(str) - 1));
                                        NGFile.Delete(i);
                                        if NGFile.Count = 0 then
                                                DeleteFile(FNGFileName)
@@ -85,12 +93,15 @@ begin
                        try
                                NGFile.LoadFromFile(FNGFileName);
                                ComboBox1.Items.Clear;
+                ComboBox1.Sorted := true;
                                for i := 0 to NGFile.Count - 1do begin
                                        str := Copy(NGFile.Strings[i], 1, AnsiPos('-', NGFile.Strings[i]) - 1);
-                                       ComboBox1.Items.Add(str);
+                                       if str <> '' then
+                                               ComboBox1.Items.Add(str);
                                end;
-                               if NGFile.Count > 0 then
+                               if ComboBox1.Items.Count > 0 then
                                        Result := true;
+
                        except
                                Result := false;
                        end;
@@ -113,7 +124,7 @@ begin
                        try
                                NGFile.LoadFromFile(FNGFileName);
                                str := IntToStr(AResNum) + '-';
-                i := -1;
+                               i := -1;
                                for j := 0 to NGFile.Count - 1 do begin
                                        if AnsiPos(str, NGFile[j]) = 1 then begin
                                                i := j;
@@ -136,4 +147,44 @@ begin
        end;
 end;
 
+procedure TIndividualAbonForm.FormCreate(Sender: TObject);
+begin
+       FDeleteList := TStringList.Create;
+end;
+
+procedure TIndividualAbonForm.FormDestroy(Sender: TObject);
+begin
+       FDeleteList.Free;
+end;
+
+procedure TIndividualAbonForm.BitBtn2Click(Sender: TObject);
+var
+       NGFile: TStringList;
+       i{, j}: Integer;
+
+       str: String;
+begin
+       if (FileExists(FNGFileName)) then begin
+               NGFile := TStringList.Create;
+               try
+                       try
+                               FRepaint := false;
+                               NGFile.LoadFromFile(FNGFileName);
+                               for i := ComboBox1.Items.Count - 1 downto 0 do begin
+                                       str := ComboBox1.Items[i];
+                                       if( Length(str) > 0 ) then begin
+                                               FRepaint := true;
+                                               DeleteList.Add(str);
+                                               NGFile.Delete(i);
+                                       end;
+                               end;
+                DeleteFile(FNGFileName);
+                       except
+                       end;
+               finally
+                       NGFile.Free;
+               end;
+       end;
+end;
+
 end.