функции
Функциите са вътрешни и външни
Тук е даден списък на вътрешните функции.
SIN (x) синус
COS (x) косинус
TAN (x) тангенс
ARCTAN (x) аркустангенс
LN (x) естествен логаритъм
EXP (x) експонента
ROUND (x) най-близкото цяло число до x
ABS (x) абсолютна стойност на x
INT (x) цялата част на аргумента
RND (n) случайно число между 0 и n-1
RU (c) връща числото записано в колона c от реда,
установен с командата НАРЕД
UCELL(n) връща стринг от колона к от реда установен с командата НАРЕД
COUNTRR(0) брой на редовете в текущата таблица
COUNTCC(0) брой на колоните в текущата таблица
COUNTR(c) брой непразни елементи в колона c
COUNTC(r) брой непразни елементи в ред r
POZI(x) ако x>0 връща x, иначе връща 0
NEGA(x) ако x<0 връща x, иначе връща 0
BLOCKR(1) първи ред от текущия блок
BLOCKR(2) последен ред от текущия блок
BLOCKC(1) първа колона от текущия блок
BLOCKC(2) последна колона от текущия блок
LENBASE(n) ако n=0 връща общата ширина на таблицата,
иначе връща ширината до колона n.
LENCELL(n) връща ширината на колона n
CURR(0) връща текущия ред
CURC(0) връща текущата колона
FPARAM(n) ако n=0 връща брой подадени параметри
при повикване на програмата,
иначе връща параметър номер n
DIV (a,b) резултат от целочислено деление
MOD (a,b) остатък при целочислено деление
TYP(r,c) връща типов код на елемент (r,c)
от текущата таблица:
0 - празен
1 - текст
2 - цяло число
3 - десетична дроб
4 - дата
* Забележка
ако r е отрицателно число,
връща дължината на думата
(позицията на десния й край)
записана в клетка (-r,c)
SUM(r1,c1,r2,c2) блок-сума между клетките (r1,c1) и (r2,c2)
COUNTRNZ(c1,c2) преброява непразните елементи в текущия ред
между колони c1,c2
COUNTCNZ(r1,r2) преброява непразните елементи в текущата
колона между редовете r1,r2
BCOUNT(р1,к1,р2,к2) Преборява колко непразни полета има
в дадения блок.
SORTED(р1,к1,р2,к2,кс,код$) Връща единица ако дадения
блок р1,к1,р2,к2
е сортиран по колона кс и дадения код.
код$ трябва да е от символите + - > <.
EQU(r1,c1,r2,c2) връща 1 ако в клетките r1,c1 и r2,c2 има
еднакви текстове и 0 в противен случай
EXIST(r,c) връща 1 ако в клетката (r,c) има
записано име на съществуващ файл
EXISTP(р,к) Връща 1 ако в клетка (р,к) е записано
името на съществуваща директория.
EXISTFS(name) връща 1 ако файл посоченото
име съществува
(name е стринг).
EXISTPS(name) връща 1 ако дирктория с посоченото
име съществува
(name е стринг).
CBASENAME(n) Връща стринг- име на базовия файл
ако n=0 текущата таблица;
ако n=1 предпоследната (от стека на отваряните)
ако n=2 ... от стека
POSIT(r1,c1,r2,c2) прочита двете думи от клетки r1,c1 и
r1,c2. Връща позицията от която
първата се съдържа във втората
или 0, ако не се съдържа.
PRESENT (d$,r,c,код) прочита колона c от текущата таблица,
започвайки от ред r. Връща реда, в който
е намерена думата d$, или нула,
ако я няма.
"код" е указание за точно съвпадение.
ако код=0, търси позизионно съвпадение;
ако код=1, търси точно съвпадение.
SCELL (r,c) връща стринг - прочетен
от текущата таблица,
клетка r,c.
(без интервалите отдясно)
MENU (0) Тук програмата спира, излъчва
меню - прозорец и чака за натиснат бутон.
Функцията Връща число - номер на бутон.
Точките в менюто се прочитат от
първа колона на текущата таблица.
Тя трябва да има две колони
и от 2 до 8 реда.
Първия ред е служебен. Там е надписа
на менюто.
От втори (най-много до 8 ) ред
в първа колона са точките,
с които се надписват бутоните.
Втора колона съдържа два надписа:
В първи ред е заглавието на прозореца.
Втори ред е за ключова дума в хелпа.
SRESULT$ Това служебна променлива
за резултат от изпълнението на
последната програма.
WEEK (n) Връща стринг - ден от седмицата
ако n = 0, връща "Неделя"
ако n = 1..6, връща "Понеделник".."Събота".
MONTH (n) Връща стринг - месец
n = 1..12.
ако n = 1, връща "Януари"
...
ако n = 12, връща "Декември".
GWEEK (д,м,г) Връща ден от седмицата (0..6)
за дадения ден
(ден,месец,година).
Ако д/м/г е нула,
се взема стойност от
текущата дата.
DMONTH (м,г) Връща число
- колко дни има в посочения месец
(месец,година)
ако месец или година =0 се взема
текущия.
PMENU(име, x,y)
тук програмата спира и излъчва PopUp меню
от координати x,y, записано в текстов файл
с посоченото име. Ако в менюто има записани
команди, те се изпълняват.
Функцията връща 1 при успех.
пример за меню - текст
--------- начало --------------
Покупки (1)
Регистър купени стоки (1,1) база REG_K_S
Регистър фактури за покупки (1,2) база REG_K_F
Продажби (2)
Регистър продадени стоки (1,1) база REG_P_S
Регистър фактури за продажби (1,2) база REG_P_F
---------край-------------------
LENSTR(d$) Връща дължината на стринга d$.
GETWIND(d$) Връща стринг- директория
ако d$='' връща директорията на Windows.
ако d$='%C' - текущата директория
ако d$='%B' - инсталационната директория
на Б4 (C:\B4W)
*** Изключение
ако d$='%XNAME' - проверява дали NAME
е валидно име на файл
и ако не е валидно, връща празен стринг ''
GETOK(d1$,d2$,c)
==============
ako c=1,
Връща 1/0 отговор на запитване в двете думи
Първата е заглавие на диалоговия прозорец,
Втората се изобразява над бутона "Да"
Бутонът "Помощ" задействува BHELP.EXE
с втората дума и файл "USERHELP.TXT"
ПРИМЕР:
.....
е_съгласен GETOK( 'Да изтрия ли таблицата' , Име_на_табл,1)
ако е_съгласен то изтр @Име_на_табл иначе стоп (1)
.....
==============
ako c=2,
излъчва кутийка, надписана с d1$,
и разказ озаглавен с d2&
разказа се прочита от текстов файл
по следния начин:
думата d2& трябва да съдържа някъде
в средата си символа &
и тогава лявата страна е заглавие на разказа,
а дясната трябва да е точното име на текстов
файл-съдържание.
В този случай функцията връща винаги
резултат 1
ПРИМЕР:
разкажи GETOK( 'Грешка','Как да направим нов & HOWTOCREATE.TXT',2)
==============
ako c=3,
Връща 1 Показва съобщение от двете думи
Първата е заглавие на диалоговия прозорец,
Втората се изобразява над бутона "Да"
ПРИМЕР:
кажи GETOK( 'Проверката е извършена','Няма грешки',3)
==============
ako c=5,
Връща 1,2,3
Показва въпрос с три възможни отговора
"да","не","отказ".
ако е натиснат "не" връща 1
ако е натиснат "отказ" връща 2
ако е натиснат "не" връща 3
ПРИМЕР:
кажи GETOK('Внимание','Текущата програма ще бъде обновена',5)
--------- край на функцията GETOK------------
MONTHN(s$) Връща номер на месеца зададен като дума
например MONTHN('Април') връща 4;
ако името не е валидно, връща 0
WEEKN(s$) Връща номер на деня от седмицата,
зададен като дума
например WEEKN('Сряда') връща 3
ако името не е валидно, връща -1
забележка:
WEEKN('неделя') връща 0
DATETODMYW(d$,код) Връща число,
в завивисмост от кода
d$ е стринг - дата във вид 'дд.мм.гггг';
ако кода е
1 - връща само дата ( ден от месеца 1..31)
2 - връща само месеца ( 1..12 )
3 - връща само годината (1..3500)
4 - връща ден от седмицата (0..6)
DMYTODATE(d,m,y) Връща стринг -дата,
във вид 'дд.мм.гггг',
където са зададени числата
d ден
m месец
y година
RTOST (r) превръща числото r в стринг
STTOR (s) превръща стринга s в число
LOCALSRVADR(0) връща стринг-адрес на локалния нет сървър
WORDN(d$,n) d$ е стринг, а n-число.
функцията връща стринг - дума номер n от стринга d$
SCOPY(d$,p,len) връща стринг, извлечен от позиция p на стринга d$
с дължина len
CHECKBULEGN(d$) връща 1 ако ЕГН-то е възможно
CHECKBULSTAT(d$) връща 1 ако Булстата е възможен
CONTAINSL(d$,код) при код 1, връща 1 ако в думата се среща латинска буква
при код 2, връща 1 ако в думата се среща кирилска буква
при код 3, връща 1 думата е само от латински букви
при код 4, връща 1 думата е само от кирилски букви
FORMATN(n,l,d,c) връща стринг-числото n като
l е общата дължина на числото
d е брой десетични знаци след точката
ако c=0, формата е xx.xx
ако c=1,2, се слагат нули отляво, докато дължината стане l
ако c=2,3, числото се съкращава отдясно до десетична точка или цяло число
NICKADDR(nick$,authorized)
връща стринг-IP адреса на дадения nick
или празен стринг ако няма такъв
authorized е входен параметър =0;
ако authorized е 1,
функцията работи само за отключени
адреси (с права за команден достъп)
CONNECTEDADDR
Връща стринг - IP адрес на сървъра към
който е свъразн клиента.
Ако няма връзка, връща, празен стринг.
USERSCONNECTED
Връща текущия брой участници
в клиенския прозорец.
LASTSENDER
Връща ника на последния участник, който е
подавал команда или съобщение по мрежата.
===================край=====================