Длм-ка dtb.d32 - объекты для разработки своих консольных приложений (+)
Скачать (zip-файл; Размер - 364531)Обсудить в форуме
Описание
Средство разработки своих консольных форм и их объектов + объекты для доступа к данным и фильтрации
22.02.2006 В примеры добвлен макрос dtbconsole.mac, который будет содержать
функции, эмулирующие РСЛ-ные консольные функции (для режима "DTB
under GUI"). Пока там dtb_MsgBox и dtb_MsgBoxEx.
18.02.2006 Сделаны доступными функции:
dtb_ScreenSize - Возвращает размеры консольного экрана
SetConsoleScreenBufferSize - Устанавливает размер экрана. Но
только в сторону увеличения раз-меров.
dtb_GetConsoleTitle - Возвращает заголовок консоли
dtb_SetConsoleTitle - Устанавливает заголовок консоли
dtb_CreateConsole - Создает консоль (только в режиме "DTB under GUI")
dtb_DeleteConsole - Уничтожает консоль (только в режиме "DTB under GUI")
dtb_CheckConsole - Проверяет режим приложения
dtb_DisableClose - Отключает "крестик", которым можно закрыть консольное окно
Исправлен метод TlgList.Del(TlgNode * node). При удалении первого узла
программа падала. Теперь все ОК.
13.02.2006 Бета-версия. Длм-ка переписана для работы под графическим приложением
(например по интерфейсом EasyWin). Если приложение не консольное, то при
первом вызове консольных функций создается отдельное консольное окно.
Реализована эмуляция всех fs-функций, кроме fs_wrtMarkStr.
Не реализована пока эмуляция функций: MsgBox, MsgBoxEx, InitProgress,
UseProgress, RemProgress, GetInt (все Get-ы), menu.
Вместо message() юзайте dtb_message().
Под XP (наверное и под 2000) у консольного окна можно через "Свойства"
окна задать шрифт и размеры окна, и применить их для "всех окон с тем же
именем", тогда эти настройки будут использованы в дальнейшем.
Для терминала теперь достаточно одной длм-ки t_textgp.d32. В ней объеди-
нены функции обмена терминал-сервер с упаковкой и без. При этом в направ-
лении сервер-терминал, если упакованный буфер больше неупакованного, то
посылается неупакованный. t_textga.d32 больше не используется.
Исправлено некорретное сохранение и восстановление строки статуса, сфор-
мированной приложением до запуска первой формы dtb. Ранее считалось, что
это 24-ая строка (нумерация с 0) с шириной 80 символов. При закрытии пос-
ледней формы на окне с размерами буфера больше 25 х 80 выводилась строка
с пробелами. Теперь сохраняется и восстанавливается по факту (определяются
размеры экрана и т.д.).
16.09.2005 Введено свойство TlgNode.Value аналогичное TlgNode.Object.
Конструктор TlgFile теперь поддерживает контейнер на основе ADO-
RecordSet, созданного rsax.d32.
15.09.2005 Немного изменен алгоритм определения местонахождения TlgFile при
открытии. Теперь, если в TlgFile.Open не задан путь к файлу, то
сначала определяется путь местонахождения словаря и подставляется к
файлу, если же он не задан - берется стандартный каталог данных.
07.09.2005 При присвоении TlgField значения типа V_UNDEF стандартная функция
dlm-ки ValueCopy вызывала сбой программы. Теперь эта ситуация обой-
дена.
01.08.2005 Исправлена работа TlgFile. Если по полю в ключе одновременно стоят
ограничения по SetMinMax и SetValues, то это будет корректно отраба-
тываться. Добавлено свойство bool TlgField.InValues - значение поля
соответствует SetValues или нет.
В TjkEdit дата по умолчанию теперь выводится в виде "dd.mm.yyyy".
26.05.2005 Новое свойство int TlgField.ToType. Содержит код типа, в который
автоконвертируется TlgField.Value во время метода Get. Например,
у вас поле в базе типа V_STRING, содержит только цифры. Тогда, за-
дав ToType=V_INTEGER, вы получите автоконвертирование в целое зна-
чение. Если ToType=0 (по умолчанию) или равно текущему типу поля,
конвертации не происходит. При использовании автоконвертации в гриде
желательно устанавливать у поля грида Length, равным его Width.
22.02.2006 В примеры добвлен макрос dtbconsole.mac, который будет содержать
функции, эмулирующие РСЛ-ные консольные функции (для режима "DTB
under GUI"). Пока там dtb_MsgBox и dtb_MsgBoxEx.
18.02.2006 Сделаны доступными функции:
dtb_ScreenSize - Возвращает размеры консольного экрана
SetConsoleScreenBufferSize - Устанавливает размер экрана. Но
только в сторону увеличения раз-меров.
dtb_GetConsoleTitle - Возвращает заголовок консоли
dtb_SetConsoleTitle - Устанавливает заголовок консоли
dtb_CreateConsole - Создает консоль (только в режиме "DTB under GUI")
dtb_DeleteConsole - Уничтожает консоль (только в режиме "DTB under GUI")
dtb_CheckConsole - Проверяет режим приложения
dtb_DisableClose - Отключает "крестик", которым можно закрыть консольное окно
Исправлен метод TlgList.Del(TlgNode * node). При удалении первого узла
программа падала. Теперь все ОК.
13.02.2006 Бета-версия. Длм-ка переписана для работы под графическим приложением
(например по интерфейсом EasyWin). Если приложение не консольное, то при
первом вызове консольных функций создается отдельное консольное окно.
Реализована эмуляция всех fs-функций, кроме fs_wrtMarkStr.
Не реализована пока эмуляция функций: MsgBox, MsgBoxEx, InitProgress,
UseProgress, RemProgress, GetInt (все Get-ы), menu.
Вместо message() юзайте dtb_message().
Под XP (наверное и под 2000) у консольного окна можно через "Свойства"
окна задать шрифт и размеры окна, и применить их для "всех окон с тем же
именем", тогда эти настройки будут использованы в дальнейшем.
Для терминала теперь достаточно одной длм-ки t_textgp.d32. В ней объеди-
нены функции обмена терминал-сервер с упаковкой и без. При этом в направ-
лении сервер-терминал, если упакованный буфер больше неупакованного, то
посылается неупакованный. t_textga.d32 больше не используется.
Исправлено некорретное сохранение и восстановление строки статуса, сфор-
мированной приложением до запуска первой формы dtb. Ранее считалось, что
это 24-ая строка (нумерация с 0) с шириной 80 символов. При закрытии пос-
ледней формы на окне с размерами буфера больше 25 х 80 выводилась строка
с пробелами. Теперь сохраняется и восстанавливается по факту (определяются
размеры экрана и т.д.).
16.09.2005 Введено свойство TlgNode.Value аналогичное TlgNode.Object.
Конструктор TlgFile теперь поддерживает контейнер на основе ADO-
RecordSet, созданного rsax.d32.
15.09.2005 Немного изменен алгоритм определения местонахождения TlgFile при
открытии. Теперь, если в TlgFile.Open не задан путь к файлу, то
сначала определяется путь местонахождения словаря и подставляется к
файлу, если же он не задан - берется стандартный каталог данных.
07.09.2005 При присвоении TlgField значения типа V_UNDEF стандартная функция
dlm-ки ValueCopy вызывала сбой программы. Теперь эта ситуация обой-
дена.
01.08.2005 Исправлена работа TlgFile. Если по полю в ключе одновременно стоят
ограничения по SetMinMax и SetValues, то это будет корректно отраба-
тываться. Добавлено свойство bool TlgField.InValues - значение поля
соответствует SetValues или нет.
В TjkEdit дата по умолчанию теперь выводится в виде "dd.mm.yyyy".
26.05.2005 Новое свойство int TlgField.ToType. Содержит код типа, в который
автоконвертируется TlgField.Value во время метода Get. Например,
у вас поле в базе типа V_STRING, содержит только цифры. Тогда, за-
дав ToType=V_INTEGER, вы получите автоконвертирование в целое зна-
чение. Если ToType=0 (по умолчанию) или равно текущему типу поля,
конвертации не происходит. При использовании автоконвертации в гриде
желательно устанавливать у поля грида Length, равным его Width.