Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

Значения параметра nType и варианты возвращаемых результатов

nType

Вид результата

Число измерений массива ArrayName

Содержание элемента (строки) массива ArrayName

1

Команды

1

Имя команды, например WAIT

2

Функции

2

Первый элемент содержит имя функции, второй – строку вида [M] nParamR [- nParamT], где М – флаг сокращения имени; если буква М присутствует в строке, то имя функции сокращать нельзя; nParamR – число обязательных параметров; nParamT – общее число параметров. Если nParamR = nParamT, то число nParamT в результате отсутствует

3

Базовые классы

1

Имя базового класса, например ComboBox

4

DBC-события

1

Имя DBC-события, не содержащее префикса DBC_

Замечание. Информация об объектах формируется функцией AMEMBERS( ).

Пример. Печатаются имена всех функций VFP, имена которых в программах должны записываться без сокращений.

Alanguage(arrayOfFuncNames, 2)

for k = 1 to Alen(arrayOfFuncNames, 1)

if 'M' $ arrayOfFuncNames(k, 2) then

? arrayOfFuncNames(k, 1), arrayOfFuncNames(k, 2)

endif

next

Результат:

COMPROP

M2-3

CREATEOBJECTEX

M2-3

CURSORTOXML

M2-8

DDEABORTTRANS

M1

DDEADVISE

M4

DDEENABLED

M0-2

DDEEXECUTE

M2-4

DDEINITIATE

M2

DDELASTERROR

M0-1

DDEPOKE

M3-5

DDEREQUEST

M2-4

DDESETOPTION

M1-2

DDESETSERVICE

M2-3

DDESETTOPIC

M2-3

DDETERMINATE

M1

DISPLAYPATH

M2

FORCEEXT

M2

FORCEPATH

M2

GETINTERFACE

M1-3

GETWORDCOUNT

M1-2

GETWORDNUM

M2-3

JUSTDRIVE

M1

JUSTEXT

M1

JUSTFNAME

M1

JUSTPATH

M1

JUSTSTEM

M1

XMLTOCURSOR

M1-3

XMLUPDATEGRAM

M0-3

Функция

ALEN(ArrayName [, nArrayAttribute])

возвращает число элементов, строк или столбцов в массиве ArrayName.

Параметр:

nArrayAttribute – принимает следующие значения:

  • 0 (или опущен) – функция вернет число элементов в массиве;

  • 1 – функция вернет число строк в массиве;

  • 2 – функция в случае двумерного массива вернет число столбцов в массиве, а в случае одномерного массива – 0.

Пример. Печатаются имена файлов и поддиректорий, отобранных в массив fileArray.

&& Устанавливаем директорию по умолчанию

set default to c:

&& Формируем массив fileArray, занося в него описания системных и скрытых файлов,

&& а также поддиректорий корневого каталога диска с:

if Adir(fileArray, "", "DHS") > 0 then

&& Вывод имен файлов и поддиректорий

&& для определения верхней границы цикла FOR используем ALEN( )

for iRow = 1 to Alen(fileArray, 1)

fileName = fileArray(iRow, 1)

fileAtributes = fileArray(iRow, 5)

do case

case "D" $ fileAtributes

? "Папка ", fileName

case "S" $ fileAtributes

? "Системный" + Iif("H" $ fileAtributes, ", скрытый", "") + " файл", fileName

case "H" $ fileAtributes

? "Скрытый файл ", fileName

endCase

endFor

endif

Возможный результат:

Папка WINDOWS

Системный скрытый файл BOOTFONT.BIN

Системный скрытый файл NTLDR

Системный скрытый файл NTDETECT.COM

Системный скрытый файл BOOT.INI

Папка DOCUMENTS AND SETTINGS

Папка PROGRAM FILES

…

Функция

ALINES(ArrayName, cExpression [, nFlags] [cParseChar [, cParseChar2 [, …]]])

копирует каждую строку cExpression в соответствующий элемент одномерного массива ArrayName. Возвращает число элементов в результирующем массиве.

По сравнению с функцией MLINES( ), позволяющей выполнить аналогичные действия, ALINES( ) работает быстрее, программы с ALINES( ) более компактны и, кроме того, на функционирование ALINES( ) не оказывает влияния установка команды SET MEMOWIDTH.

Параметры:

cExpression – символьное выражение или memo-поле, строки которого копируются в массив. Могут быть использованы 2-байтовые символьные строки.

Если cExpression – это пустая строка или NULL-значение, то результирующий массив будет состоять из одного элемента, содержащего пустую строку.

Если cExpression имеет тип Varbinary или Blob, то ALINES( ) создает массив с элементами типа Varbinary.

nFlags – принимает приведенные в табл. 6.12.

Таблица 6.12

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]