TotalClient

Нет-нет, программа, о которой я сейчас вам хочу рассказать, не имеет ничего общего со знаменитым Total Commander'ом. Просто по прихоти разработчика её название звучит достаточно похоже, поэтому можно и перепутать. Но предназначен этот программный продукт для совсем иных целей, нежели файловый менеджер Total Commander. TotalClient - это, по словам авторов, "система для создания приложений обработки данных на основе электронных таблиц". Вроде бы, и сложновато загнули, но, тем не менее, понятно, что нужен TotalClient тем, кто хочет создать приложение для работы с данными, причём работа с данными будет вестись на основе электронных таблиц. "Ну и что дальше?", - спросит, вероятно, читатель. А вот давайте вместе и посмотрим, что же там дальше.

Во-первых, для тех, кто хочет сам посмотреть на эту программу, нужно подключиться к интернету и перейти по адресу tclient.chat.ru - это такой официальный сайт программы. Исходя из того, что сайт и документация выполнены на русском языке, можно предположить, что написана программа кем-то из русскоязычной страны. Хотя интерфейс самого TotalClient'а почему-то целиком английский. При этом программа целиком и полностью freeware. Работает, естественно, под управлением ОС Windows.

Первое, что бросается в глаза при знакомстве с этим программным продуктом, - его значок, выполненный в виде красных серпа и молота (да-да, совсем как на гербе Советского Союза). Их же мы потом видим и на заставке, появляющейся при запуске программы. Когда заставка с экрана исчезнет, станет видно примерно то же самое, что изображено на скриншоте к статье.

В программе всё основано на электронных таблицах. Даже формы для ввода и вывода данных организованы на основе всё тех же таблиц. Как говорится в документации, формы можно создавать автоматически на основе электронных таблиц Microsoft Excel. Впрочем, никаких специальных мастеров по преобразовании таблицы в форму я в TotalClient'е не обнаружил. Однако стоит отметить, что, несмотря на достаточно нетривиальный подход к данному вопросу, формы в программе проектировать несложно, а получаются они вполне приятными на вид и понятными для пользователя. Электронные таблицы в программе очень похожи на аналогичные из Microsoft Excel, так что всё достаточно привычно.

 

К базе данных TotalClient позволяет подключиться при помощи технологий ODBC и ISAM. Соответственно, для подключения к базе данных нужно иметь соответствующий сервер и ODBC (ISAM) драйверы для него. Подход удобен тем, что при переходе с одного сервера (например, с Oracle на Microsoft SQL Server - сейчас это довольно частая ситуация) достаточно поменять драйвер и саму базу, а код клиентского приложения можно не трогать. Однако такой способ подключения способен отрицательно сказаться на скорости работы клиента. Впрочем, с современными компьютерами скорость работы приложения перестаёт быть таким уж критическим фактором.

Впрочем, в разработке приложений без хоть какого-нибудь минимального программирования обойтись сложно. Поэтому, само собой, программировать придётся и при использовании TotalClient'а. В качестве языка программирования в среде используется VBScript. Редактор сценариев обработки данных похож на Microsoft Visual Basic и на редактор макросов VBA из Microsoft Office. Поддерживаются всплывающие подсказки, автоматическое завершение вводимого кода, выбор из списка свойств и методов объектов. То есть те, кто привык набирать код в редакторе Visual Basic'а, почувствуют себя в TotalClient'е как дома. Хотя, судя по демонстрационным примерам, которые поставляются вместе с TotalClient (их не очень много, но каждый из них довольно объёмен), особенно много кода писать не придётся. Хотя, конечно, примеры - это одно, а реальные приложения - совсем другое.

Коль скоро в программе используется внутренний язык для написания программного кода, то присутствует и отладчик - чтобы отлаживать то, что уже написано. Однако, несмотря на то, что в документации к программе он неоднократно упоминается, работать с ним из окна программы достаточно непросто. Никаких команд отладчика в меню и на панель инструментов TotalClient'а не вынесено, и для вызова отладочных функций нужно использовать "горячие" клавиши. Например, для добавления точки останова (breakpoint) нужно использовать клавишу F9, а для добавления выражения, значение которого нужно вычислить, - Shift + F9. Так что перед работой с отладчиком нужно почитать справку. Кстати, следует отметить, что справочная система у TotalClient, в отличие от многих (если не сказать большинства) других бесплатных продуктов, очень качественная и действительно способна помочь в работе с программой.

Программа, кстати, позволяет разрабатываемым в ней приложениям работать с реестром операционной системы и INI-файлами, так что будет где хранить настройки и теоретически можно даже разрабатывать shareware-программы.

Поскольку в TotalClient'е идёт работа с данными, значит, не обойтись без использования языка структурированных запросов - SQL, который используется для работы с данными повсеместно. TotalClient предоставляет стандартные, но от этого ничуть не менее хорошие средства для работы с SQL-запросами. Встроенный в программу редактор SQL-скриптов поддерживает подсветку синтаксиса, шаблоны. Имеется мастер создания запросов - Query Builder, который позволяет создавать их с космической скоростью и избавляет от рутинного набирания кода простых запросов. С более сложными запросами, естественно, придётся работать вручную. Прямо в окне редактора запрос можно выполнить и посмотреть, к каким результатам это приведёт - этакая своеобразная отладка SQL-запросов. Есть в программе и анализатор запросов, который после выполнения показывает, сколько времени было затрачено на этот процесс, сколько записей база данных возвратила в результате. Так что в плане работы с SQL-запросами TotalClient далеко не аутсайдер на рынке.

Работать с данными в TotalClient помогает также Database Browser - средство, позволяющее видеть базу данных в структурированной форме. Т.е. в нём видны отдельно поля, индексы, подсчитано количество записей.

Кроме непосредственно приложений, TotalClient позволяет создавать библиотеки, которые потом могут использоваться в конечных приложениях. Как говорится в справке к программе, "библиотека - это компилированный файл с расширением tcl, содержащий формы и модули, которые могут быть использованы из других приложений. Библиотеки ищутся сначала в директории исполнительного файла, затем в директории установки TotalClient". В целом, это довольно удобная и полезная возможность, однако сегодня это уже стандарт, поэтому, в общем-то, было бы странно, если бы она отсутствовала.

Где данные, там в современных приложениях и отчёты. По словам разработчиков, TotalClient имеет мощные средства для создания и печати отчётов и позволяет создавать несколько разных видов оных, в том числе группированные отчёты. Это должно быть полезно и актуально для разработчиков приложений. Ну и для пользователей, конечно же, тоже.

Ко всем своим остальным плюсам, TotalClient поддерживает создание и подключение к нему надстроек (add-ins). Правда, это едва ли не единственный аспект использования TotalClient, о котором справка скромно молчит. Где брать эти расширения, непонятно, как сделать самому - тоже. В чём заключаются их возможности, для чего они предназначены - обо всём этом остаётся только гадать.

По идее, приложения, которые разрабатываются в TotalClient, должны в итоге представлять собой обычный исполняемый файл Windows (EXE-файл). Однако... вот тут-то и начинаются приключения. Как только я выбрал в меню "Project" пункт "Compile", то тут же увидел недвусмысленный протест программы против моих действий. На экране появилось сообщение с текстом "Инструкция по адресу 0x660c9ac6 обратилась по адресу 0x0000004. Память не может быть read. ОК - завершение приложения, Отмена - отладка приложения". После чего TotalClient аварийно завершил свою работу. Вполне вероятно, это следствие отсутствия на моём компьютере каких-то необходимых программе библиотек и того, что я поленился скачивать с сайта разработчика два пакета обновления программы, однако это свидетельствует о том, что, в целом, TotalClient ещё довольно сырая разработка и для промышленного использования подходит, наверное, не очень-то хорошо. Кстати, что интересно, "Project" -> "Compile" - это не единственный пункт в меню программы, который приводит к таким плачевным результатам. Второй - как это ни странно... "Help" -> "About". Надеюсь, рано или поздно разработчики заметят такие вопиющие ляпы.

Что ж, пожалуй, это всё, что можно сказать о TotalClient'е в данной статье. В целом, думаю, программа интересная, нужная и полезная. Она практически идеально подходит для быстрого создания "настольных" приложений для работы с данными, где не нужна работа с сетью. Низкие системные требования (минимальные системные требования из справки TotalClient: Windows 98SE, CPU Pentium 200 MHz, 32 Mb RAM) позволяют использовать TotalClient и разработанные с его использованием программы даже на маломощных компьютерах. И даже если вы, как и я, опасаетесь использовать TotalClient в его нынешнем виде для более-менее серьёзных проектов, всё равно советую взять его на заметку: может быть, через пару лет (а может, уже и через полгода) программа станет достаточно стабильной для использования в реальных проектах. Так что лучше поместите ссылку на сайт TotalClient'а в "Избранное" в своём любимом браузере и проверяйте его раз в пару месяцев. Перспективы у TotalClient'а есть, и это главное.

Вадим СТАНКЕВИЧ

Версия для печатиВерсия для печати

Номер: 

35 за 2006 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя mon
"Подход удобен тем, что при переходе с одного сервера (например, с Oracle на Microsoft SQL Server - сейчас это довольно частая ситуация)....."

Первый раз такое читаю!

Укажите, пожалуйста, причины такого перехода и источник сведений.

Имеется ввиду, что идентичные данные хранятся на двух разных серверах или речь идет о том, что сейчас часто кому-то нечем заняться, переводя БД с Oracle на MS SQL Server? И в том и другом случае не вижу целесообразности.

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