Скачать Утилиты для работы с dBase

11.11.1992
Скачать файл (16,66 Кб)

Уважаемые соратники по dBASE и иже с ним !

      Если Вам когда-нибудь приходилось иметь дело с более-менее
большим проектом,да еще устанавливать его на нескольких PC,то Вы,
конечно же сталкивались с проблемами массовых операций,которые хочется
автоматизировать.Я сильно подозреваю,что те,кто читает SP и пишет не
только на dBASE, уже написали себе что-то подобное,но для тех,у кого
руки еще не дошли,предлагаю нижеследующее.

      1) При установке пакета,да и в ходе разработки часто нужно
ZAPнуть базу,а то и несколько [сотен].И очень скучно входить в Fox
и писать каждый раз USE .. ZAP ..
      Поэтому - пользуйтесь программой ZAP,которая допускает групповые
операции и работает с подкаталогами !

      Запуск : ZAP маска [Subdir]

      В результате все указанное будет очищено в лучшем виде ! Каталоги
обрабатываются ,начиная с текущего.Любители программы ZAP(by I.Sviridov)
могут свободно мой Zap переименовать.

      2) Программа ZAPI проделывает то же самое с индексами IDX,причем
чистятся и компактные индексы FoxPro.Индексы Cdx и Ntx распознаются ,
но пока не обрабатываются,нет времени детально разобраться.Буду призна-
телен за информацию о структуре.Информация по CDX в SP45 недостаточна.

      3) Возможно у Вас возникало желание ,собрать всю информацию о
человеке(он же ТАБЕЛЬНЫЙ НОМЕР) или группе людей в отдельном каталоге.
Это удобно в целом  ряде случаев ,так как хорошо вписывается в
макроподстановки.И вообще:"Разделяй и властвуй".Да вот незадача -
грустно писать каждый раз MD TN1 ,MD TN2 ... и т.д..  Так попробуйте
программку BMD !

      Запуск : BMD <число1> <число2> [шаг] [постоянный префикс] /P

Шаг по умолчанию принят = 1.Если указывается /p ,то  префикс превратится
в постфикс.

      Примеры:

          Bmd 1 5
Создаются директории 1,2,3,4,5

          Bmd 1 26500 10 _TN /P
Будет создано черт знает сколько директорий вида
            1_TN,11_TN,21_TN .. 26491_TN


     4) А если вдруг понадобилось все это богатство уничтожить?
Нет ничего проще! "F8-и каталога нет."(By Trofimenko Dmitry) или
              BDD <каталог> и все дела !
В указанном каталоге будут уничтожены все подкаталоги со всем содержимым.
Исключение будет сделано только для подкаталогов,содержащих ReadOnly
файлы.Это ,конечно медленнее,чем F8 или Zap ,но позволит защитить что-то
особенно дорогое.

     5) Просто поразительно, до чего многие файлы одинаковы,особенно
до начала заполнения.Поэтому,чем писать много раз что-то вроде


      Сopy Tn_1.ntx Tn_2.ntx

пользуйтесь программой BMULTFIL ,которая раскопирует Ваш файл на нужное
количество.

      Запуск :
          BMULTFIL <файл-образец> <число1> <число2> [шаг] [префикс] /P

 Правила размножения - как в BMD.Пример:

          BMultFil tn_1.ntx 2 100 1 tn_


      5) Так как я оказался ,настолько туп,что не понял прелестей
Nantucket-ского MAKE,то написал свой,хотя и ограниченный.
Однако он в 5 раз меньше ,не требует Make-файла и знания правил
записи.

      Запуск : BMAKE программа 1 .. [программа N]

      Для каждого указанной программы проверяется наличие и время созда-
ния OBJ.Если оный отсутствует или имеет нулевую длину или устарел,то
запускается Clipper.Поиск Clipper-a ведется в текущем каталоге,а затем
в PATH.
      После чего выполняется строка

           TLINK программа1+..+программаN,,Nul,Clipper.lib+Extend.lib,

причем TLINK ищется аналогично Clipper,а библиотеки ищутся там же,где
был обнаружен Clipper.Наличие всех .PRG не требуется.Поэтому можно
писать что-то вроде
           BMAKE main util \cl\debug


Это покрывает 90% моих потребностей.Там же,где  надо что-то другое,
например Blinker(на мой взгляд лучший из оверлейников) или еще одна
библиотека,можно использовать программу NeedClip,которая делает только
первую часть указанного процесса,т.е.  трансляцию, и прекращается с
ErrorLevel 1 при наличии ошибок.  Т.е. можно написать Bat примерного
вида:

        NeedClip First Second Third
        IF Not ErrorLevel 1 Link Fisrt+second+Third+Debug ...

Желающие могут перетранслировать файл Bmake.pas с удобной для них
строкой линковки.

     6)Программка BDFILE предназначена для уничтожения указанных
файлов во всех подкаталогах.В отличие от BDD не будет пощады и файлам
ReadOnly,System,Hidden.Запуск

                BDFILE  [ДДММУУ]

При указании параметра даты уничтожаются только файлы ДО этой даты.
Это единственная причина ,по которой можно использовать BDFILE.В осталь-
ном Killer лучше.

     7) При завершении работы желательно скопировать текущее состояние
(баз или программ).Копировать все гамузом долговато будет,а BackUp имеет
свои неприятности(еще и Restore нужен,формат нечитабельный).Поэтому
была написана программа Update,которая копирует только свеженькое.Я ее
использую каждый день при разработке ,а в рабочих программах вставляю
перед выходом !Update *.dbf.Кроме того,ее можно использовать и в Bat,
т.к. системная команда Copy MsDos не имеет кода возврата.
     Конечно,использующие Ndos(DrDos не щупал) имеют меньше забот,т.к.
там  у Copy есть ключ /U и код возврата,но не везде же Ndos !
Подробное описание в файле Update.doc


Все программы транслировались TPC 5.0.

Все программы распространяются без -воз -мез -дно,т.е. да'гом.