Показать сообщение отдельно
  #10  
Старый 26.02.2010, 19:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Как я понял из вашего примера вы хотите сделать перевод текста, а не словарь. Тогда совершенно непонятно, зачем вам делать из текста словарь. Проще сразу заменять слова непосредственно в тексте.
Зачем-же вы считываете каждое слово из Ini. Считайте сразу всю секцию.
Вообще Ini-файл не самое удобное хранилище для словаря, но если уж так хочется, то вот вам небольшое усовершенстование стандартного класса TIniFile - писал как-то в похожей задаче.
Код:
  
Type 
  TSectionIniFile = array of record Key,Value: String end;
  THelperIniFile = class helper for TIniFile
    function ReadSectionIdentsAndValues(const Section: string): TSectionIniFile;
  end;

function THelperIniFile.ReadSectionIdentsAndValues(const Section: string): TSectionIniFile;
Var
  Strings: TStringList;
  i: Integer;
begin
 Strings := TStringList.Create;
 ReadSectionValues(Section, Strings);
 SetLength(Result,Strings.Count);
 for i := 0 to Length(Result)-1
 do begin
    Result[i].Key := Copy(Strings[i],1,Pos('=',Strings[i])-1);
    Result[i].Value := Copy(Strings[i],Pos('=',Strings[i])+1);
    end;
end;
Поместите этот код в тело программы и стандартный клас TIniFile получит дополнительный метод ReadSectionIdentsAndValues
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием