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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2008, 17:58   #1
Air
Участник клуба
 
Аватар для Air
 
Регистрация: 30.04.2007
Сообщений: 1,307
Восклицание Функции сохранения OutList в Ini-файл

Возможно я сделал велосипед. Но у меня привычка всё объединять в функции и процедуры...
Но, всё же оцените.
Описание.
Многим известен компонент TOutline и его прекрасное свойства
Код:
SaveToFile();
LoadFromFile();
Но у меня возникла проблема сохранения данных в формат Ini-файла.
Напомню про ini-файл.
Код:
[Set] // секция
X=12 // параметр "=" значение
TOutline
Код:
"Слово"
<тут табуляция>"ещё слово"
табуляция или #9

Однако я написал пару функций для TOutline, точнее для сохранения его данных в формате Ini-файла.
Код:
Function EnCodeOutList(Outline:TOutline):String;
var s,Text:string; i:integer; Entr:boolean;
begin
Text:=Outline.Lines.Text;
for i:=1 to strlen(pchar(Text)) do
 begin
  if Text[i] <> #9 then
   begin
    if Text[i] = #$A then continue;
    if Text[i] = #$D then
     if Text[i+1] = #$A then
      begin
       s:=s+#2;
       continue;
      end;
    s:=s+Text[i];
    Entr:=true;
   end
  else
   begin
    if Entr then s:=s+#1;
    s:=s+#9;
    Entr:=false;
   end;
 end;
Result:=s;
end;

Function DeCodeOutList(Text:String):String;
var s:string; i:integer; Entr:boolean;
begin
Entr:=false;
for i:=1 to strlen(pchar(Text)) do
 begin
  if Text[i] <> #9 then
   begin
    if Text[i] = #2 then
     begin
      s:=s+#13;
      continue;
     end;
     if Text[i] = #1 then
      begin
       s:=s+#10;
       continue;
      end;
    s:=s+Text[i];
    Entr:=true;
   end
  else
   begin
    s:=s+#9;
    Entr:=false;
   end;
 end;
Result:=s;
end;
Это сами функции
В архиве готовый тест-проект этих функций и ещё пара для Ini-файлов.

На моём компе всё работает, протестируйте пожалуйста, чтоб быть уверенным в их готовности.

Благодарю за внимание.
Вложения
Тип файла: zip OutListToIni.zip (10.3 Кб, 7 просмотров)
Всё гениальное - просто!
Air вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции сохранения TStringList в Ini-файл Air Свободное общение 0 29.06.2008 22:37
формат для сохранения окон vitalik007 Общие вопросы Delphi 9 26.05.2008 09:24
Проблемма сохранения потоков в файл EvgenMailRu Помощь студентам 1 03.09.2007 13:56
Компонент для сохранения настроек OrdJONY Общие вопросы Delphi 8 24.08.2007 10:36
Сохранения программы niva622 Помощь студентам 8 21.01.2007 09:10