
        Предоставляю Вашему вниманию несколько интересных модулей
  для разработки программ на языке Turbo Pascal V 6.0 из библиотеки
  "TURBO PASCAL SUPPORT" (c) 1990 - 1992  Мигач Ярослав.
        Условия распространения в конце этого файла.

  Список файлов на диске :

  REAME.1ST  -  Этот файл

  DEF.DOC    -  Документация по модулю начальных определений

  DEF.PAS    -  Исходный текст программ модуля

  DEF.TPU    -  Модуль начальных определений транслированный для
                Turbo Pascal V 6.0

  LCTEXT.DOC -  Документация на модуль текстовых потоков

  LCTEXT.PAS -  Исходный тескт программ модуля

  LCTEXT.TPU -  Модуль текстовых потоков транслированный для
                Turbo Pascal V 6.0

	Модуль обработки текстовых потоков и строковых
		 списков  LcText V 1.2

	Модуль содержит  ряд процедур  и функций  для работы  со
строковыми списками, что позволяет выполнять такие действия  как
добавление строки в список,  удаление строки из списка,  вставка
подсписка  в  список,  усечение  списка,  получение  ссылки   на
необходимый элемент списка, вычисление размера списка в  строках
и байтах.  Процедуры и  функции по  обработке списков  позволяют
также построить список из заданных строковых констант,  получить
список  строк  имен   файлов  текушего  поддиректория.   Имеется
процедура для получения пути в текущий поддиректорий.
	Однако основой  модуля являются  не процедуры  обработки
строковых  списков,  а  текстовые  потоки  ввода/вывода, которые
представлены  несколькими  обьектными   типами  обьявленными   в
интерфейсной   секции   модуля.   Необходимость    использования
текстовых потоков обьясняется отсутствием гибкости при работе  с
текстовыми   файлами.   В   обычном   текстовом   файле  имеется
возможность только последовательного чтения или последовательной
записи строк в файл. Нет возможности, скажем вернутся на  строку
назад.  Для  выполнения  даже  такого  простейшего,  казалось бы
дествия придется переоткрывать файл  заново и читать все  строки
до предыдущей  включительно. Если  в файле  содержится более 500
строк то такая программа будет работать очень медленно.
	Текстовый поток предоставляет возможность  произвольного
доступа  в  текстовый  файл.  Аналогично  процедуре  SEEK  можно
установить номер  строки с  которой начинать  чтение или запись.
Текстовый поток позволяет читать или писать в файл сразу не одну
строку,  а  список  строк  заданного  размера.  Кроме  этого   в
текстовом  потоке  имеется  совершенно  уникальная   возможность
удалять строки из середины  текстового файла, втавлять строки  в
середину  файла.  Имеется  также  возможность добавлять строки в
конец  текстового   файла  или   усекать  файл   по  строке    с
установленным номером. Текстовые потоки работают с файлами любой
длины   занимая    при   этом   миммум   места   в   динамически
распределяемой  области  памяти.  Размер  выделяемого буфера под
дисковые  операции  от   512  байт  до   64  Кбайт  по   желанию
пользователя.   Оптимальный   размер   буфера   4   Кбайта,  что
установлено эксперементальным путем.
	Ранее  речь  шла  только  о  текстовых  файлах.   Однако
благодаря   гибкости   обьектного   программирования  информация
для текстового потока модет быть представлена не только  файлами
различной структуры, но и например списком или массивом строк из
памяти  компьютера.  При  этом  программе использующей текстовые
потоки  совершенно  без  разницы  откуда  текстовый  поток берет
информацию  и  куда  передает  ее.  Именно  благодаря   гибкости
текстовых потоков  этот модуль  стал базовым  для многих модулей
ситемы  поддержки  TURBO  PASCAL  SUPPORT.  На  основе текстовых
потоков  созданы  модули  просмотра  текстов,  строковых   меню,
текстового редактора,  шаблона редактирования  для баз  данных и
д.р.  Список  подобных  модулей  постоянно расширяется поскольку
именно текстовые потоки предоставляют уникальные возможности для
программ обработки текстовой информации.

                            DEF V 1.1
                     Модуль основных определений

	Модуль Define  V 1.1   предназначен для  стыковки модулей
    "  TURBO  PASCAL  SUPPORT  "  по общим процедурам, функциям и
    типам  данных,   процедур  и   функций.  При    использовании
    специализированных процедур вода / вывода обьявленных в  этом
    модуле  появляется  возможность  быстрой организации красивых
    демонстрационных   версий   пользовательских   программ.  Эта
    возможность  появляется  за  счет  перехвата  функций  опроса
    клавиатуры.  Кроме  того,  если  пользовательская   программа
    использует  некоторые  вспомогательные  текстовые  файлы  для
    своей  работы,  то  в  демонстрационной  версии  эти файлы не
    потребуются, т.к. они будут включены в демонстрационный  файл
    вместе с перехватом клавиатуры.
	При  подключеном  манипуляторе  "мышь"  процедуры  модуля
    обращаются  к  соответствующему  драйверу  и   интерпритируют
    передвижение     "мышки"     как     нажатие      управляющих
    клавиш на функциональной клавиатуре.

        Оба модуля являются элементами инструментария разработчика
    "TURBO PASCAL SUPPORT", которая на сегодняшний день насчитывает
    более 25 различных модулей - окна, меню, редактора, графики,
    упаковщиков и т. п.

        Если Вас заинтересовали приведенные здесь модули и Вы будете
    использовать их в своих программах то перешлите автору адекватное
    вознаграждение от 15 до 150 денежных едениц ( за каждый модуль ),
    в зависимости от пользы, которую принесли Вам эти программы.
    В противном случае уничтожте эти файлы  после трех недель испытаний.
    Надеясь на Вашу порядочность автор приводит исходные тексты
    программ модулей а не TPU файлы.
       Автор надеется продолжить публикации в последующих выпусках
    Софпанорамы.

        По всем вопросам, связанными с применеием приведенных программ,
    а также библиотеки вообще, обращайтесь по адресу:

        253166 г.Киев - 166 ул. Милютенко 23 кв. 239   ( OLD )
        Мигачу Ярославу Альбертовичу
        ТЕЛ: 518-09-01 /дом/
             441-40-81 /раб/

        255020 г. Бровары киевской области             ( NEW )
               ул. Ю. Гагарина 19 кв. 66.
               Мигачу Ярославу Альбертовичу


                      *  *  *  *  *

       Автор приносит свои извинения читателям Софтпанорамы за
   задержку материала на несколько месяцев. Была проявленя небрежность 
   при передаче материалов главному редактору через третье лицо. 
   К настоящему времени для публикации подготовлены еще 2 выпуска
   с разделами по "TURBO PASCAL SUPPORT", однако нет возможности их
   поместить из за большого обьема материалов. Всего пока планируется
   6 - 10 выпусков по TPS.
