Составители:
Рубрика:
94
* Программа store.prg, иллюстрирующая оператор присваивания
n=15 && присваивание
? n && простейшая форма вывода - по месту расположения
&& курсора на экране с автоматическим переводом после
&& вывода на следующую строку
n =« «+»15» && операция слияния символьных строк (конкатенация).
?? n && вывод без перевода на новую строку.
* При выполнении программы обратите внимание на различия
* в выводе чисел
и символов: 15 будет справа, а «15» - слева
USE students && файл students.dbf открывается в рабочей области A.
GO 3 && перемещение файлового указателя на запись 3
n =ФИО && в переменную n передается значения поля ФИО
&& из записи 3
? n
n =Балл01 && попытка присвоить переменной имя несуществующего
&& поля. Будет выведено сообщение об
ошибке
&& Variable ' Балл01 ' not found (переменная Балл01 не найдена)
Запустите программу на исполнение (DO store) и обратите внимание на
особенности ее работы:
• при наличии ошибки программа будет частично выполнена (после вывода
сообщения об ошибке на экране будут выведены все значения n, кроме
последнего; если эта часть экрана закрыта
программным или командным окном,
переместите его мышью - за заголовок);
• переменная n использовалась для обозначения данных различных типов.
2.2.2. форма 2 оператора присваивания относится к присваиванию полям
таблицы данных значений, определяемых выражением над переменными
памяти (memvar) и полями таблицы данных. Аналога этому оператору в
других языках нет. Рассмотрим два пути создания
команды:
1.
Команда присваивания для использования в командном окне имеет форму:
REPLACE <field1> WITH <expr1>[ADDITIVE] [,<field2>
WITH<expr2>[ADDITIVE]]...[<scope>][FOR <exprL1] [WHILE <exprL2>]
(Заменить поле1 выражением1, поле2 выражением2 ...для заданного диапазона <scope>
файла при условии, что истинно логическое выражение <exprL1> или <exprL2>)
2.
С помощью системного меню Table/Replace Field в открывшемся диалоге Replace
Field, имеющем ту же самую структуру, что и команда REPLACE (см. первый способ)
Вы можете задать в соответствующих полях условия для замены. Второй способ имеет
несомненные преимущества перед первым, т.к. условия не набираются «вручную», а
просто нащелкиваются мышью, что значительно экономит
время пользователя. При
этом после набора условий при нажатии кнопки OK выполненная команда отображается в
командном окне, как, впрочем, и все команды, выполняемые через системное меню (если
Вы заметили это).
Вначале рассмотрим пример
, затем подробнее опишем опции этой команды.
Набирайте в командном окне и нажимайте ENTER:
USE students
REPLACE ФИО with ФИО +»!» FOR Балл_сес01+ Балл_сес02=10
BROWSE
Вы увидите, что содержание базы данных не изменилось (хотя мы ожидали
увидеть знак ! после фамилий отличников). Это произошло из-за того, что
поле ФИО
заполнено символами на всю отведенную командой CREATE ширину (после
«смысловых» букв - пробелами), и знак »!» не поместился. Пользуясь буфером команд,
подправьте ее (удалите пробелы с помощью функции TRIM( ) ):
94 * Программа store.prg, иллюстрирующая оператор присваивания n=15 && присваивание ?n && простейшая форма вывода - по месту расположения && курсора на экране с автоматическим переводом после && вывода на следующую строку n =« «+»15» && операция слияния символьных строк (конкатенация). ?? n && вывод без перевода на новую строку. * При выполнении программы обратите внимание на различия * в выводе чисел и символов: 15 будет справа, а «15» - слева USE students && файл students.dbf открывается в рабочей области A. GO 3 && перемещение файлового указателя на запись 3 n =ФИО && в переменную n передается значения поля ФИО && из записи 3 ?n n =Балл01 && попытка присвоить переменной имя несуществующего && поля. Будет выведено сообщение об ошибке && Variable ' Балл01 ' not found (переменная Балл01 не найдена) Запустите программу на исполнение (DO store) и обратите внимание на особенности ее работы: • при наличии ошибки программа будет частично выполнена (после вывода сообщения об ошибке на экране будут выведены все значения n, кроме последнего; если эта часть экрана закрыта программным или командным окном, переместите его мышью - за заголовок); • переменная n использовалась для обозначения данных различных типов. 2.2.2. форма 2 оператора присваивания относится к присваиванию полям таблицы данных значений, определяемых выражением над переменными памяти (memvar) и полями таблицы данных. Аналога этому оператору в других языках нет. Рассмотрим два пути создания команды: 1. Команда присваивания для использования в командном окне имеет форму: REPLACEWITH [ADDITIVE] [, WITH [ADDITIVE]]...[ ][FOR ] (Заменить поле1 выражением1, поле2 выражением2 ...для заданного диапазона файла при условии, что истинно логическое выражение или ) 2. С помощью системного меню Table/Replace Field в открывшемся диалоге Replace Field, имеющем ту же самую структуру, что и команда REPLACE (см. первый способ) Вы можете задать в соответствующих полях условия для замены. Второй способ имеет несомненные преимущества перед первым, т.к. условия не набираются «вручную», а просто нащелкиваются мышью, что значительно экономит время пользователя. При этом после набора условий при нажатии кнопки OK выполненная команда отображается в командном окне, как, впрочем, и все команды, выполняемые через системное меню (если Вы заметили это). Вначале рассмотрим пример, затем подробнее опишем опции этой команды. Набирайте в командном окне и нажимайте ENTER: USE students REPLACE ФИО with ФИО +»!» FOR Балл_сес01+ Балл_сес02=10 BROWSE Вы увидите, что содержание базы данных не изменилось (хотя мы ожидали увидеть знак ! после фамилий отличников). Это произошло из-за того, что поле ФИО заполнено символами на всю отведенную командой CREATE ширину (после «смысловых» букв - пробелами), и знак »!» не поместился. Пользуясь буфером команд, подправьте ее (удалите пробелы с помощью функции TRIM( ) ):
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »