Объекты. | Функции | Операторы. |
Наименование | Назначение |
---|---|
ABS | Возвращает абсолютное значение числового выражения |
ACTIVE | Активизирует окно |
ADVISE | Определяет наличие горячей DDE-связи |
ASC | Возвращает числовое значение ASCII-кода |
AND | Побитовое умножение |
ASIN | Вычисление арксинуса заданного чосла |
ATN | Вычисление арктангенса заданного чосла |
ATTACH | Подключение дочернего окна |
BIT | Проверка заданного бита числа |
BITMAP | Чтение изображения из bmp файла |
CALC | Интерпретирует строковое выражение |
CBOOL | Преобразует любой тип в логический |
CBOOL | Преобразует любой тип guid |
CHANGE | Заменяет один символ в строке на другой |
CHECK | Проверяет наличие сигнала |
CHR | Получение символа, соответствующего заданному ASCII-коду |
CLONG | Преобразует любой тип в целочисленный |
CMONEY | Преобразует любой тип в денежный |
CTIME | Преобразует любой тип во время |
CONV | Преобразует любой тип |
COS | Вычисление косинуса заданного угла |
CREAL | Преобразует любой тип в вещественный |
CSTRING | Преобразует любой тип в строковый |
CTRIM | Удаляет не значащие пробелы |
DATE | Получение и преобразование даты |
DDEOPEN | Открывает канал связи с другим приложением |
DDERECEIVE | Читает данные из DDE канала связи |
DDESEND | Передает команду другому Windows приложению |
DDECLOSE | Закрывает канал DDE-связи |
EMPTY | Контроль инициализации переменной |
ERROR | Получение текста системной ошибки |
EVENT | Генерация события |
EXCL | Сброс заданного бита |
EXEFIND | Поиск приложения для документа |
EXP | Вычисление показательной функции |
FONT | Формирование фонта |
FREE | Освобождение блока памяти |
GET | Чтение переменной из окна диалога |
GUID | Генерация GUID |
HEX | Шестнадцатиричное представление числа |
HIWORD | Старшее слово целого числа |
INSTR | Функция IF |
ITEM | Выделение блока памяти для переменной типа IMAGE |
INCL | Устанавливаетзаданный бит числа |
INPUT | Запрос данных |
INSTR | Поиск подстроки в строке символов |
INT | Вычисление целого значения |
ITEM | Выделение подстроки в строке |
LEFT | Выделение n левых символов строки |
LEN | Определение длины строки |
LOG | Натуральный логарифм |
LOWER | Преобразует строчные буквы строки в прописные |
LOWORD | Младшее слово целого числа |
MCOPY | Копирование строки в буфер |
MENU | Создает локальное меню |
MID | Выделение подстроки в строке символов |
MOD | Остаток от деления |
NOT | Инверсия булевого или числового выражения |
NOW | Возвращает значение типа TIME (дата-время) |
OBJECT | Создает переменную типа объект по образцу |
OR | Установка бит по маске |
PARAM | Контроль предопределенной переменной PARAM |
PEEK | Получение значений строковой переменной |
POKE | Установка значений строковой переменной |
POST | Генерация события |
POW | Возведение в степень |
PROFILE | Чтение и запись строк из файла dbasic.ini |
RGB | Формирование маски цвета |
RIGHT | Выделение n крайних правых символов строки |
RND | Случайное число |
ROUND | Округление числа |
RUN | Запускает на выполнение любую программу |
SEND | Передача сигнала функции WAIT или CHECK |
SIGNAL | Создать идентификатор сигнала |
SIN | Синус |
SPACE | Формирование строки пробелов |
SQR | Квадратный корень числа |
STR | Преобразование числа в строковое выражение |
STRING | Формирование строки символов |
TAN | Тангенс |
TIME | Получение текущего времени и преобразование времени из внутреннего формата в строковое и наоборот |
TRIM | Убирает пробелы в строке |
UPPER | Преобразует прописные символы строки в строчные |
VAL | Преобразование числа из символьной формы представления в числовую |
VARGET | Получить переменную |
VARPTR | Определение адреса переменной |
VARWND | Поиск окна содержащего заданную переменную |
WAIT | Приостанавливает выполнение программы вплоть до поступления одного из заданного набора сигнала |
WNDFIND | Поиск окна с заданным заголовком |
Назначение. Возвращает абсолютное значение числового выражения.
ABS( X )
X - любое числовое выражение.
Описание. Функция не изменяет тип числового выражения, т.е. если выражение было типа REAL, то и результат будет типа REAL. Аналогично для LONG будет возвращен тип LONG.
Назначение.Активизирует окно.
ACTIVE( HWND ) HWND
HWND - описатель окна.
Описание. Функция активизирует окно с заданным идентификаторм. При этом она возвращает идентификатор ранее активного окна.
Назначение.Определяет наличие горячей DDE-связи.
ADVISE(0) BOOL
Описание.Функция возвращает значение "Истина" если какое-либо приложение установило горячую DDE-связь с переменными данной программы. Если таковая связь установлена, то dbasic программа не должна завершать своего выполнения до прекращения этой связи, за исключением аварийных ситуаций.
Назначение.Побитовое умножение.
AND( A, B ) LONG
A, B - любое целочисленное числовое выражение.
Описание.Функция возвращает число равное побитовому умножению числа A на B.
Пример:
a=3; b=2; c=AND(a,b)
Назначение. Возвращает числовое значение ASCII-кода N-того символа в строковом выражении.
ASC( Строка [,Позиция] ) LONG
Строка - любое строковое выражение,
Позиция - любое числовое выражение.
Описание.Если параметр "Позиция" не указан, то значение "Позиция" принимается равным 1. Если "Позиция" равно 0 или больше длинны строки, то функция возвращает 0. Функцией обратной по отношению ASC, является функция CHR.
Пример:
s="hello" l1=ASC(s) l2=ASC(s,2)
Назначение.Вычисление арксинуса заданного чосла.
ASIN( X ) REAL
X - любое числовое выражение,
Описание. Результатом выполнения функции ASIN является значение угла, синус которого равен значению выражения X. Угол представлен в радианах и может принимать значение от -pi/2 до pi/2. Если значение X меньше -1 или больше 1, то выдается сообщение об ошибке.
Пример:
pi=ASIN(1)*2
Назначение.Вычисление арктангенса заданного чосла.
ATN( X ) REAL
X - любое числовое выражение,
Описание. Результатом выполнения функции ATN является значение угла, тангенс которого равен значению выражения X. Угол представлен в радианах и может принимать значение от -pi/2 до pi/2. Для преобразования угла из радианной меры в градусную необходимо значение угла умножить на число 180/pi.
Пример:
gr=10;pi=ASIN(1)*2 a=TAN(gr*pi/180) c=ATN(a)*180/pi
Назначение.Подключение дочернего окна.
ATTACH( hWnd, top, right ) LONG
hWnd - любое числовое выражение определяющее идентификатор дочернего окна.
top, right - любые числовые выражения определяющии отступ сверху и справа для дочернего окна, относительно родительского.
Описание.В результате выполнения функции ATTACH происходит синхронизация размеров дочернего окна и текущего окна dbasic программы, так-что при изменение размеров окна программы соответственно изиеняются и размеры дочернего окна. Кроме того при активизациия окна dbasic программы происходит передача фокуса ввода данному окну. Функция возвращает идентификатор ранее подключенного дочернего окна.
Назначение.Контроль бита.
BIT( A, Bit ) BOOL
A - любое целочисленное числовое выражение.
Bit - номер бита в числе.
Описание.Функция возвращает логическое выражение равное истине если указанный бит в числе A установлен и ложь иначе. Нумерация бит начинается с 0.
Пример:
a=2; r=BIT(a,1)
Назначение.Читает битовый образ из файла.
BITMAP( FileName, ResName ) IMAGE
FileName - строковое выражение определяющее имя bmp-файла или имя фала ресурса.
ResName - строковое выражение определяющее имя ресурса или ноль в случае bmp-файла.
Описание.Функция возвращает битовый образ загруженный в память. Для отображение образа следует воспользоваться оператором DRAW, а для освобождения захваченной памяти функцией FREE. Для отображения образа в окне диалога следует создать елемент класса PICTURE и воспользоваться оператором PUT.
Пример отображения в окне
hDib=BITMAP( FileName, 0 ) DRAW hDib, HDC, 0, 0 ok=FREE( hDib )Пример отображения в окне диалога
DIALOG_5 DIALOG 18, 18, 186, 98 CAPTION "Картинки" STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION BEGIN CONTROL "", 3001, "PICTURE", 0 | WS_CHILD | WS_VISIBLE | WS_BORDER, 13, 11, 73, 80 CONTROL "OK", 1, "BUTTON", BS_OWNERDRAW | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 105, 12, 66, 25 ENDПрограмма
hDib=BITMAP(RESNAME,"HOME") ... END CLOSE: ok=FREE( hDib ) END DLG50: EVENT 3001,DLG53 'Реакция на клик в зоне картинки EVENT 3000,DLG51 INPUT NAME,"DIALOG_5",3000 EVENT 3000 EVENT 3001 END DLG51: IF PARAM(1) THEN PUT 3001,hDib END DLG53: USER32!MessageBoxA( HDLG, "Клик", "Окно с картинкой ", 0 ) END
Назначение.Интерпретирует строковое выражение.
CALC( Строка ) VARIABLE
Строка - любое строковое выражение.
Описание.Функция интерпретирует строковое выражение рассматривая его как строку dBasic и возвращает его резудьтат. Если в результате выполнения выражения возникает ошибка, то на экран выдается сообщение об ошибке. Если пользователь выбирает вариант 'OK', то функция возвращает NULL, иначе происходит аварийный выход из программы.
Пример:
A=2; B=0 res=CALC("A/B") IF EMPTY(res) THEN STOP
Назначение.Заменяет один символ в строке на другой.
CHANGE( Строка, Шаблон ) STRING
Строка - любое строковое выражение.
Шаблон - строка вида NewSim+OldSim...
Описание.Функция сканирует строку и при обнаружении OldSim замещает его на NewSim.
Пример.
Str1="$123,4" Str2=CHANGE( Str1, "., $" ) 'Результат Str2=" 123.4"
Назначение.Проверяет наличие одного из сигналов.
CHECK( Сигнал [, Сигнал ...] ) LONG
Сигнал- идентификатор сигнала созданный функцией SIGNAL.
Описание. Функция проверяет наличие одного из сигналов и возвращает его номер в списке. Если нет ни одного из сигналов, то возвращается ноль.
Назначение.Получение символа, соответствующего заданному ASCII-коду.
CHR( Код ) STRING
Код- любое числовое выражение, которое может принимать значение от 0 до 255. Если значение выражения не является целым числом, оно преобразуется к целому виду.
Описание. Функцией обратной по отношению CHR, является функция ASC.
Пример.
Lf=CHR(10)
Назначение.Преобразует любое выражения в логическое.
CBOOL( X ) BOOL
X- любое выражение.
Описание. Для числового X функция возвращает "ЛОЖЬ" если X равно 0, иначе "ИСТИНА". Для строкового X функция возвращает "ИСТИНА" если строка равна "TRUE", иначе "ЛОЖЬ". Если X имеет тип NULL, то функция возвращает "ЛОЖЬ". Во всех других случаях генерируется ошибка.
Пример:
res=CBOOL(1)
Назначение.Преобразует любое выражения в целочисленное.
CLONG( X ) LONG
X- любое выражение.
Описание.Если X имеет тип NULL, то функция возвращает ноль. В случае GUID возникает сообщение об ошибке.
Пример:
res=CLONG(" 123 ")
Назначение.Преобразует любое выражения в вещественное число.
CREAL( X ) REAL
X- любое выражение.
Описание.Если X имеет тип NULL, то функция возвращает ноль. Если параметр не может быть конвертирован в вещественное число, то возникает сообщение об ошибке. Основное отличие от функции VAL заключается в том, что функция всегда возвращает тип REAL и в качестве разделителя разрядов принимается как точка так и запятая.
Пример:
res=CREAL("123.12")
Назначение.Преобразует любое выражения в денежное.
CMONEY( X ) MONEY
X- любое выражение.
Описание.Если X имеет тип NULL, то функция возвращает ноль. Если параметр не может быть конвертирован в деньги, то возникает сообщение об ошибке.
Пример:
res=CMONEY("12345465656.45")
Назначение.Преобразует любое выражения в строку.
CSTRING( X ) STRING
X- любое выражение.
Описание.Если X имеет тип NULL, то функция возвращает пустая строка. Если параметр не может быть конвертирован в строку, то возникает сообщение об ошибке.
Пример:
res=CSTRING(NOW(0))
Назначение.Преобразует любое выражения в guid.
CGUID( X ) GUID
X- любое строковое или целочисленное выражение.
Описание.Если в качестве параметра передается строка не являющаяся GUID или целочисленное выражение, то генерируется нулевой GUID. Во всех других случаях возникает сообщение об ошибке.
Пример:
res=CGUID("{165F0D30-1095-11D5-A399-0000EAF902EA}")
Назначение.Преобразует любое выражения в time.
CTIME( X ) TIME
X- любое выражение.
Описание.Целочисленное значение на входе рассматривается как значение даты. Строковое выражение должно иметь вид yyyymmdd hh:mm:ss. При этом во времени могут отсутствовать секудны, минуты или часы, а в дате дни и месяцы. Во всех других случаях возникает сообщение об ошибке.
Пример:
res=CTIME("200101 10:12")
Назначение.Преобразует значение одного типа в другое.
CONV( X, Тип ) VARIABLE
X- любое выражение.
Тип- наименование типа (LONG,MONEY и др).
Описание.Преобразование происходит в соответствии с таблицей:
тип\вход | BOOL | LONG | REAL | MONEY | STRING | TIME | GUID | IMAGE |
BOOL | ok | ok | ok | - | ok | - | - | - |
LONG | ok | ok | ok | ok | ok | ok | - | ok |
REAL | - | ok | ok | ok | ok | - | - | - |
MONEY | - | ok | ok | ok | ok | - | - | - |
STRING | - | ok | ok | ok | ok | ok | ok | - |
TIME | - | ok | - | - | ok | ok | - | - |
GUID | - | ok (0) | - | - | ok | - | ok | - |
IMAGE | - | ok | - | - | - | - | - | ok |
Пример:
Sum=CONV(0,"MONEY")
Назначение.Вычисление косинуса заданного угла.
COS( X ) REAL
X - любое числовое выражение определяющее значение угла в радианах.
Назначение.Удаляет не значащие пробелы.
CTRIM( Строка ) STRING
Строка- любое строковое выражение.
Описание. Функция возвращает строковое выражение в котором удалены все не значащие пробелы, т.е. пробелы слева и справо от текста, и повторяющиеся пробелы среди текста.
Пример:
Str=CTRIM(" Привет из африки ") 'Результат "Привет из африки"
Назначение.Получение текущей даты и преобразование даты из внутреннего форматы в строковое и наоборот.
DATE( X [, Format] ) LONG(STRING)
X- числовое или строковое выражение.
Format- строковое выражение определяющее формат даты.
Описание.Если X равно -1, то функция возвращает целочисленное значение текущей даты во внутреннем формате. Если X равно дате во внутреннем формате, то функция возвращает дату в виде строки в формате определенном в Windows. Если X есть строковое выражение даты, то функция возвращает целочисленное значание даты во внутреннем формате. Строка Format может содержать комбинацию следующих символов
d | День месяца как число без лидирующего нуля. |
dd | День месяца как число с лидирующим нулем. |
ddd | День недели как двухбуквенная обревеатура. |
dddd | День недели. |
M | Месяц как число без лидирующего нуля. |
MM | Месяц как число с лидирующим нулем. |
MMM | Месяц как трехбуквенная обревеатура. |
MMMM | Месяц. |
y | Последнии две цифры года без лидирующего нуля. |
yy | Последнии две цифры года с лидирующим нулем. |
yyyy | Год. |
Date=DATE(DATE(-1),"dd MMMM yyyy"))
Назначение.Открывает канал связи с другим приложением.
DDEOPEN( Приложение, Раздел ) LONG
Приложение- любое строковое выражение определяющее имя Windows приложения.
Раздел- любое строковое выражение определяющее имя раздела этого приложения.
Описание.Функция возвращает идентификатор открытого DDE-канала связи с другим Windows-приложением. При этом Windows приложение должно быть уже активным. В случае ошибки возвращается 0.
Пример:Price=DDEOPEN("WinWord","System") IF Price=0 GOTO EXIT res= DDESEND( Price, "[FileNew .Template="+CHR(34)+"NORMAL"+CHR(34)+"]" ) res= DDESEND( Price, "[FileSaveAs .Name="+CHR(34)+NAME+CHR(34)+"]" ) res= DDECLOSE( Price )
Назначение.Читает данные из DDE канала связи.
DDERECEIVE( Канал, Команда ) STRING
Канал - идентификатор, который был получен в результате выполнения функции
DDEOPEN.
Команда - любое строковое выражение определяющее команду.
Описание.Функция посылает запрос другому Windows приложению и возвращает результат в строковом выражении.
Пример.
AH= DDEOPEN( "PROGMAN", "PROGMAN" ) IF AH = 0 GOTO NEXT AS= DDERECEIVE( AH, "Groups" ) AR= DDECLOSE( AH ) NEXT:
Назначение.Передает команду другому Windows приложению.
DDESEND( Канал, Команда ) BOOL
Канал- идентификатор,который был получен в результате выполнения функции
DDEOPEN.
Команда- любое строковое выражение определяющее команду.
Описание. Функция посылает команду другому Windows приложению с которым установлена DDE-связь. Каждая строка команды заключается в квадратные скобки. Команда так-же может быть послана другой dbasic программе. В этом случае в функции DDEOPEN следует установить имя приложения - "DBASIC", а раздел - имя dbasic-программы с которой устанавливается связь. Команда в этом случе представляет фрагмент dbasic программы каждая строка которой заключена в квадратные скобки, а имена всех меток начинаются с символа '@'. Для такой программы доступны все переменные и метки программы которой посылается команда.
Пример.
AH= DDEOPEN( "PROGMAN", "PROGMAN" ) IF AH = 0 GOTO NEXT AR= DDESEND( AH, "[CreateGroup(TEST)]" ) DELAY 2000 AR= DDESEND( AH, "[DeleteGroup(TEST)]" ) AR= DDECLOSE( AH ) NEXT:
Назначение.Закрывает канал DDE-связи.
DDECLOSE( Канал ) BOOL
Канал- идентификатор, который был получен в результате выполнения функции DDEOPEN.
Описание.Функция закрывает канал DDE-связь.
Назначение.Сброс бита.
EXCL( X, Бит ) LONG
X- любое целочисленное числовое выражение.
Бит- любое целочисленное числовое выражение определяющее номер
сбрасываемог бита в числе X. Нумерация бит начинается с нуля.
a=3; a=EXCL(a,0)
Назначение.Контроль инициализации переменной.
EMPTY( X ) BOOL
X- любая переменная.
Описание.Функция возвращает значение ИСТИНА если переменная не инициализирована, т.е. имеет NULL-тип.
Назначение.Возврощает текст сообщения об ошибке.
ERROR( Код ) STRING
Код- число определяющее код ошибки.
Описание.Функция возвращает тестовое значение соответствующее заданному коду ошибки.
Пример:res=ERROR(8)
Назначение.Генерация события.
EVENT( [hWnd, Код]| Метка ) LONG
hWnd- идентификатор окна, в котором генерируется событие.
Код- число определяющее код события.
Метка- имя метки.
Описание.Функция возвращает количество окон, которому было послано сообщение. Функция существует в двух редакциях. В первой ей передается идентификатор окна и код события, а во второй имя метки, для которой следует сгенерировать событие. Во втором случае сообщение посылается своему же окну.
Пример:
EVENT 3500,LBL01 RES=EVENT(HWND,3500) ... END LBL01: STOP END или RES=EVENT("LBL01") ...
Назначение. Поиск приложения для документа.
EXEFIND( Наименование ) STRING
Наименование- строковое выражение задающее наименование файла документа.
Описание.В результате выполнения функция возвращает полный путь и наименование приложения ассоциированного с расширением данного документа. Файл документа должен существовать.
Пример.
' Запускаем Excel DOCNAME= PRGDIR+"STEP4.XLS" EXENAME= EXEFIND(DOCNAME) IF LEN(EXENAME)=0 THEN STOP AR= RUN( EXENAME+" "+DOCNAME, 5 )
Назначение.Вычисление экспоненты.
EXP( X ) REAL
X - любое числовое выражение.
Пример:e=EXP(1)
Назначение.Формирование фонта.
FONT( HDC, Наименование, Размер, Тип ) LONG
HDC- числовое выражение задающее идентификатор контекста экрана.
Наименование- строковое выражение задающее наименование фонта.
Размер- числовое выражение задающее размер фонта.
Тип- строковое выражение задающее тип фонта.
Описание. Функция формирует идентификатор фонта заданного наименования, размера и типа. В кчестве типа допустимо использовать символы "Bold", "Italic". Сформированный с помощью данной функции идентификатор фонта должен бфть впоследствии освобожден функцией GDI32!DeleteObject(hFont ).
Пример.
NewFont= FONT( HDC, "Pragmatica", 50, "BOLD" ) OldFont= GDI32!SelectObject( HDC, NewFont ) GDI32!TextOutA( HDC, 90, 50, Text, LEN(Text) ) GDI32!SelectObject( HDC, OldFont ) GDI32!DeleteObject( NewFont )
Назначение. Освобождение блока памяти.
FREE( Handle ) BOOL
Handle- идентификатор блока памяти.
Описание. В результате освобождается блок памятиранее захваченный, например, функцией BITMAP.
Пример.
FileName= FIO!GetOpen( HWND, "Выберите файл картинки", "Картинка (*.bmp)|*.bmp|" ) IF LEN(FileName)=0 THEN END hDib= BITMAP( FileName, 0 ) hDibOld= GET(3003) ok= FREE( hDibOld ) PUT 3003,hDib
Назначение.Чтение переменной из окна диалога.
GET( Индекс[, Тип| Элемент] ) VARIABLE
Индекс- числовое выражение определяющее идентификатор элемента окна диалога.
Тип- строковое выражение определяющее тип возвращаемой переменной.
Элемент- числовое выражение задающее номер элемента в "Оконо выбора"
в случие множественного выбора.
Описание. Функция возвращает значение переменной элемента окна диалога. Возвращаемое значение зависит от типа элемента. Если функция вызывается не в ответ на одно из сообщений окна диалога, то предварительно следует инициализировать предопределенную переменную HDLG. Если в качестве типа указать строку "HWND", то функция возвращает идентификатор окна задонного элемента.
Назначение.Получение шестнадцатиричного представления целого числа.
HEX( X ) STRING
X- любое целочисленное числовое выражение.
Назначение.Старшее слово целого числа.
HIWORD( X ) LONG
X- любое числовое выражение.
Назначение.Поиск подстроки в строке символов.
INSTR( [Позиция,] Строка, Подстрока ) STRING
Позиция- любое числовое выражение, значение которого
определяет позицию в строке, с которой должен начинаться поиск.
Если операнд не задан, то поиск начинается с первой позиции,
Строка- строковое выражение, значение которого задает
исходную строку, в которой будет осуществлятся поиск,
Подстрока- строковое выражение, значение которого
задает исходную подстроку.
Описание.Функция возвращает номер позиции, начиная с которой заданная подстрока появляется в исходной строке. Если "Позиция" определяет число большее, чем длинна исходной строки, или исходная строка является пустой строкой, или заданная подстрока не найдена, то функция возвращает значение ноль. Если операнд "Подстрока" является пустой строкой, то функция возвращает значение операнда "Позиция" или 1, если "Позиция" не задана.
Пример
AS="DBCAEBC" BS="BC" AL=INSTR(AS,BS) BL=INSTR(3,AS,BS) 'Результат AL=2, BL=6.
Назначение.Установка бита.
INCL( X, Бит ) LONG
X- любое целочисленное числовое выражение.
Бит- любое целочисленное числовое выражение определяющее номер
устанавливаемого в X бита. Нумерация начинается с нуля.
Пример
A=2; B=INCL(A,0) 'Результат B=3.
Назначение.Редактирование переменной.
INPUT( Title, Prompt, X ) STRING
Title- строка заголовка окна ввода.
Promt- строка приглашение окна ввода.
X- переменная.
Описание.Функция отображает окно диалога для ввода значения переменной. Если пользователь отказался от ввода, то возвращается значение типа NULL.
Пример
Name=INPUT("DBASIC","Введите ваше имя:", "" ) IF EMPTY(Name) GOTO CLOSE
Назначение.Вычисление целого значения.
INT( X ) VARIABLE
X- любое числовое выражение.
Описание.Функция возвращает целую часть числа путем усечения дробной. Так для чисел -5.3, -5.8, -5 она вернет -5. А для чисел 5.3, 5.8, 5 она вернет 5. При этом функция не изменяет тип числа. Т.е если параметр был вещественным числом, то и результат будет вещественным.
Пример
A=5.3; B=INT(A)
Назначение.Выделение подстроки в строке
ITEM( Строка, Разделители, Номер ) STRING
Строка- любое строковое выражение.
Разделители- любое строковое выражение.
Номер- любое числовое выражение.
Описание. Функция возвращает подстроку, которая является частью исходной строки заключенной между символами разделителями. Номер подстроки определяется числом "Номер" (начиная с 1). Если строка "Строка" содержит выражения в кавычках, то символы "Разделители" находящиеся в кавычках игнорируются.
Пример
A=ITEM("Один,Два;Три",",;",3) 'Результат A="Три".
Назначение.Выделение n левых символов строки.
LEFT( Строка, Длина ) STRING
Строка- строковое выражение, значение которого задает исходную строку,
Длина- числовое выражение, значение которого задает длину выделяемой подстроки.
Описание. Функция возвращает подстроку, состоящую из "Длина" самых левых символов "Строка". Если "Длина" больше, чем длина строки "Строка", то возвращается целая строка. Если "Длина" равна 0, то возвращается пустая строка.
Пример.
AS="HELLO BASIC" CS=LEFT(AS,5) 'Результат CS="HELLO"
Назначение.Определение длины строки.
LEN( Строка ) LONG
Строка- строковое выражение.
Назначение.Натуральный логарифм.
LOG( X ) REAL
X- любое числовое выражение.
Пример.
A=LOG(EXP(1)) 'Результат A=1
Назначение.Преобразование символы строки в прописные.
LOWER( Строка ) STRING
Строка- любое строковое выражение.
Назначение.Младшее слово целого числа.
LOWORD( X ) LONG
X - любое числовое выражение.
Назначение. Копирует строку в буфер и наоборот.
MCOPY( PSTR, Строка ) LONG
MCOPY( PSTR ) STRING
PSTR- числовое выражение задающее указатель на буфер приемника или источника.
Строка- любое строковое выражение
Описание. Функция существует в двух редакциях. В первой она копирует строку в буфер, указатель на который помещен в PSTR. Этот прием используется для передачи строк внешним объектам через механизм сообщений. Во второй она рассматривает PSTR как указатель на буфер содержащий исходную строку. В результате ее выполнения строка копируется в dbasic переменную.
Пример.
EVENT 3000,READ ... READ: RES=MCOPY( PARAM, "Hello" ) END
Назначение. Создает локальное меню или модифицирует существующее.
MENU( 0,0,0) hMenu MENU( hMenu, Текст, Код ) BOOL(LONG) MENU( hMenu, X, Y ) BOOL
hMenu- описатель меню.
Текст- строковое выражение опеределяющее текст пункта меню или команду:
Пример.
ok= MENU( HMENU, "REMOVE", 40201 ) hMenu=MENU( HMENU, "SUBMENU", 1 ) ok= MENU(hMenu,"Показать список",40208) END RMOUSE: hMenu= MENU(0,0,0) IF hMenu==0 THEN END ok= MENU(hMenu,"Dialog1",40106) ok= MENU(hMenu,"Dialog2",40107) ok= MENU(hMenu,"Dialog3",40108) ok= MENU(hMenu,XPOS,YPOS) END
Назначение. Выделение подстроки в строке символов.
MID( Строка, Позиция [, Длина] ) STRING
Строка- строковое выражение.
Позиция- целочисленное выражение.
Длина- целочисленное выражение.
Описание. Результатом выполнения функции является подстрока строки символов. Длина подстроки определяется операндом "Длина". Операнд "Позиция" определяет начальную позицию подстроки в заданной строке. Если "Длина" опущена или определяет длину большую, чем количество символов в строке вправо от "Позиция" и до конца строки, то возвращается строка от "Позиция" и до конца строки. Если значение "Длина" равно нулю или значение "Позиция" превышает длину заданной строки, то результатом выполнения функции будет пустая строка. Выделение подстроки можно также выполнить функциями LEFT и RIGHT.
Пример.
AS="HELLO BASIC" BS=MID( AS, 1, 5 ) 'Результат BS="HELLO".
Назначение.Остаток от деления.
MOD( X, Y ) LONG
X,Y- целочисленное выражение.
Пример.
X=9; Y=MOD(X,2) 'Результат Y=1.
Назначение.Инверсия.
NOT( X[,Y] ) LONG(BOOL)
X- любое целочисленное или логическое выражения,
Y- любое логическое выражения.
Описание.Если X это логическое выражение, то функция возвращет обратное значение. Если X число, то функция производит инверсию бит числа. Если заданы два параметра X и Y, то происходить сброс бит числа X по маске Y.
Назначение.Возвращает текущую дату и время.
NOW(0) TIME
Описание.Функция возвращает переменную типа TIME содержащую текущие дату и время.
Пример.
D=24*60*60 T=NOW(0) T=T+D 'прибавляем день R=DATE(T)+" "+TIME(T)
Назначение..Создает переменную типа объект по образцу
OBJECT( oTempl, pClass ) OBJECT
oTempl- переменная типа OBJECT.
pClass- целое число являющееся указателем на класс того-же типа, что и oTempl.
Описание.Функция создает переменную типа OBJECT с указателем класса равным параметру pClass. Данная функция может быть использована, если в качестве параметра события возвращается указатель на класс. Тогда для вызова его методов необходимо создать переменную типа OBJECT.
Пример.
EVENT 4000,GETRS SET Rs=RSODBC.New( Base, "DB", 0 ) ok= Rs.Open("SELECT * FROM CITY","KEYSET") ... END GETRS: rs=OBJECT(Rs,PARAM) Name= rs.FldGet("NAME") END
Назначение. Установки бит по маске.
OR( X, Y ) LONG
X,Y- любое целочисленное выражение.
Описание. В результате выполнения функция возвращает число X в котором установлены биты установленные в числе X или в числе Y.
Назначение.Получение значений строковой переменной.
PEEK( Указатель, Смещение, Тип )
Указатель - указатель на строковую переменную.
Смещение- числовое выражение задающее смещение внутри строковой переменной.
Тип- строковое выражение задающее размер и тип возвращаемой переменной.
Описание. Функция возвращает числовое или строковое значение переменной
находящейся по смещению определяемому значение переменной "Смещение". При
этом тип и размер переменной определяется строковым выражением типа:
Пример.
' Пример использования структуры ' ' typedef struct ' { ' LONG left; ' LONG top; ' LONG right; ' LONG bottom; ' } RECT; ' WINREC="1234123412341234" PREC= VARPTR(WINREC) USER32!GetClientRect( HWND, PREC ) left=PEEK( PREC, 0, "L1" ) top=PEEK( PREC, 4, "L1" ) right=PEEK( PREC, 8, "L1" ) bottom=PEEK( PREC, 12, "L1" )
Назначение.Установка строковой переменной.
POKE( Строка, Смещение, Тип )=Выражение
Строка- строковая переменная.
Смещение- числовое выражение задающее смещение внутри строковой переменной.
Тип- строковое выражение задающее размер и тип устанавливаемой переменной.
Описание. Оператор устанавливает значение переменной находящейся по
смещению определяемому значение переменной "Смещение".При этом тип и размер
переменной определяется строковым выражением типа:
Пример.
' Пример использования структуры ' ' typedef struct ' { ' LONG left; ' LONG top; ' LONG right; ' LONG bottom; ' } RECT; ' WINREC="1234123412341234" POKE( WINREC, 0, "L1" )=10 POKE( WINREC, 4, "L1" )=10 POKE( WINREC, 8, "L1" )=100 POKE( WINREC, 12, "L1" )=100
Назначение.Генерация отложенного события.
POST( hWnd, Код ) LONG
hWnd- идентификатор окна, в котором генерируется событие или 0 если всем.
Код- число определяющее код события.
Описание.Функция возвращает количество окон, которому было послано сообщение. Функция ставит в очередь сообщение.
Назначение.Возведение числа в степень.
POW( X, Y ) REAL
X,Y- любое числовое выражение.
Пример.
Y=MOD(3,2) 'Результат Y=9.
Назначение.Чтение и запись полей файла dbasic.ini.
PROFILE( Секция, Поле [, Значение] ) STRING
Секция- строковое выражение определяющее имя секции dbasic.ini файла.
Поле- строковое выражение определяющее имя поля dbasic.ini файла.
Значение- выражение определяющее значение поля.
Описание.Если "Значение" задано, то функция производит его запись в поле файла dbasic.ini, иначе функция читает его из файла. В любом случае функция возвращает записанное или прочитанное значение в строковом представлении.
Пример.
S=PROFILE(PRGNAME,"Date",STR(DATE(-1))) Date=CLONG(PROFILE(PRGNAME,"Date"))
Назначение.Формирование переменной цвета
RGB( Красный, Зеленый, Синий ) LONG
Красный, зеленый, синий - числовые выражения, значения которых задает весовое соотношение цветов в результирующем цвете.
Назначение. Выделение n крайних правых символов строки
RIGHT( Строка, Длина ) STRING
Строка- строковое выражение, значение которого задает исходную строку,
Длина- числовое выражение, значение которого задает длину выделяемой подстроки.
Описание. Функция возвращает подстроку, состоящую из "Длина" самых правых символов "Строка". Если "Длина" больше, чем длина строки "Строка", то возвращается целая строка. Если "Длина" равна 0, то возвращается пустая строка.
Пример.
AS="HELLO BASIC" DS=RIGHT(AS,5) 'Результат CS="BASIC"
Назначение.Получить случайное число в диапазоне от 0 до 1.
RND( X ) REAL
X- числовое выражение, значение которого используется для переустановки базы генерации перед получением очередного случайного числа.
Описание. Если значение X не равно нулю, функция производит переустановку базы генерации. В противном случае возвращает очередное случайное число, находящееся в диапазоне между 0 и 1.
Назначение.Округление числа или времени.<.p>
ROUND( Число, Точность ) VARIABLE
Число- любое выражения типа LONG,REAL,MONEY,TIME.
Точность- числовое выражение определяющее точность.
Описание.Функция округляет переменную, до указанной точности. Для чисел "Точность" определяет количество знаков после запятой в случае положительного числа и до запятой - в случае отрицательного числа. Для времени -2 округляет знчение даты до года, -1 до месяцев, 0 до дней, 1-до часов и 2 до минут.
Пример.
A=ROUND(1234,1234,2) ' A= 1234,12 T=ROUND(CTIME("20011231 10:12"),0) ' T= 20011231
Назначение.Запускает на выполнение любую программу.
RUN( Файл, Параметр, [Флаг] ) LONG
Файл- строковое выражение опеределяющее имя exe-файла программы и параметры необходимые для ее запуска.
Параметр- числовое или строковое выражение определяющее вид запускаемой программы.
Флаг- целочисленное выражение, число не равное нулю приводит к ожиданию окончания
выполнения запущенной программы с возвратом ее кода выполнения.
Описание. В результате выполнения функции запускается на выполнение
новая программа. Функция возвращает:
0 - при успешном запуске;
1 - при ошибке запуска;
иначе - код ошибки выполнения программы.
В случае числового значения параметр запуска равен: 0 - окно скрыто;
5 - окно видимо;
2 - окно минимизировано;
3 - окно максимизировано.
Назначение. Передача сигнала функции WAIT.
SEND( Сигнал ) BOOL
Сигнал- идентификатор сигнала созданный функцией SIGNAL.
Описание. Функция посылает сигнал программе, которая в этот момент должна
находится в состоянии ожидания сигнала, т.е. выполнять функцию WAIT.
Пример.
S1= SIGNAL(0) S2= SIGNAL(0) ON WAIT( S1, S2 ) GOTO L1,L2 END L1:USER32!MessageBoxA( HWND, "Сигнал 1", "TEST", 0 );END L2:USER32!MessageBoxA( HWND, "Сигнал 2", "TEST", 0 );END
Назначение. Создать идентификатор сигнала.
SIGNAL(0) LONG
Описание. Функция создает идентификатор сигнала, который затем может быть послан функцией SEND и принят функцией WAIT.
Назначение. Вычисление синуса заданного угла.
SIN( X ) REAL
X- числовое выражение, задающее значение угла в радианах.
Назначение. Формирование строки пробелов.
SPACE ( Длина ) STRING
Длина- числовое выражение, значение которого задает длину состоящей из пробелов строки.
Назначение. Преобразование числа в строковое выражение.
STR( X [, Формат] ) STRING
X- любое числовое выражение.
Формат- строковое выражение задающее формат выводимого числа.
Описание.Результатом выполнения функции является строка символов, представляющая заданное число. В качестве десятичного разделителя всегда используется точка. Для обратного преобразования можно воспользоваться функцией VAL. Синтаксис выражения "Формат" аналогичен синтаксису функции pformat в C. Например %10.2f или %d и т.п.
Назначение. Формирование строки символов.
STRING( Длина, Выражение ) STRING
Длина- числовое выражение, значение которого задает длину строки.
Выражение- числовое или строковое выражение, которое
задает символ, из которого формируется строка.
Пример.
AS= STRING(10,"?") 'Результат AS="??????????"
Назначение.Квадратный корень.
SQR( X ) REAL
X- любое числовое выражение.
Назначение. Вычисление тангенса заданного угла.
TAN( X ) REAL
X- числовое выражение, значение которого задает значение угла в радианах.
Назначение. Получение текущего времени и преобразование времени из внутреннего форматы в строковое и наоборот.
TIME( X ) LONG(STRING)
X- числовое или строковое выражение.
Описание. Если X равно -1, то функция возвращает целочисленное значение времени в секундах. Если X число большее или равное 0 то функция возвращает время в виде строки в формате определенном в Windows. Если X есть строковое выражение времени, то функция возвращает целочисленное значание времени.
Назначение. Удаляет все пробелы.
TRIM( Строка ) STRING
Строка- строковое выражение.
Назначение. Преобразование символы строки в прописные.
UPPER( Строка ) STRING
Строка- любое строковое выражение.
VAL( X ) STRING
X- любое символьное выражение.
Описание. Результатом выполнения функции является число. Если первые символы в значении аргумента не цифры, результатом будет значение 0. Если число содержит десятичные разряды, то возвращается тип REAL, иначе LONG. В качестве разделителя десятичных разрядов воспринимается только точка. Все другие символы воспринимаются как окончание числового выражения. Для обратного преобразования можно воспользоваться функцией STR.
Назначение. Получить переменную.
VARGET( HWND, Имя ) VARIABLE
HWND- идентификатор любого dbasic окна.
Строка- строковое выражение задающее имя переменной.
Описание. Результатом выполнения функции является получение переменной из другого окна программы.
Пример.
HANY= WNDFIND("Приложение") IF HANY<>0 THEN V= VARGET( HANY, "PRGNAME" )
Назначение. Определение адреса переменной.
VARPTR( X ) POINTER
X- любая переменная.
Описание. Результатом выполнения функции является получение переменной типа указатель POINTER равной адресу переменной X.
Назначение. Поиск окна содержащего заданную переменную.
VARWND( Выражение, Имя ) LONG
Выражение- выражение любого типа.
Имя- строковое выражение задающее имя переменной.
Описание.Функция просматривает переменные заданного имени во всех окнах и сравнивает их значения со значением "Выражения". Если они равны, то функция возвращает идентификатор данного окна. Если окно не найдено, то возвращается 0.
Пример.
HANY= VARWND("INAC"+STR(Id),"KEY") IF HANY<>0 THEN V= VARGET( HANY, "PRGNAME" )
Назначение. Поиск окна с заданным заголовком.
WNDFIND( Заголовок) LONG
Заголовок - строковое выражение задающее текст заголовка окна.
Описание. Функция возвращает идентификатор окна с заданным заголовком или 0, если такого окна не существует.
Назначение.Приостанавливает выполнение программы вплоть до поступления одного из заданного набора сигнала.
WAIT( Сигнал, Сигнал, ... ) LONG
Сигнал - идентификатор сигнала созданный функцией SIGNAL.
Описание. Функция приостанавливает выполнение программы вплоть до поступления одного из заданного набора сигналов. При этом она возвращает целочисленное значение равное номеру сигнала в списке.
Пример.
S1= SIGNAL(0) S2= SIGNAL(0) ON WAIT( S1, S2 ) GOTO L1,L2 END L1:USER32!MessageBoxA( HWND, "Сигнал 1", "TEST", 0 );END L2:USER32!MessageBoxA( HWND, "Сигнал 2", "TEST", 0 );END
Содержание. | Операторы. |