Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2011, 12:30   #11
Lesha
Форумчанин
 
Аватар для Lesha
 
Регистрация: 30.01.2009
Сообщений: 418
По умолчанию

пробуй

Код:
const
  Delim = ':';

type
TSFLFile = class(TObject)
    SearchByMD5: Boolean;
    FilesName: string;
    FileMD5: string;
end;

TSFLList = Class(TList)
  private
    TS: TStringList;
    function GetFile(Indx: Integer): TSFLFile;
  public
    constructor Create; //override;
    destructor Destroy; override;
    property Records[Indx: Integer]: TSFLFile read GetFile;
    procedure AddRecordToLV(aSFLFileRec: TSFLFile);
    procedure DeleteRecord(Indx: Integer);
    procedure SaveToFile(aFileName: string);
    function GetSFLFileSearchState(aParam: Boolean): string;
End;

{...}

function TSFLList.GetSFLFileSearchState(aParam: Boolean): string;
begin
  if aParam then Result := 'h' {hash} else Result := 'n'; {name}
end;

procedure TSFLList.AddRecordToLV(aSFLFileRec: TSFLFile);
begin
  ADD(aSFLFileRec);
end;

constructor TSFLList.Create;
begin
  inherited Create;
  TS := TStringList.Create;
end;

procedure TSFLList.DeleteRecord(Indx: Integer);
begin
  Records[Indx].Free; // Освобождение обьекта
  Delete(Indx); // Удаляем из списка
end;

destructor TSFLList.Destroy;
var i: integer;
begin
  for i:=0 to count-1 do Records[i].Free;
  FreeAndNil(TS);
  inherited Destroy;
end;

function TSFLList.GetFile(Indx: Integer): TSFLFile;
begin
  Result := TSFLFile(items[Indx]);
end;

procedure TSFLList.SaveToFile(aFileName: string);
var
  i: Integer;
begin
  for i := Count -1 downto 0 do
  begin
    TS.Add(Records[i].FilesName + Delim +
      GetSFLFileSearchState(Records[i].SearchByMD5) +
      Delim + Records[i].FileMD5);
  end;
  TS.SaveToFile(aFileName);
end;

Последний раз редактировалось Lesha; 22.08.2011 в 12:33.
Lesha вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Организация исключения типа Estackoverflow Человек Панда Помощь студентам 3 07.07.2011 16:25
ошибка в классе Progsenya C# (си шарп) 6 02.04.2011 18:43
Ошибка в классе С++ evoz23 Помощь студентам 3 21.09.2010 10:56
Ошибка при заполнении БД: EStackOverFlow insense БД в Delphi 7 29.06.2010 14:38