« Назад
При просмотре таблицы, отображаемой в Browse- или Edit-окне или в сетке, данные в поля типа Memo или Memo (binary) можно просмотреть и изменить в окне (рис. 3.4), открываемом, например, после двойного удара мышью по memo-полю или нажатия на Ctrl+PgUp.
Рис. 3.4. Ввод данных в memo-поле
После нажатия на Ctrl+W окно ввода данных будет закрыто, а данные записаны.
При позиционировании указателя мыши на memo-поле в browse-окне или сетке появляется подсказка, отображающая содержимое этого поля. Временем существования подсказки можно управлять.
Системная переменная
_TOOLTIPTIMEOUT = [nValue]
задает время отображения подсказки.
Параметр:
nValue – принимает следующие значения:
–1 – (по умолчанию) время отображения подсказки определяется установкой Windows;
0 – подсказка выводится, пока перемещается указатель мыши;
> 0 – число миллисекунд отображения подсказки.
Установка _TOOLTIPTIMEOUT распространяется только на элементы управления, имеющие свойство ToolTipText и поля в browse-окнах и сетке, размер которых меньше их содержимого.
Программно данные memo-поля обновляются теми же средствами, что данные других полей (команды REPLACE, GATHER и др.)
Данные, введенные в memo-поле, сохраняются в отдельном файле, имеющем то же имя, что и таблица, которой поле принадлежит, и расширение FPT.
Значение memo-поля можно присвоить переменной, которая после присваивания будет иметь тип Character
varMemo = Test.MemoB && Таблица Test открыта
? varMemo && Выводим все memo-поле
? VarType(varMemo) && Напечатает: C
Команда
APPEND MEMO MemoFieldName FROM FileName [OVERWRITE] [AS nCodePage]
копирует содержимое текстового файла в memo-поле MemoFieldName текущей записи.
Опции и параметры (см. также табл. 1.6):
FROM FileName – имя текстового файла, содержимое которого копируется в memo-поле. Указывается в расширением. Может содержать путь.
OVERWRITE – обеспечивает перезаписывание memo-поля данными текстового файла.
При копировании, если не задана опция AS, данные конвертируются в кодовую страницу таблицы. Если таблица не имеет кодовой страницы, то данные конвертируются в текущую кодовую страницу VFP.
Пример:
append memo Test.MemoB from d:\a.txt
append memo Test.MemoField from d:\a.txt overwrite as 1251
Команда
MODIFY MEMO MemoField1 [, MemoField2 ...] [NOEDIT] [NOMENU] [NOWAIT] [RANGE nStartCharacter, nEndCharacter] [[WINDOW WindowName1] [IN [WINDOW] WindowName2 | IN SCREEN]] [SAME] [SAVE]
открывает окно редактирования memo-поля текущей записи.
Параметры (описание опций см. в табл. 1.6):
MemoField1 [, MemoField2 ...] – имена открываемых memo-полей. Если адресуется memo-поле таблицы, открытой в нетекущей области, то имя поля предваряется псевдонимом таблицы и точкой.
Замечание. Если таблица открыта в режиме разделяемого доступа, то после открытия memo-окна текущая запись блокируется.
Пример 1:
&& Таблица Test должна быть открыта
select Test
go top
modify memo MemoB range 1, 11 && Выделяем первые 10 символов
Пример 2:
&& Открываем 2 memo-окна
modify memo MemoB, MemoField nowait
Команда
CLOSE MEMO MemoFieldName1 [, MemoFieldName2 ...] | ALL
закрывает одно или более окон, открытых для редактирования memo-полей. Если задана опция ALL, то закрываются все открытые memo-окна. Все произведенные изменения memo-полей сохраняются.
Пример:
&& Закрываем окна полей MemoField и MemoB
close memo MemoB, MemoField
&& Закрываем все memo-окна
close memo all
Команда
COPY MEMO MemoFieldName TO FileName [ADDITIVE] [AS nCodePage]
копирует содержимое memo-поля MemoFieldName текущей записи в текстовый файл FileName.
Описание опций см. в табл. 1.6.
Пример:
&& Замещаем содержимое файла d:\a.txt на содержимое memo-поля
copy memo memoB to d:\a.txt
&& Добавляем в файл содержимое memo-поля, указывая вдобавок номер кодовой страницы
copy memo memoB to d:\a.txt additive as 1251
Команда
SET MEMOWIDTH TO nColumns
задает ширину отображения memo-полей и символьных данных.
Параметр:
nColumns – задаваемая ширина. Целое число из диапазона 8 – 8192. Значение по умолчанию – 50. Если SET COMPATIBLE установлен в ON или DB4, то значение по умолчанию – 80. Если nColumns превысит 8192, то ширина будет принята равной 8192.
Команда SET MEMOWIDTH устанавливает длину строки вывода, направляемого в окно VFP или в файл такими командами, как ? | ??, DISPLAY или LIST. Команда действует на memo-поля, а также на строки, длина которых больше 254 символов. Также она влияет на результаты, возвращаемые функциями ATCLINE( ), ATLINE( ), MEMLINE( ) и MLINE( ).
Установка SET MEMOWIDTH сохраняется с текущей сессией данных.
Системная переменная
_MLINE = nNumberOfCharacters
содержит отступ от начала memo-поля, используемый функцией MLINE( ).
Параметр:
nNumberOfCharacters – величина устанавливаемого отступа.
|