Новые возможности Visual FoxPro 6.0

Новые возможности Visual FoxPro 6.0

Программисты, использующие технологию Xbase, вскоре смогут легко и быстро перейти к объектно-ориентированному созданию масштабируемых многоуровневых приложений. Такие возможности им предоставит очередная версия пакета Visual FoxPro 6.0, которую корпорация Microsoft намерена выпустить нынешним летом. Новый продукт окажется полезным и тем, кто не имеет опыта работы с Xbase, но стремится повысить эффективность обработки данных в средах COM (Component Object Model — модель составных объектов).

В Тестовом центре PC Week Labs была проведена экспертиза первой бета-версии Visual FoxPro 6.0, которую Microsoft сделала доступной для независимых специалистов. Коммерческий вариант пакета войдет в комплект инструментария Visual Studio, выпуск которого ожидается в конце лета; это ПО можно будет приобрести и отдельно, но цена на него пока не установлена. К сожалению, приложенная к бета-версии документация оказалась весьма скудной, а в самом пакете отсутствовали некоторые программные компоненты, поэтому «пройтись» по всему циклу создания приложения нам не удалось. Нельзя не упомянуть и о задержках при выполнении некоторых операций в среде Windows NT 4.0.

Internet и телекоммуникации

Internet и телекоммуникации

Компания Microsoft, выполняя обещание обеспечить доступ к своим приложениям из Internet, начнет с того, что вскоре предоставит возможность привязки прикладных систем сервера FoxPro ко многим типам Web-броузеров.

Специальное расширение Internet Search Wizard для среды разработки клиент/серверных приложений Visual FoxPro компании Microsoft позволит легко создавать прикладные программы, к которым смогут обращаться по сети Internet клиенты системы Web, функционирующие на платформах PC, Apple Macintosh и Unix. В январе началось его бета-тестирование.

«Эта программа упростит взаимодействие с процессором базы данных. Для построения надежных приложений вам не придется преодолевать трудности, связанные с установкой СУБД класса SQL Server»,- сказал Джо Хомник (Joe Homnick), глава компании Homnick Systems (Бока-Ратон, шт. Флорида).

Уменьшение дистрибутива программы

Уменьшение дистрибутива программы

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

Небольшую программу с шестью-семью таблицами, десятком форм в принципе можно упаковать до размера около 2,7Мб (уже две дискеты). А чем больше программа, тем больше степень сжатия (хотя это относится и к созданию дистрибутивов обычными методами). Как же это все сделать ?

Русификация GKSetup

Русификация GKSetup

Инсталлятор GKSetup можно русифицировать следующим образом. (Тут нужно сразу сказать, что русифицируется НЕ САМ инсталлятор, а программа установки, которую запускает пользователеь)

Нужно в директорию GKSetup положить библиотеку gksl_rus.dll (Скачать zip). Одно время на сайте лежал gksl_rus.dll не тот, что нужен, поэтому лучше его скачать снова. Затем при создании проекта в GKSetup, в шаге 1 (step 1) на вкладке Language выбирайте эту библиотеку (GKSL_RUS.DLL — Русский). Теперь указывая все остальные параметры для проекта, можно использовать русский язык для названия программы и т.д. Так же на сайте Gero Kuehn (создателя GKSetup) www.gkware.com можно скачать библиотеки и для других языков.

Советы по клиент-сервер на Оракл

Советы по клиент-сервер на Оракл

Велик Оракл при любом раскладе, редкий программист доберется до середины его- Гоголь
Не так страшен дьявол , как его малюют ( Русскому Фокспристу Оракл не страшен) Русская пословица.

Два года назад мне пришлось поучаствовать в большом проекте VFP ( клиент) -Oracle (сервер). Хотя до этого довольно долго игрался с персональным Оракл сервером, на первых порах каждый наш шаг при выполнении проекта добывался трудно и рассматривался как маленькая победа. После этого по горячим следам пришлось для других клиентов сделать еще проект. По прошествии времени все эти победы кажутся ничего не значащами мелочами. Но может кому понадобятся и эти поношенные вещи. Снова подчеркиваю, знатокам тут читать нечего. Информация в основном для начинающих.
Если комманда посланная на сервер Оракл дает Вам ошибку, проверьте ее в Oracle SQL sheet Interprise? Если она там не идет, бесполезно посылать ее через ФОКС. Никогда бы не давал бы этого совета, если бы не видел десятки раз, как проблему с посылкой команды часами ищут в ФОКСЕ.

Расширение возможностей VFP за счет WINAPI

Расширение возможностей VFP за счет WINAPI

