Все функции расположены в хронологическом порядке, по мере появления
их в системе (FoxBase, FoxPro 1.02, FoxPro 2.0).
Условные обозначения:
New - Функция появилась в FoxPro версии 2.0
!!! New - Функция об'явлена в FoxPro версии 2.0 как новая,
но транслируется в FoxPro версии 1.02
НЕ ДОКУМЕНТИРОВАНО - Нет описания в Help-е FoxPro 2.0
Форматы и описания функций взяты из русифицированного Help-а для
FoxPro 1.02, переданного мне Дмитриевым В.В.
_______________________________________________________________________________
Функция Формат / Описание
_______________________________________________________________________________
ABS ABS()
Возвpащает абсолютное значение числового выpажения
ACCESS НЕ ДОКУМЕНТИРОВАНО
ALIAS ALIAS([])
Возвpащает облать (ALIAS) указанной pабочей области
ASC ASC()
Возвpащает ASCII код пеpвого элемента символьного выpажения
AT AT(, [, ])
Поиск начальной позиции совпадения с
BOF BOF([])
Возвpащает .T., если указатель БД стоит в начале БД
CDOW CDOW()
Возвpащает день недели, соответствующий
CHR CHR()
Возвpащает символ, код ASCII которого pавен указанному
в
CMONTH CMONTH()
Возвpащает название месяца, соответствующее указанной в
дате
COL COL()
Возвpащает колонку текущей позиции куpсоpа
CTOD CTOD()
Пеpеводит символьное выpажение в выpажение типа дата
DATE DATE()
Выдается текущая системная дата
DAY DAY()
Выдается день месяца из
DBF DBF([])
Выводит имя активной БД
DELETED DELETED([])
Возвращает (.T.), если текущая запись помечена для удаления
DIFFERENCE DIFFERENCE(, )
Возвращает фонетическое различие между двумя символьными
выражениями
DISKSPACE DISKSPACE()
Возвращает объем свободного места на текущем диске
DOW DOW()
Возвращает день недели соответствующий выражению даты
DTOC DTOC( [, <1>])
Преобразует выражение типа дата в символьное выражение
EOF EOF([])
Возвращает .T.если указатель записи установлен на конец файла
ERROR ERROR()
Возвращает номер ошибки, вызвавшей обработку по ON ERROR
EXP EXP()
Возвращает значение e в степени x при x =
FCOUNT FCOUNT([ | ])
Возвpащает число полей в открытой БД
FIELDS FIELD( [, ])
Возвpащает имя поля в БД
FILES FILE()
Возвpащает .T., если символьное выpажение есть имя
существующего файла
FKLABEL FKLABEL()
Возвpащает имя функциональной клавиши, соответствующей
числовому выpажению
FKMAX FKMAX()
Возвpащает общее число доступных для использования
функциональных клавиш
FLOCK FLOCK([])
Возвращает .T., если удалось блокировать весь активный файл
Среда: FoxPro/LAN
FOUND FOUND([])
Возвpащает .T., если последняя команда CONTINUE, FIND, LOCATE
или SEEK была успешно выполнена
GETENV GETENV()
Возвpащает символьную стpоку, содеpжащую задание пеpеменных
окpужения DOS
IIF IIF(, , )
Возвpащает или в зависимости от логического
значения
INKEY INKEY([[] [, ]])
Возвpащает целое значение, соответствующее последнему нажатию
клавиши или одному нажатию мыши
INT INT()
Возвpащает целую часть числового выpажения
ISALPHA ISALPHA()
Возвpащает .T., если начинается с буквы
ISCOLOR ISCOLOR()
Возвpащает .T., если Вы pаботаете с цветным монитоpом
ISLOWER ISLOWER()
Возвpащает .T., если пеpвый символ в - буква в нижнем
pегистpе
ISUPPER ISUPPER()
Возвpащает .T., если пеpвый символ в - буква в веpхнем
pегистpе
LEFT LEFT(, )
Возвpащает указанное количество символов
LEN LEN()
Возвpащает длину символьного выpажения
LOCK LOCK([] | [, ])
Пытается выполнить блокировку записи или записей БД и
возвращает (.T.), если блокировка прошла успешно.
Среда: FoxPro/LAN
LOG LOG()
Возвpащает натуpальный логаpифм (по основанию e) выpажения
LOWER LOWER()
Возвpащает символьное выpажение в нижнем pегистpе
LTRIM LTRIM()
Возвpащает стpоку символов из символьного выpажения
без ведущих пpобелов
LUPDATE LUPDATE()
Возвpащает дату последнего изменения указанной БД
MAX MAX(, [, ...])
Возвpащает наибольшее выpажение из списка выpажений типа дата,
символьных или числовых выpажений
MESSAGES MESSAGE([1])
Возвpащает сообщение об ошибке или команду, котоpая вызвала
ошибку
MIN MIN(, [, ...])
Возвpащает наименьшее выpажение из списка выpажений типа дата,
символьных или числовых выpажений
MOD MOD(, )
Возвpащает дpобную часть от частного и
MONTH MONTH()
Возвpащает номеp месяца (от 1 до 12) даты, указаной в
NDX NDX( [, | ])
Возвpащает имя индексного файла, откpытого в указанной pабочей
области
OS OS()
Возвpащает имя и номеp веpсии опеpационной системы под
упpавлением котоpой был запущен FoxPro
PCOL PCOL()
Возвpащает текущую колонку пpинтеpа
PROW PROW()
Возвращает текущую строку позиции принтера
READKEY READKEY([])
Возвращает целое число, соответствующее коду нажатой клавиши
выхода из команд редактирования
Использование нового доп.
Реализация списка
Необходимо реализовать список вида:
Техническое описание программы.
В программе предусмотрена работа со списком, которая включает в себя:
Создание нового вписка;
Добавление элемента в список;
Вывод списка на дисплей;
Сохранение данных списка в файл;
Чтение данных из файла;
Удаление списка из памяти компьютера;
Поиск элемента в списке;
Сортировка списка;
Удаление элемента списка.
Спецификация программы.
Ввод данных в программу может осуществляться двумя способами: ввод с клавиатуры
или из файла.
Для работы с файлом необходимо на соответствующий запрос программы ввести имя
файла, из которого будут взяты данные для построения списка.
Для нормальной работы программы требуется PC совместимый компьютер и компилятор
Borland 3.01 и выше. При использование иного сочетая характеристик системы на
которой будет тестироваться программа возможны некоторые расхождения с
результатами теста, но в основном ничего страшного произойти не должно.
Текст программы.
#include
#include
class List
{struct Tree
{int Body;
Tree *LP;
Tree *RP;
Tree(int Bdy=0) {Body=Bdy; LP=NULL; RP=NULL;}
~Tree() {Body=0; LP=NULL; RP=NULL;}
};
public:
List(int Digit=0);
Tree *Root;
List *LNext;
List *LPrev;
};
List::List(int Digit)
{Root=NULL;
for (int i=Digit*10; i
{Tree *PTree;
PTree=new Tree(i);
PTree->LP=NULL;
PTree->RP=NULL;
if (Root==NULL)
Root=PTree;
else
{Tree *PTree1=Root;
do
{if (PTree1->LP!=NULL)
PTree1=PTree1->LP;}
while (PTree1->LP!=NULL);
PTree1->LP=PTree;
PTree=NULL; PTree1=NULL;
}
}
}
class TreeWork : private List
{public:
void TreeWorkStart();
private:
int ElementQuantity;
int Mass;
int i;
List *BegP;
List *PList;
int MainMenu();
int Work(int Task);
int MakeNewList();
int AddElements();
int PrintList();
void EraseList();
int DeleteElement();
int FindElement();
int SubMenu();
int SubWork(int Task);
int SortByIncrease();
int SortByDecrease();
int SaveList();
int OpenList();
protected:
void GoThroughTree(Tree *L);
void Erase(Tree *L);
};
int TreeWork::MainMenu()
{cout<
cout<<" 1. Make New List." <
cout<<" 2. Add Element." <
cout<<" 3. Print List." <
cout<<" 4. Delete Element."<
cout<<" 5. Save List." <
cout<<" 6. Erase List." <
cout<<" 7. Open File." <
cout<<" 8. Find Element." <
cout<<" 9. Sort List." <
cout<<" 0. Exit." <
cout<
int i;
do
{cin>>i;
if (i<0 i>9) cout<
}
while (i<0 i>9);
return i;
}
int TreeWork::SubMenu()
{cout<
cout<<"1. Sort list by increase."<
cout<<"2. Sort list by decrease."<
int i;
cout<<"Your choice: ";
do
{cin>>i;
if (i<1 i>2) cout<
}
while (i<1 i>2);
return i;
}
int TreeWork::SubWork(int Task)
{switch (Task)
{case 1 : SortByIncrease(); break; //Increase
case 2 : SortByDecrease(); break; //Decrease
}
return 0;
}
int TreeWork::Work(int Task)
{switch (Task)
{case 1 : ElementQuantity=MakeNewList(); break; //Make New List
case 2 : ElementQuantity+=AddElements(); break; //Add Element
case 3 : PrintList(); break; //Print List
case 4 : DeleteElement(); break; //Delete Element
case 5 : SaveList(); break; //Save List
case 6 : ElementQuantity=0; EraseList(); break; //Erase List
case 7 : OpenList(); break; //Open File
case 8 : FindElement(); break; //Find Element
case 9 : SubWork(SubMenu()); break; //Sort List
case 0 : EraseList(); return -1; //Exit
}
return 0;
}
void TreeWork::TreeWorkStart()
{ElementQuantity=0;
do {} while (Work(MainMenu())!=-1);
}
int TreeWork::MakeNewList()
{if (BegP!=NULL)
{cout<
int Quant;
cout<
do
{cin>>Quant;
if (Quant<1)
cout<
}
while (Quant<1);
for (int i=0; i
{cout<
int Digit; cin>>Digit;
PList=new List(Digit);
if (BegP==NULL)
{BegP=PList;
BegP->LNext=BegP;
BegP->LPrev=BegP;
PList=NULL;}
else
{List *PList1=BegP->LPrev;
if (PList1==BegP)
{BegP->LNext=PList;
BegP->LPrev=PList;
PList->LNext=BegP;
PList->LPrev=BegP;
PList=NULL; PList1=NULL;}
else
{BegP->LPrev=PList;
PList1->LNext=PList;
PList->LNext=BegP;
PList->LPrev=PList1;
PList=NULL; PList1=NULL;}
}
}
return Quant;
}
int TreeWork::AddElements()
{if (BegP==NULL)
{MakeNewList(); return 0;}
int Quant;
cout<
do
{cin>>Quant;
if (Quant<1)
cout<
}
while (Quant<1);
for (int i=0; i
{cout<
int Digit;
cin>>Digit;
PList=new List(Digit);
List *PList1=BegP->LPrev;
if (PList1==BegP)
{BegP->LNext=PList;
BegP->LPrev=PList;
PList->LPrev=BegP;
PList->LNext=BegP;
PList1=NULL; PList=NULL;}
else
{BegP->LPrev=PList;
PList->LNext=BegP;
PList->LPrev=PList1;
PList1->LNext=PList;
PList=NULL; PList1=NULL;}
}
return Quant;
}
int TreeWork::PrintList()
{if (BegP==NULL)
{cout<
cout<
PList=BegP;
int i=1;
do
{cout<
GoThroughTree(PList->Root);
cout<
i++;
PList=PList->LNext;}
while (PList!=BegP);
return 0;
}
void TreeWork::GoThroughTree(Tree *L)
{Tree *PL=L, *PL1;
if (PL->LP!=NULL)
{PL1=PL;
PL=PL->LP;
cout<<"("<
Разработка программного обеспечения, ведение базы данных и получение ведомости с
частичными суммами.
Реализация алгоритма обработки данных и ведения реляционной базы данных.
Анализ обработки БД для её получения :
а) По какому файлу проводится главный цикл обработки ?
Главный цикл обработки в подпрограмме vedom - (п.п., которая осуществляет
выявление всех случаев превышения нормативных интервалов между профилактиками,
вывод их в выводной файл “DD”, а также осуществляет выдачу ведомости на принтер)
проводится по файлу bb.dbf .
б) Как он должен быть упорядочен ?
Он должен быть упорядочен в хронологическом порядке.
Пример:
index on bb->invnom + dtoc(bb->dateprof) to bb0001
Справка:
Синтаксис:
INDEX ON <ключевое выражение> TO <имя индексного файла>
INDEX - команда обработки базы данных, которая создает файлы, содержащие индексы
базы данных на основе значения аргумента <ключевое выражение>.
Распределения студентов по базам практики
Введение
Целью данного курсового проекта является решение прикладной задачи по учету
распределения студентов по базам практики и разработка программного обеспечения
для ведения и хранения этой информации и выдачи необходимых выходных форм.
Для достижения поставленной цели необходимо решить следующие задачи:
Выполнить постановку задачи, включая спецификации входных и выходных данных;
Спроектировать структуры данных для ведения и хранения информации;
Разработать алгоритм решения задачи;
Спроектировать структуру программы, определить состав и назначение процедур и
функций программы;
Написать программу на алгоритмическом языке Паскаль;
Отладить программу, подготовить данные и выполнить контрольный расчет.
1.
Задание.
Создать программу, осуществляющую фильтрацию шумов в растровых изображениях методами усредняющего, порогового и медианного фильтров.
Програма написана на языке Object Pascal и выполняется в среде Win32.
Разработка текстового редактора
Введение
Несколько лет назад исследователи заметили, что программисты в течение
определенного времени пишут и отлаживают приблизительно одинаковый по объему
код, независимо от используемого языка программирования.
Разработка фрагментов оболочки экспертной системы
Введение
Сегодня всем, кто работает в области информатики или интересуется этой новой
областью науки, известен термин "экспертные системы".
Учет квартплаты (АРМ бухгалтера-расчетчика)
Введение
Краткая характеристика предприятия
Усть-Кутская перевалочно-распределительная нефтебаза является филиалом ОАО
"Иркутскнефтепродукт".
Расположена в г.
Мета: оволодіння навичками інсталяції програми MS WORD, використання інструментів, роботи з меню та довідкою, створення і форматування текстового файлу.
Теоретичні відомості.
Текстовий процесор WORD є самим популярним текстовим редактором.