КАРТОТЕКА ФАЙЛОВ.
------------------------------------------
Представляю на суд достопочтенной пуб-
лики свой проект, написанный в 1996 году и
являющийся последней моей работой на
Спектруме`48. Сейчас с ужасом вспоминаю то
время, когда имелось только 48Kb памати и
"GENS-ЧD". Кто прошел через это, тот пой-
мет, что писать серьезные вещи весьма
трудно в таких условиях. Поэтому в расчи-
тываю на снисхождение с вашей стороны при
тестировании моей программы. Кстати, об-
ъявленная во внутреннем хелпе программа
"LPRINT САТ" так до сих пор и не написана
ввиду лени и нерентабельности проекта кар-
тотеки. Программа "Картотека" писалась в
первую очередь для себя, поэтому учитыва-
лись исключительно свои пожелания к серви-
су и возможностям, а уже потом дорабатыва-
лась к запросам друзей и пользователей. Но
после наступления ограничений памяти (ос-
талось свободно около 300 байт) проект был
свернут и последующий сервис не реализован
до конца. Sorry.
За саму программу говорить особо нече-
го, т.к. она написана максимально доходчи-
во и просто. Используется оконный интер-
фейс, который удобен во всех случаях жиз-
ни. Именно эта версия в доработанном к но-
вовведениям (мышь, пиктограммы и прочее)
виде используется в журнале "Черная Воро-
на". Если нет надписей "Выход" или "Про-
должить", тогда выведи курсор за пределы
окна и нажми "огонь" на устройстве, кото-
рым катаешь этот самый курсор. Программа
"не мышит" по причине отсутствия данного
устройства на момент ее написания. Не из-
бежал я и идиотских ситуаций в алгоритме.
Речь идет о вводе начальной буквы при "По-
иске по алфавиту". Необходимо нажимать
исключительно с CAPS SHIFT нужную букву,
иначе ничего не найдешь. Сейчас уже и не
помню все извраты, которые там делал, но
то, что перемудрил - это однозначно.
Назначение программы очевидно из ее
названия. Пользователю предоставляется
возможность занесения двух тысяч файлов в
картотеку, поделенную на плавающего разме-
ра сектора (диски и кассеты). Разделение
происходит по номерам твоего накопителя.
Так здесь сделано. Можно установить фильтр
для отсеивания ненужной информации. Напри-
мер, если надо считать только кодовые фай-
лы или бейсиковые загрузчики. Здесь введе-
на стандартизация, которая, на мой взгляд,
наиболее логична: Бейсик-загрузчик должен
быть с заглавной буквы, обычный бейсик - с
прописной. Но это не значит, что все
должно обстоять именно так! Введи фильтр
"all file" и получишь занесение всех фай-
лов с накопителя. Потом вручную в режиме
просмотра удали все лишнее. В режим корек-
ции имени можно попасть при помощи курсора
наведя его на интересующий файл. О всех
дальнейших возможностях становится ясно,
когда попадаешь в менюшки и читаешь то,
что там написано.
Метод чтения и занесения информации, на
мой взгляд, неплохой, но неудобства воз-
никнут, если подсунуть диск не
TR-DOS`овского формата при циклическом
считывании. Программа не должна никогда
"сбрасываться". Я уделил этому максимум
внимания. На момент ее создания я собрал
целую кучу подобного софта для того, чтобы
видеть - как не надо делать, чтобы было
хорошо и красиво. Кстати, если кто хочет
развить этот проект далее, напишите мне и
я вышлю исходные листинги самой программы
и оболочки. Хотя там черт ногу сломит... А
все из-за малой памяти тогдашнего моего
компьютера и работы на "GENS". Но для хак-
кера это не проблема, не так ли?
Гордость этой программы - крутейший ал-
горитм супербыстрого поиска имени файла в
базе данных. Он был написан, вернее, пере-
веден в ассемблер, по статье в одной очень
умной книге по созданию различных алгорит-
мов. Сейчас ее нет под рукой, поэтому наз-
вания не помню, но не расстраивайтесь - в
следующем номере журнала технология
быстрого поиска обязательно будет освещена
до мельчайших деталей. "...Спрашивайте в
аптеках вашего города...". Вкратце о прин-
ципе поиска: есть образец, есть массив
данных. По кодам образца получается табли-
ца смещения. Расчитываем длину первого
фрагмента массива и становимся на его ко-
нец. Затем проверяем совпадения с образ-
цом. Если нет совпадений, тогда передвига-
емся к началу первого фрагмента на нужное
количество раз, указанной в таблице. Если
образец теперь оказался длинее оставшегося
фрагмента, поиск продолжается с конца сле-
дующего фрагмента. Эффект потрясающий!
Скорость поиска растет неимоверно! Короче,
помнишь то, что я говорил о следующем но-
мере "Вороны" и о аптеке?..
Но вернемся к "Картотеке". Программа
написана на русском языке, т.к. с англий-
ским у меня некоторые проблемы, но главное
- нужно развивать создание софта на родном
языке. За бугром все равно некому уже оце-
нивать наши труды. Поэтому этот хелпик бу-
ду заканчивать. На худой конец в программе
после загрузки при желании можно созерцать
внутренний довольно подробный хелп. Так
что "приятных потрясений"!
Other articles: