СБиС news №40 от 12.02.01
Параметр FILES в Windows ME
Тем, кто не побоялся и
установил на свой компьютер
очередное творение от Microsoft –
Windows ME
(millennium edition), посвящается…
Дело в том, что, как пишет об этом сам Microsoft, WindowsME не разбирает теперь config.sys, соответственно параметр FILES, указанный в данном файле,
ни на что теперь не влияет. Для пользователей комплекса СБиС++ это выражается в
том, что при попытке запустить СБиС выводится сообщение «Параметр FILES в CONFIG.SYS должен быть не менее XXXX!» Решается эта проблема
следующим образом:
Вариант 1. Поставить win32 версию СБиС++
Вариант 2. В файле system.ini,
который находится в каталоге Windows,
в разделе [386Enh]
нужно добавить строку: PerVMFiles=220
Ну, и перезагрузить после этого компьютер, конечно.
Дмитрий Новиков (demon@tensor.ru)
Итак, версия 1.9…
С первого февраля выпущена
для ознакомления и тестирования версия 1.9 комплекса СБиС++. Так что этот и
последующие выпуски СБиС ньюс будут
в основном посвящены освещению новинок версии 1.9. Изложение будет,
наверное, несколько хаотичным, Вы уж извините. Если же что-то будет требовать
дополнительных разъяснений, обращайтесь,
будем уточнять.
Давайте будем более интерактивны! В общем, приступим…
sbis.exe и формат данных
Во-первых, теперь один и тот же «sbis.exe» может работать как с tbl-форматом, так и с Btrieve. Формат определяется при запуске программы по тому, файлы
с каким расширением находятся в каталоге базы данных. Если же в каталоге
имеются в наличии только словари, то выдаётся запрос, какой формат базы данных
Вы предпочитаете.
Во-вторых, Btrieve-формат
претерпел значительные изменения, целью которых было – предоставить доступ к
базе данных СБиС'а извне. Теперь это можно будет осуществить при помощи магических
заклинаний SQL и ODBC. Подробнее это свойство
будет рассмотрено чуть позже, пока же замечу, что в версии 1.9 оставлен и
старый формат Btrieve и
новый (он чисто условно назван - «Pervasive.SQL»).
В окончательном варианте 1.9, скорее всего, останется лишь новый формат.
В связи со всем этим хочется сделать одно очень важное замечание:
Чтобы не было мучительно больно, и во избежание
непредвиденных ситуаций не стоит запускать новый СБиС на старую базу данных
и старый СБиС на новую базу данных. А также помните о первом правиле лучших
сбисовводов: каждой версии свой Джин! (посмотрите, как он нравится
СБиС'у, в какой он форме… хм, впрочем, я отвлёкся...)
Кстати, теперь СБиС пытается определить «а ту ли базу данных
мне подсунули». И если он посчитал, что не ту, выдаётся соответствующий запрос.
Переход от версии 1.8 к 1.9
Теперь несколько слов о переводе базы данных СБиС'а версии
1.8 на версию 1.9. Как и в предыдущей версии, придётся делать трёхступенчатую
конвертацию – база данных конвертируется в промежуточный формат Джином, потом
СБиС делает все свои дела, и, наконец, Джин перегоняет базу в окончательный
формат. Конечно, имеет место быть соответствующий bat-файл.
Каталоги
Теперь в СБиС'е предполагается наличие следующих каталогов:
>
«RPT» - rpt-файлы и заплатки на оных;
>
«PRG» - prg- и hdl-файлы;
>
«FORM» - внешние формы отчётности.
Все эти каталоги могут находиться «рядом» с каталогом базы
данных на сервере для общего использования.
Изменения языка СБиС++
- Пишите: «СуммаСебест»!
Да, да, регистр букв важен!
«С» большое, «умма» маленькая,
«С» большое, «ебест» маленькое…
(из жизни горячей линии версии 1.9)
Достаточно много было изменено в той части СБиС'а, которая
ответственна за выполнение выражений в отчётах и правилах операций. Боюсь, что
к этому придётся ещё не раз возвращаться, пока же вкратце:
>
При обращении к полям базы данных регистр букв стал
критичен (смотрите цитату :) ). То есть, если раньше обращение «Сумма» и «СУММА»
отрабатывалось в большинстве случаев нормально, то теперь будет работать только
первый вариант. Для функций, вспомогательных переменных, констант и параметров
регистр букв как и раньше не важен.
>
В связи со сменой внутренней идеологии работы были
изменены названия некоторых таблиц и полей
базы данных. Так «Документы» изменены на «Документ», «Лица» на «Лицо» и
тд.
К сожалению, это
приведёт к тому, что многие отчёты и правила операций прошлой версии придётся исправлять.
>
Появилась возможность изменять поля типа «флаги»
(раньше они были доступны только для чтения). В связи с этим, если раньше флаги
выглядели как строка с подсвеченными буквами, то теперь, если для
установленного флага нет соответствующей буквы, то ставится «*» (звездочка). Если
же флаг не установлен, ставится пробел (получается что-то вроде такого – «п
к*** *»).
>
Функция «Объект», принимающая два параметра, «приказала
должно жить». То есть там, где раньше было написано:
О2 = Объект(О1,"ИмяСвязи"); # устарело!
теперь нужно написать:
О2 = 'О1.ИмяСвязи';
>
Появилась новая функция «Связать», назначение
которой – установить связь между двумя объектами. Например:
Связать(Лицо2,Лицо1);
Соответственно, если
раньше в правиле операции можно было написать:
Лицо2 = Лицо1; # устарело!
… то теперь придётся
воспользоваться предыдущей конструкцией.
>
Кроме уже существующей функции «Сохранить» в новой
версии реализованы функции «Добавить» и «Удалить». Обе функции в
качестве параметра принимают некоторый объект, например «Документ». Первая, как
Вы уже должно быть догадались, добавляет запись, связанную с указанным объектом
в базу данных, а вторая удаляет.
Применять эти функции нужно очень
аккуратно, поскольку действия, ими производимые, достаточно деструктивны
(особенно последнее).
>
Появилась возможность работать с текстовыми и dbf-файлами. Для этого достаточно
указать при вызове функции «Объект» не имя таблицы СБиС'а, а имя файла с
расширением – «txt» для
текстовых файлов и «dbf» для dbf.
Далее можно манипулировать функциям «Следующий», «Предыдущий», «Сохранить»,
«Добавить», «Удалить». Например, перенесём в текстовый файл «result.txt» названия организаций из файла «organz.dbf», у которых в адресе есть слово «Ярославль»:
Р = Объект("RESULT.TXT");
О = Объект("ORGANZ.DBF");
Пока(Следующий(О))
Если( Найти(О.ADDR,"Ярославль") )
{
Р.Строка = О.NAME;
Добавить(Р);
}
Обратите внимание, что у
объекта «Р», связанного с текстовым файлом, есть одно единственное поле с
именем «Строка», в котором и находится содержимое текущей строки файла.
Пример, конечно,
надуманный. Уверен, что самое в ближайшее время кто-нибудь обязательно
предложит более жизненное применение этих возможностей.
Приятные мелочи
При нажатии комбинации <Ctrl+Shift+F12> в таблицах и диалогах СБиС
пытается найти обработчик выборки или диалога соответственно и, если находит,
открывает его для редактирования. Если же такового нет, то по запросу создаётся
шаблон обработчика в файле «sbis.hdl».
Дмитрий Новиков (demon@tensor.ru)
Как говорится: To be continued…
<<< Предыдущий выпуск | Архив выпусков | Следующий выпуск >>>
|