X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=IndividualAbon.pas;h=c9ea92244ae55b3875c18c4c5eefcafeb788b02b;hb=refs%2Fheads%2Fmaster;hp=9fb843e751e6ee087d60ed5ce091526265a2c9e4;hpb=72e991b01c8fefc5dc04777f0123608d46747477;p=gikonavigoeson%2Fgikonavi.git diff --git a/IndividualAbon.pas b/IndividualAbon.pas index 9fb843e..c9ea922 100644 --- a/IndividualAbon.pas +++ b/IndividualAbon.pas @@ -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 éŒ¾ } FThreadLogFileName: String; FNGFileName: String; + FDeleteList: TStringList; public { Public éŒ¾ } 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,6 +93,7 @@ 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); if str <> '' then @@ -92,6 +101,7 @@ begin end; if ComboBox1.Items.Count > 0 then Result := true; + except Result := false; end; @@ -114,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; @@ -137,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.