|
Март 2011
Чтение
CSV файла
Приведенные в этой и следующей статье примеры используют бесплатный
компонент Chilkat.
В статье показано как можно выполнить чтение .csv файла и отобразить его
содержимое.
Использование WinApi в Visual FoxPro
Владимир Журавлев boba@synapse.ru
Встечаются досадные случаи , когда другой продукт что-то может, а у ФОКСА
есть проблемы. Большая часть таких случаев может быть исключена
использованием WINAPI функций Widows.
Программирование в Visual FoxPro: Приемы
эффективной работы, часть I
Джим Бут (Jim Booth)
На самом деле, программирование в Visual FoxPro ничем не отличается от
программирования на любом другом языке. Все языки программирования имеют
свой синтаксис и разные наборы команд и функций, но основные принципы
хорошего программирования универсальны для всех языков. Эти основные
принципы «хорошего» программирования и называют «приемами эффективной
работы». В настоящей серии статей я буду рассматривать «приемы эффективной
работы», применяемые в случае программирования на языке Visual FoxPro. Эти
приемы одинаковы для всех языков; следовательно, единственное, что будет
отличать данную серию статей, как относящуюся к Visual FoxPro, – это
программный код примеров.
Произошедшее с годами изменение подходов к программированию было
эволюционным. Программирование совершило переход от того, что исторически
получило название структурного (или процедурного) программирования, к
объектно-ориентированному программированию, которым мы пользуемся сегодня.
Эта эволюция свершилась в профессиональной деятельности, связанной с
программированием вообще, а также в нише, занимаемой нами, – в
программировании в Visual FoxPro.
Поскольку для FoxPro, как и для многих из нас, исходной парадигмой
программирования было структурное или процедурное программирование, я начну
эту серию статей с рассмотрения вопросов структурного программирования и
анализа ключевых принципов, которым все мы должны следовать при написании
процедурного кода. Позже, в последующих публикациях из этой серии, мы
доберемся до объектно-ориентированного программирования и увидим, как этот
более современный подход расширяет диапазон возможностей для решения задач,
стоящих перед нами в структурном программировании. А сейчас, давайте, начнем
с того, что перечислим некоторые цели, которых мы хотим добиться, каким бы
программированием мы не занимались.
1. Облегчить тестирование программного кода.
2. Сопровождение является фактором, который присутствует всегда; мы хотим,
чтобы и спустя какое-то время сопровождение нашего программного кода не
вызывало особых затруднений.
3. Мы хотим иметь возможность разобраться в том, что мы написали 2 года тому
назад, и понять, почему мы написали именно это.
4. Мы хотим, чтобы другой программист мог сравнительно легко принять наш
программный код и разобраться в нем.
5. Нам также хотелось бы иметь возможность повторно использовать созданный
нами программный код, не переписывая его каждый раз, когда у нас появляются
похожие требования.
Ломать
– не строить
Тамар Е. Гранор, д-р философии (Tamar E. Granor, Ph.D.)
VFP предоставляет массу инструментов для разбора строковых значений на
составляющие их компоненты.
В своей последней статье я рассматривала методики чтения и записи в
текстовые файлы. («Работа с текстом» номер за Июнь 2009 г.) После того, как
вы считали текстовый файл в оперативную память, или создали, может быть,
длинную строку каким-то другим образом, нет ничего необычного в том, что
возникает потребность разобрать этот текст по строкам или по словам, или по
какому-то иному критерию. До появления версии VFP 6 приходилось использовать
различные подходы в зависимости от того, какими были критерии
синтаксического разбора. Однако, с появлением функции ALINES(), простой
синтаксический разбор, в большинстве случаев, превратился в одно обращение к
этой функции.
VFPX:
Навигация с табуляцией
Рик Шуммер (Rick Schummer)
В этом месяце, в своей серии статей «с продолжением», посвященной проектам с
открытым исходным кодом, которые разрабатываются в рамках инициативы VFPX и
базируются на портале CodePlex, Рик рассматривает проект Tabbing Navigation
– навигация с табуляцией. Этот проект обеспечивает разработчикам быстрое
открытие диалогового окна с перечисленными в нем заголовками всех открытых
окон, а также со списком доступных для выбора стандартных окон среды Visual
FoxPro. Такое наращивание возможностей интегрированной среды разработки
(Interactive Development Environment , IDE) Visual FoxPro – это понятный и
быстрый способ, позволяющий найти конкретный экземпляр окна редактора или
конструктора, когда у вас открыто множество разных окон.
Проект Tabbing Navigation, возглавляемый Свеном Йоханнсеном (Sven Johannsen)
из Германии, появился на сайте VFPX сравнительно недавно. Цель данной
разработки – демонстрация диалога со списком всех открытых окон в
интегрированной среде разработки (IDE) Visual FoxPro, чтобы вы могли выбрать
то окно, которое следует переместить на передний план. Этот диалог
открывается при нажатии предусмотренной по умолчанию комбинации клавиш
Ctrl+Tab. По мере того, как вы продолжаете нажимать комбинацию клавиш
Ctrl+Tab, в этом диалоге выполняется циклический перебор всех открытых окон,
перечисленных в списке. После того, как вы отпустили указанные клавиши,
диалог закрывается, выбранное окно выводится на передний план и получает
фокус. Это современный способ организации «кругооборота» открытых окон,
нечто подобное разработчикам Visual FoxPro на протяжении нескольких
десятилетий обеспечивало использование комбинации клавиш Ctrl+F1. Почему, в
таком случае, нужно использовать как предусмотренное по умолчанию
функциональное поведение комбинацию клавиш Ctrl+Tab? Да просто потому, что
этой же комбинацией клавиш для выполнения той же самой задачи пользуются
разработчики в среде SQL Server Management Studio (рис. 1), а также в среде
Visual Studio.
Скачивание
Файлы проекта Tabbing Navigation можно скачать со страницы Downloads на
веб-сайте VFPX (http://VFPX.codeplex.com). Один из предназначенных для
скачивания файлов этого проекта – это файл приложения APP, а второй – файл,
содержащий весь исходный программный код. Ко времени написания настоящей
статьи текущий релиз содержал файл с именем
TabbingNavigationAlpha2Source.ZIP (выпущенный 18 мая 2009 года). Если
исходный код вам не нужен, можете скачать файл
TabbingNavigationAlpha2App.ZIP.
|