Где купить прибор для подавления? Предлагаем: подавление мобильных телефонов, 70% скидки! Много чего может ФОКС, но встечаются досадные случаи , когда другой продукт что-то может, а у ФОКСА небольшие проблемы. Большая часть таких досадных случаев может быть залатана использование WINAPI функций.
Вот первый пример.
список драйвов
В Visual Basic есть компонент -список драйвов. Сделаем его для ФОКСА. Возьмем combobox и в его событие init положим следующий код. И вот у нас есть класс-список драйверов
DECLARE SHORT GetDriveType in kernel32.dll STRING @lpR

«Тайна вопросительного знака…»

«Тайна вопросительного знака…»

Заранее прошу прощения у ассов клиент-сервер. Им совсем незачем читать эти заметки и ругать меня за изложение тривиальных вещей.
Безусловно этот материал для начинающих делать клиент-сервер. Ну не сразу же в конце концов человек становиться ассом. Когда то нужно с чего то начинать.
Возможно я не совсем знаком с нашим уровнем знаний, но лично для меня тайна вопросительного знака стала своего рода откровением около двух с половиной лет назад. А когда я ее осознал, то стал ее применять и налево и направо и сэкономил кучу времени и кода.
Написание клиент -сервер из Фокса требует двух вещей — знание Фокса и знание сервера. Но наш Российский заказчик , впрочем как и зарубежный, бывает очень не стабилен. Вот говорит он тебе- я твердо решил взять сервером Интербейс. И если что имеешь против — гуляй дальше-программистов навалом.

«Босс всегда прав… или применение объекта =Таймер=»

«Босс всегда прав… или применение объекта =Таймер=»

Как-то я попробовал сосчитать значимость полученной информации по Фоксу из разных источников.

Крути не крути, а большинство рецептов я подсмотрел на интернете у других разработчиков, или они ответили на вопросы, которые я повесил или просто узнал что то от друзей которых знаю лично или которых и в глаза не видел.
Научиться радоваться чужим удачным решениям более своих собственных -дается не каждому. Каждую неделю кто то из коллег в фирме или из других мест с блеском в глазах и гордостью ( чувствуя себя как минимум Эйнштейном) приносит выстраданное.
А я ему говорю, 1995 год Fox Adviser, 1996 Pinter Letters и такие то такие то сайты, такие то места-все уже было и даже лучше.

Использование пользовательских функций в предложениях SQL

Использование пользовательских функций в предложениях SQL

Уже надоело говорить о том, что ровным счетом ничего нового в этой жизни не происходит, а большинство нового — это хорошо забытое старое. Вот еще пример. Один автор этой статьи пожилой , но относительно молодой фоксист , начавший работать только с FXP2.6 под виндами, а второй -один из старейших клиперистов. Поэтому и приемы разные. У первого в основном новые методы ФОКСА, у второго вечные истины dbase. Оказывается, что старые рецепты часто дают много лучшие решения, чем новомодные навороты, зная которые , очень трудно использовать старые приемы, хотя и читал теорию и потенциально их знаешь. Потом, черт возьми, вечно попадаешь на агрессивную рекламу Микрософт с описанием новых, все более мощных методов. И часто веришь всему, что они говорят. Но вот берем тривиальные задачи, суем их на новую кухню и ждем вкусного пирога. А вместо него иногда — одна вонь.
Речь пойдет в основном о SQL select с предложениями outer left/right join, union и использовании групповых функций.
В одной из предыдущих статей мы уже упоминали о том, что генератор запросов и представлений view дает неправильный код с этими предложениями, если имеем несколько join.

Обслуживание файла базы данных

Обслуживание файла базы данных

Собственно, обслуживание файла базы данных заключается в его регулярной «чистке». Поскольку файл базы данных — это обычная DBF-таблица, то и удаление из него происходит так же как и в таблице в 2 этапа: сначала записи только помечаются как удаленные, но физически не удаляются. А для физического удаления необходимо выполнить упаковку файла базы данных.

На этапе разработки для этой цели используется специальный пункт меню в режиме модификации базы данных: пункт главного меню Database->Clean Up DataBase. Фактически, этот пункт меню выполняет команду PACK для файла базы данных, поэтому требует эксклюзивного открытия базы данных (в режиме EXCLUSIVE). Если база данных открыта в режиме SHARED, то этот пункт меню будет недоступен.

Кроме собственно чистки файла базы данных от ранее удаленных записей, выполнение этой операции существенно уменьшает размер файла DCT в котором хранятся в том числе все «хранимые процедуры». Поэтому после внесения изменений в хранимые процедуры также желательно сделать чистку базы данных.