| 42 |
procedure SetIgnoreCategory(b: boolean); |
procedure SetIgnoreCategory(b: boolean); |
| 43 |
procedure EditIgnoreList(Sender: TObject); |
procedure EditIgnoreList(Sender: TObject); |
| 44 |
procedure UpdateIgnoreList(Sender: TObject); |
procedure UpdateIgnoreList(Sender: TObject); |
| 45 |
|
function CheckDeleteItem(ini: TMemIniFile): Boolean; |
| 46 |
public |
public |
| 47 |
{ Public 宣言 } |
{ Public 宣言 } |
| 48 |
class procedure InitHTTPClient(client : TIdHTTP); |
class procedure InitHTTPClient(client : TIdHTTP); |
| 302 |
end; |
end; |
| 303 |
end; |
end; |
| 304 |
end; |
end; |
| 305 |
|
// カテゴリ/板が減っただけだとChangeフラグがたたないときの対策 |
| 306 |
|
if not Change then begin |
| 307 |
|
Change := CheckDeleteItem(ini); |
| 308 |
|
end; |
| 309 |
finally |
finally |
| 310 |
if Change then |
if Change then |
| 311 |
ini.UpdateFile; |
ini.UpdateFile; |
| 326 |
end; |
end; |
| 327 |
Result := Change; |
Result := Change; |
| 328 |
end; |
end; |
| 329 |
|
//! 削除カテゴリ/板チェック |
| 330 |
|
function TNewBoardDialog.CheckDeleteItem(ini: TMemIniFile): Boolean; |
| 331 |
|
var |
| 332 |
|
URL: string; |
| 333 |
|
Title: string; |
| 334 |
|
orgini: TMemIniFile; |
| 335 |
|
orgStrings, newStrings: TStringList; |
| 336 |
|
i: Integer; |
| 337 |
|
begin |
| 338 |
|
orgini := TMemIniFile.Create(GikoSys.GetBoardFileName); |
| 339 |
|
orgStrings := TStringList.Create; |
| 340 |
|
newStrings := TStringList.Create; |
| 341 |
|
try |
| 342 |
|
ini.ReadSections(newStrings); |
| 343 |
|
orgini.ReadSections(orgStrings); |
| 344 |
|
if (newStrings.Count <> orgStrings.Count) then begin |
| 345 |
|
//カテゴリ追加は、板が追加になるのでチェックしなくてもいい |
| 346 |
|
//カテゴリの削除チェック |
| 347 |
|
for i := 0 to orgStrings.Count - 1 do begin |
| 348 |
|
if (newStrings.IndexOf(orgStrings[i]) = -1) then begin |
| 349 |
|
MessageMemo.Lines.Add('カテゴリ削除「' + orgStrings[i] + '」'); |
| 350 |
|
end; |
| 351 |
|
end; |
| 352 |
|
Result := True; |
| 353 |
|
end else begin |
| 354 |
|
// 板の数チェック |
| 355 |
|
ini.GetStrings(newStrings); |
| 356 |
|
orgini.GetStrings(orgStrings); |
| 357 |
|
if (newStrings.Count <> orgStrings.Count) then begin |
| 358 |
|
// 板の削除チェック |
| 359 |
|
for i := 0 to orgStrings.Count - 1 do begin |
| 360 |
|
if (newStrings.IndexOf(orgStrings[i]) = -1) then begin |
| 361 |
|
Title := Copy(orgStrings[i], 1 , AnsiPos('=',orgStrings[i]) - 1); |
| 362 |
|
URL := Copy(orgStrings[i], |
| 363 |
|
AnsiPos('=',orgStrings[i]) + 1, Length(orgStrings[i])); |
| 364 |
|
MessageMemo.Lines.Add('板削除「' + Title + '(' + URL +')」'); |
| 365 |
|
end; |
| 366 |
|
end; |
| 367 |
|
Result := True; |
| 368 |
|
end; |
| 369 |
|
end; |
| 370 |
|
finally |
| 371 |
|
orgStrings.Free; |
| 372 |
|
newStrings.Free; |
| 373 |
|
orgini.Free; |
| 374 |
|
end; |
| 375 |
|
end; |
| 376 |
procedure TNewBoardDialog.FormCreate(Sender: TObject); |
procedure TNewBoardDialog.FormCreate(Sender: TObject); |
| 377 |
begin |
begin |
| 378 |
StopButton.Enabled := False; |
StopButton.Enabled := False; |