(*~\Глагол\Отделы\Обмен\ВводВывод\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*)
(**)                        ОТДЕЛ Настройки;
(*============================================================================*)
(* НАЗНАЧЕНИЕ: чтение и запись настроек приложения                            *)
(*============================================================================*)

ИСПОЛЬЗУЕТ
        (*     \Глагол\                          *)
  ИзФайла ИЗ "..\..\..\Отделы\Обмен\ВводВывод\",
   ВФайл  ИЗ "..\..\..\Отделы\Обмен\ВводВывод\",
        (*     \Глагол\                          *)
 оЦепи    ИЗ "..\..\..\Отделы\Иное\";

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ПропуститьПримечания-(потокД:ИзФайла.ДкПотоку);
(*
 * Пропускает в потоке <потокД> строки, начинающиеся с ";".
 *)
ПЕР
  знак:ЗНАК;
УКАЗ
  ПОКА
       НЕ ИзФайла.Конец(потокД)
  ВЫП
          знак:=ИзФайла.БудетЗнак(потокД);
    ЕСЛИ
         (знак = ";")
       ИЛИ
         (знак = 0DX)
    ТО
      ИзФайла.ПропуститьСтроку(потокД)
    ИНАЧЕ
      ВОЗВРАТ
    КОН
  КОН
КОН ПропуститьПримечания;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ЧитатьСтроку-(потокД:ИзФайла.ДкПотоку;
                    строка+:ЦЕПЬ);
УКАЗ
  Настройки.ПропуститьПримечания(потокД);
                  ИзФайла.Строку(потокД,строка);
                   оЦепи.УдалитьПробелы(строка);
  ЕСЛИ
       строка = '""'
  ТО
       строка[0]:=0X 
  КОН
КОН ЧитатьСтроку;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ЧитатьКлюч-(потокД:ИзФайла.ДкПотоку):КЛЮЧ;
ПЕР
  строка:ЦЕПЬ[5];
УКАЗ
  Настройки.ЧитатьСтроку(потокД,строка);
  ВОЗВРАТ строка = "ВКЛ"
КОН ЧитатьКлюч;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ЧитатьЦел-(потокД:ИзФайла.ДкПотоку):ЦЕЛ;
ПЕР
  число:ЦЕЛ;
УКАЗ
   Настройки.ПропуститьПримечания(потокД);
  число:=ИзФайла.Цел32(потокД);
         ИзФайла.ПропуститьСтроку(потокД);
  ВОЗВРАТ число
КОН ЧитатьЦел;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ПисатьПримечания-(потокД:ВФайл.ДкПотоку;
                    примечания-:ЦЕПЬ);
УКАЗ
  ЕСЛИ
       примечания # ""
  ТО
    ВФайл.ЦепьЗнаков(потокД,"; ");
    ВФайл.ЦепьЗнаков(потокД,примечания);
    ВФайл.ЦепьЗнаков(потокД,":^")
  КОН
КОН ПисатьПримечания;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ПисатьСтроку-(потокД:ВФайл.ДкПотоку;
                примечания-,
                    строка-:ЦЕПЬ);
УКАЗ
  Настройки.ПисатьПримечания(потокД,примечания);
  ЕСЛИ
       строка = ""
  ТО
    ВФайл.ЦепьЗнаков(потокД,'""')
  ИНАЧЕ
    ВФайл.ЦепьЗнаков(потокД,строка)
  КОН;
    ВФайл.ЦепьЗнаков(потокД,"^")
КОН ПисатьСтроку;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ПисатьКлюч-(потокД:ВФайл.ДкПотоку;
              примечания-:ЦЕПЬ;
                     ключ:КЛЮЧ);
УКАЗ
  Настройки.ПисатьПримечания(потокД,примечания);
  ЕСЛИ
       ключ
  ТО
    ВФайл.ЦепьЗнаков(потокД,"ВКЛ^")
  ИНАЧЕ
    ВФайл.ЦепьЗнаков(потокД,"ОТКЛ^")
  КОН
КОН ПисатьКлюч;

(*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~общедоступная ЗАДАЧА~~~~~~~~~~~~~~~~~~~*)
ЗАДАЧА
       ПисатьЦел-(потокД:ВФайл.ДкПотоку;
             примечания-:ЦЕПЬ;
                   число:ЦЕЛ);
УКАЗ
  Настройки.ПисатьПримечания(потокД,примечания);
  ВФайл.Цел4числа(потокД,"%d^",число,0,0,0)
КОН ПисатьЦел;

КОН Настройки.
