X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=IndividualAbon.pas;h=c9ea92244ae55b3875c18c4c5eefcafeb788b02b;hb=4c0dd05e2bd294909ea2a39c1407201064ad570e;hp=dac01c601359a32d7ea88c0187716d1ca8478fcb;hpb=755e9b5a4ef00ecd402a44d90db41a87c651e52b;p=gikonavigoeson%2Fgikonavi.git diff --git a/IndividualAbon.pas b/IndividualAbon.pas index dac01c6..c9ea922 100644 --- a/IndividualAbon.pas +++ b/IndividualAbon.pas @@ -4,19 +4,33 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls; + Dialogs, StdCtrls, Buttons, ExtCtrls; type TIndividualAbonForm = class(TForm) - ComboBox1: TComboBox; - Label1: TLabel; + 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 éŒ¾ } + { Private éŒ¾ } + FThreadLogFileName: String; + FNGFileName: String; + FDeleteList: TStringList; public - { Public éŒ¾ } - ResNumber : Integer; + { Public éŒ¾ } + FRepaint : boolean; + ResNumber : Integer; + function SetThreadLogFileName(AFileName: String): boolean; + function DeleteNG(AResNum: Integer): boolean; + property DeleteList : TStringList read FDeleteList write FDeleteList; end; var @@ -27,8 +41,150 @@ implementation {$R *.dfm} procedure TIndividualAbonForm.Button1Click(Sender: TObject); +var + NGFile: TStringList; + i, j: Integer; + + str: String; +begin + if (FileExists(FNGFileName)) and (ComboBox1.ItemIndex >= 0) then begin + NGFile := TStringList.Create; + try + try + NGFile.LoadFromFile(FNGFileName); + str := ComboBox1.Items[ComboBox1.ItemIndex] + '-'; + i := -1; + for j := 0 to NGFile.Count - 1 do begin + if AnsiPos(str, NGFile[j]) = 1 then begin + i := j; + break; + end; + end; + + 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) + else + NGFile.SaveToFile(FNGFileName); + end else + FRepaint := false; + except + end; + finally + NGFile.Free; + end; + end; +end; +function TIndividualAbonForm.SetThreadLogFileName(AFileName: String): boolean; +var + NGFile: TStringList; + i: Integer; + str: String; +begin + FThreadLogFileName := AFileName; + FNGFileName := ChangeFileExt(AFileName, '.NG'); + Result := false; + if FileExists(FNGFileName) then begin + NGFile := TStringList.Create; + try + 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); + if str <> '' then + ComboBox1.Items.Add(str); + end; + if ComboBox1.Items.Count > 0 then + Result := true; + + except + Result := false; + end; + finally + NGFile.Free; + end; + end; +end; +function TIndividualAbonForm.DeleteNG(AResNum: Integer): boolean; +var + NGFile: TStringList; + i, j: Integer; + + str: String; +begin + Result := false; + if (FileExists(FNGFileName)) and (AResNum > 0) then begin + NGFile := TStringList.Create; + try + try + NGFile.LoadFromFile(FNGFileName); + str := IntToStr(AResNum) + '-'; + i := -1; + for j := 0 to NGFile.Count - 1 do begin + if AnsiPos(str, NGFile[j]) = 1 then begin + i := j; + break; + end; + end; + if i >= 0 then begin + Result := true; + NGFile.Delete(i); + if NGFile.Count = 0 then + DeleteFile(FNGFileName) + else + NGFile.SaveToFile(FNGFileName); + end; + except + end; + finally + NGFile.Free; + end; + 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 - ResNumber := StrToInt(ComboBox1.Items[ComboBox1.ItemIndex]); + 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.