|
Программирование >> Разработка пользовательского интерфейса
С0Л1Г0К Edit Bern me Dtio FileLocofime Fumatis Indent IjtijWattitctiBiftaefsJ, J2 F Show Unii/Caltimn PbHtkin Г Mel<e g.aci-i.ip Copy Г iofflplle flfliBHa Sftvjng Г Save with nd-ol-Fila Merkef P Save wiih LfiB Faede Г Sei вь Detevli Soi Memo* J С I вир Рис. 4.2. При работе с редактором мы можем использовать команды, которые располагаются в меню Edit и Format. Еще удобнее использовать клавиатурные комбинации, перечень которых приведен в табл. 4.3. Не забудьте также о кнопках на стандартной панели инструментов. При наборе программы в редакторе очень удобно использовать макросы. Макросом называется предварительно записанная последовательность команд, которая выполняется при его запуске. Для запуска макроса чаще всего используются клавиатурные комбинации. В Visual FoxPro макрос можно записать с помощью соответствующей команды в меню Tools. Появляющееся при этом диалоговое окно представлено на рис. 4.3. Macros i-SndividiJ&l Macfo- № f7 Record.. Edit... Clear r-Maao Set- Rssipra... [ SelQefeiult Рис. 4.3. В своей работе вы можете использовать несколько наборов макросов, сохраняя их в соответствующих файлах. Для сохранения и загрузки необходимых макросов надо использовать / Macro Edit Defined Key: Macro Name: Macro Contents: CTRL-t-F Ctrl f Cancel FOR{ENTER}{ENTER}ENDFOR Qrl+Tab to exit Рис. 4.4. Таблица 4.3. Комбинации клавиш, используемые при работе Комбинация клавиш Ctrl+A Ctrl+C Ctrl+F Ctrl+L Ctrl+R Ctrl+V Ctrl+W Ctrl+X Ctrl+Z Ctrl+Home Пункт меню Select All Copy Find Replace Redo Paste Cut Undo Home Ctrl+End с редактором Выполняемое действие Выделить весь текст в окне редактора Скопировать выделенный текст Найти Заменить Вернуть отмененное действие Вставить фрагмент текста из буфера в место нахождения курсора Закрыть редактор и сохранить все сделанные изменения Вырезать выделенный текст Отменить сделанное действие Переместить курсор в начало текста Переместить курсор в начало строки Переместить курсор в конец текста Переместить курсор в конец строки В качестве примера мы с вами создадим макрос для автоматического набора какой-нибудь сложной команды. Пусть это будет команда задания цикла FOR...NEXT. Такие структурные команды чаще всего вызывают ошибки, так как тело цикла может занимать десятки строк и, разбираясь в его перипетиях, программист забывает о необходимости закрытия цикла. Присвоим этому макросу клавиатурную комбинацию Ctrl+F. Тогда по умолчанию он получит имя ctrl f. Не следует пытаться присвоить макросу клавиатурную комбинацию, которая уже используется в Visual FoxPro. Теперь в поле Macro Contents наберем такой текст: FOR{ENTER}{ENTER}N EXT В фигурных скобках мы указали название клавиш, нажатие которых нам надо имитировать в данный момент. В этом примере мы имитируем двухкратное нажатие клавиши Enter для перехода на следующую строку и тем самым создаем внутри команды пустую строку для записи тела кнопки, расположенные внизу диалогового окна. Для записи макроса нажмите кнопку New. Появится диалоговое окно для создания и редактирования макросов, представленное на рис. 4.4. Нажмите клавиатурную комбинацию, с помощью которой вы хотите в дальнейшем вызывать данный макрос. цикла. Как правильно записать в макросе названия других клавиш и их сочетаний можно узнать, изучив длинную таблицу в справке к команде ON KEY LABEL после вызова контексной помощи. Теперь, работая в редакторе, мы всегда можем нажать клавиши Ctrl+F и в программе у нас автоматически появятся следующие три строчки: FOR NEXT Программа в FoxPro - это текстовый файл, содержащий набор команд, написанных в соответствии с синтаксическими правилами языка. Программа может иметь подпрограммы (процедуры), в которые помещаются часто повторяющиеся фрагменты кода, размещаемые после основного текста программы или в отдельном файле. Подпрограмма начинается с ключевого слова PROCEDURE ProcedureName и выполняется, пока не будет выполнено одно из следующих условий: Еще раз встретится слово PROCEDURE. Будет обнаружена команда RETURN - возвращение в предыдущую программу. Будет выдана команда CANCEL - прерывание работы программы. Будет выдана команда QUIT - выход из СУБД. Встретится новая команда DO для запуска другой программы. Будет достигнут конец файла. В FoxPro аналогично подпрограмме трактуется понятие пользовательской функции, которая начинается с ключевого слова FUNCTION FunctionName и в отличие от процедуры, может вернуть необходимые значения в вызывающую программу. Имеются четыре способа вызвать функцию: 1. Присвоить возвращаемое значение переменной. Например, следующая строка кода запоминает текущую системную дату в переменной dToday: dToday = DATE() 2. Включить вызов функции в команду. Например, следующая команда устанавливает по умолчанию каталог, имя которого возвращает функция GETDIR(): SET DEFAULT TO GETDIR() 3. Напечатать возвращаемое значение в активное окно: ? TIME() 4. Вызвать функцию без запоминания где-либо возвращаемого значения: SYS(2002) Для прерывания выполнения программы служит оператор RETURN [Expression TO MASTER TO ProgramName] который возвращает управление в вызывающую программу, и в ней выполняется следующая команда после вызывающей; если указана опция TO MASTER, то управление возвращается на самый верхний уровень вызывающей программы, а эта же программа с опцией TO ProgramName передает управление в указанную программу. При использовании в функции команда автоматически возвращает .T., если не указано другое выражение на месте Expression. RETRY действует подобно команде RETURN, но при возвращении управления в вызывающую программу повторяется выполнение последней команды. Создайте новый программный файл и наберите в редакторе приведенный ниже текст. В этой программе объявляется массив, элементы которого принимают значения от 1 до 10. Каждое присвоение значения сопровождается появлением на экране сообщения с указанием присвоенной величины. Посмотрите на сообщения, выводимые этой программой на экран. * Пример простейшей программы DIMENSION aSampleArray(10)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |