скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: АРМ для бухгалтерии ВУЗа

   ¦ Модуль    ¦   Назначение¦ Вход.файл    ¦  Выход.файл     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ spr_work  ¦ Работа со справочной    ¦ salary.dat   ¦ salary.dat¦

   ¦     ¦ информацией ¦ spr2.arm     ¦ spr2.arm  ¦

   ¦     ¦ ¦ spr3.arm     ¦ spr3.arm  ¦

   ¦     ¦ ¦ spr4.arm     ¦ spr4.arm  ¦

   ¦     ¦ ¦ spr5.arm     ¦ spr5.arm  ¦

   ¦     ¦ ¦ spr6.arm     ¦ spr6.arm  ¦

   ¦     ¦ ¦ audit.arm    ¦ audit.arm ¦

   ¦     ¦ ¦  ¦     ¦

   ¦Saldo_work ¦Работа с сальдо счетов   ¦ great.arm    ¦ saldo.arm ¦

   ¦     ¦ ¦ saldo.arm    ¦ saldo.ind ¦

   ¦     ¦ ¦ saldo.ind    ¦ saldo.sav ¦

   ¦     ¦ ¦ saldo.sav    ¦ prn ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ Great     ¦ Работа с главной книгой ¦ Great.arm    ¦ great.arm ¦

   ¦     ¦ ¦ bank3.arm    ¦ prn ¦

   ¦     ¦ ¦ sal.arm¦     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦  copybook ¦ Работа с записной ¦ copybook.arm ¦copybook.arm     ¦

   ¦     ¦ книгой бухгалтера ¦  ¦     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦salary_work¦ Работа с расчетной¦ sal.arm¦ sal.arm   ¦

   ¦     ¦ ведомостью  ¦ sal.sav¦ sal.sav   ¦

   ¦     ¦ ¦ sal.ind¦ sal.ind   ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ salary    ¦ Создание ведомости¦ salary3.arm  ¦ sal.arm   ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ add ¦ Расчет насчислений¦ spr1.arm     ¦ salary1.arm     ¦

   ¦     ¦ ¦ spsotr.arm   ¦     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ sub ¦ Расчет вычетов    ¦ spr2.arm     ¦ salary2.arm     ¦

   ¦     ¦ ¦ salary1.arm  ¦     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ nalogs    ¦ Вычет налогов     ¦ salary2.arm  ¦salary3.arm¦

   ¦     ¦ ¦ spnal.arm    ¦     ¦

   ¦ search    ¦ Поиск в записной книге  ¦ Copybook.arm ¦ ttt.arm   ¦

   ¦     ¦ ¦  ¦     ¦

   ¦ bank.arm  ¦ Работа   с   банковскими¦ bank1.arm    ¦  bank1.arm¦

   ¦     ¦ документами ¦ bank2.arm    ¦  bank2.arm¦

   ¦     ¦ ¦ bank3.arm    ¦  bank3.arm¦

   ¦cck_salary1¦ Проверка на соответствие¦ spsotr.arm   ¦     ¦

   ¦     ¦ окладов разрядам  ¦ spr6.arm     ¦     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦     ¦ ¦  ¦     ¦

   ¦chk_slalry2¦Проверка на соответствие ¦ spsotr.arm   ¦     ¦

   ¦     ¦окладов фонду зарплаты   ¦ fonds.dat    ¦     ¦

   ¦     ¦ ¦  ¦     ¦

   L-----------+-------------------------+--------------+------------------

Модуль Windenv

Процедура  Savewindow(x1,y1,x2,y2:byte; var a:buffertype)

Сохраняет в оперативной памяти содержимое прямоугольной области экрана.

x1,y1,x2,y2 - Координаты области экрана. а - переменная, в которую заносится адрес области ОП. Процедура loadwindow(x1,y1,x2,y2:byte; var a:buffertype)

Восстанавливает прямоугольную область экрана, предварительно сохраненную процедурой Savewindow, и освобождает оперативную память, в которй хранилась область. Область экрана должна иметь ту же форму, но, вообще говоря, не обязательно те же координаты, что и сохраненная. x1,y1,x2,y2 - Координаты области на экране. а - адрес в оперативной памяти, где хранится область. Модуль Inter

Функция  Max(a,b:integer):integer возвращает максимум из чисел a и b.

Функция Min(a,b:integer):integer

Возвращает минимум из чисел а и b.

Процедура  curs_off

Делает курсор на экране невидимым.

Процедура  Error(s:string);

Создает в центре экрана окно красного цвета необходимого размера и выводит в него  сообщение об ошибке, после чего ждет нажатия на любую клавишу.

s - Сообщение об ошибке.

Процедура  Input(x,y,l:byte;var s:string;w:settype)

Расширенная процедура ввода. Позволяет  вводить строчку заданной длины, отслеживая недопустимые символы. Позволяет использовать клавиши "Влево","Вправо", Del,Backspase. Позволяет  использовать строку по умолчанию, есть возможность Undo.

x,y - Координаты вводимой строки на экране.

l -   Максимальная длина вводимой строки.

s -   Строка по умолчанию. В ней же возвращается введенная строка. Если  в течении ввода была нажата клавиша ESC, возвращается пустая строка.

w  -   Множество допустимых символов. Модуль Files2

Функция FOpen(FName:string;FMode:Word):Word

Открывает безтиповый файл. Возвращает заголовок файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

  Fname - Имя файла.

Fmode - Режим (0 - только для чтения,1 - только для записи, 2 - и для чтения, и для записи.)   Функция FCreate(FName:String;FAttr:Word):Word

Создает безтиповый файл. Возвращает заголовок файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

FName - Имя файла.

FAttr - атрибуты создаваемого файла.

Функция FRead(Handle,Segment,Offset,Bytes:Word):Word

Читает из безтипового файла блок. В случае ошибки чтения внутренняя переменная Fsuccess принимает значение False. Возвращает количество реально прочитанных байтов.

Наndle - Заголовок файла.

Segment - Сегментная часть адреса в оперативной памяти, в которую производится чтение.

Offset - Смещение  этой области относительно сегмента в оперативной памяти.

Bytes - Сколько байтов необходимо прочитать.

Функция FWrite(Handle,Segment,Offset,Bytes:Word):Word

Записывает в безтиповый файл блок памяти. В случае ошибки записи внутренняя переменная Fsuccess принимает значение false. Возвращает количество реально записанных  байтов. Наndle - Заголовок файла.

Segment - Сегментная часть адреса в оперативной памяти, из которой происходит чтение.

Offset - Смещение  этой области относительно сегмента в оперативной памяти.

Bytes - Сколько байтов необходимо записать.

Процедура FClose(Handle:Word)

Закрывает безтиповый файл. В случае ошибки внутренняя переменная Fsuccess принимает значение False.

Наndle - Заголовок файла.

Процедура FSeek(Handle:Word; PosPnt:LongInt)

Перемещает указатель безтипового файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

Наndle - Заголовок файла.

PosPnt - новое положение указателя.

Функция FTell(Handle:Word):LongInt

Возвращает позицию указателя  файла.

В случае ошибки внутренняя переменная Fsuccess принимает значение False.

Наndle - Заголовок файла.

Функция FSize(FName:String;FAttr:Word):LongInt

Возвращает размер файла в байтах.

В случае ошибки внутренняя переменная Fsuccess принимает значение

False.

FName - Имя файла.

FAttr - Атрибуты файла.

Модуль Field

В программе используются специальные обьекты, которые мы в дальнейшем будем именовать "Таблицами".

Они описаны ниже:

type ftype=array [1..32000] of word

fieldtype=record

field: ^ftype;

tc,tb:byte;

xmax,ymax:integer;

currentx,currenty:integer;

end;

Функция  creatfield(var T:fieldtype;X,Y:integer):integer

Создает таблицу заданного размера. Возвращает признак успеха.

T - Таблица.

X - Размер по горизонтали.

Y - Размер по вертикали.

Процедура clearfield(var T:fieldtype;Beg:integer;Textc,Textb:byte)

Очищает созданную таблицу  и устанавливает цвет текста и фона для выводимой информации.

T - Таблица.

Beg - Строка таблицы, начиная с которой идет очищение.

Textc - цвет текста для выводимой информации.

Textb - цвет фона для выводимой информации.

Процедура Window_To_Field(T:fieldtype;X1,Y1,X2,Y2,Xx,Yy:integer)

Сохраняет прямоугольную область экрана в таблицу. Для правильной работы процедуры необходимо, чтобы эта область  умещалась в таблицу, иначе будет сохранена только часть области.

T - Таблица.

X1,Y1,X2,Y2 - координаты области на экране.

Xx,Yy - Координаты области внутри таблицы.

Процедура field_to_window(T:fieldtype;X1,Y1,X2,Y2,Xx,Yy:integer)

Выводит часть таблицы на экран. Для правильной работы процедуры необходимо, чтобы область не выходила за границы таблицы, иначе на экране будет только часть области.

T - Таблица

X1,Y1 - Координаты левого  верхнего угла области.

X2,Y2 - Координаты правого нижнего угла области.

Xx,Yy - Координаты области внутри таблицы.

Процедура put_char(T:fieldtype;X,Y:integer;Sym,Textc,Textb:byte)

Выводит в таблицу символ по заданным координатам с заданным цветом текста и цветом фона.

T - Таблица.

X,Y - Координаты в таблице.

Sym - Код символа.

Textc - Цвет текста.

Textb - Цвет фона.

Процедура deletefield(var T:fieldtype)

Удаляет таблицу,высвобождает память,занятую ей.

T - Таблица.

Модуль Data

Процедура strtotable(X,Y,L:integer;Source:arr;T:fieldtype)

Выводит в таблицу  строку символов.

X,Y - координаты  в таблице.

L   - Максималная длина строки.

Sourсe - Массив, в котором находится  строка.

T - Таблица.

Процедура numtotable(X,Y,L:integer;D:longint;T:fieldtype)

Выводит в таблицу целое число.

X,Y - координаты  в таблице.

L   - Максималная длина поля.

D - Выводимое число.

T - Таблица.

Процедура tabletostr(X,Y,L:integer;var S:string;T:fieldtype);

Считывает поле из таблицы.

X,Y - координаты  в таблице.

L - Максималная длина поля.

S - Строка, в которую помещается поле.

T - Таблица.

Модуль Types

Описание типов

 rectype= record

 len :word;

 typ: char;

 end;

Запись, описывающая поле в базе данных.

len - длина поля в текстовом представлении.

typ - тип поля.

fileinfo= record

Name:string[20];

Size:longint;

Nf:byte;

Ptr:longint;

Names:longint;

LNames:longint;

end;

Запись, хранящая информацию о файле  базы данных.

Name - Имя реального файла на диске.

Size - Его размер.

Nf - Число полей в базе.

Ptr - Ссылка на файл описания полей.

Names - Ссылка на файл имен полей.

LNames - Длина участка в файле имен полей.

schet=record

Cod:string[10];

Name:string[30];

Debet,Kredit:longint;

end;

Запись файла счетов.

Cod - Код счета.

Name - Имя счета.

Debet - Дебет счета.

Kredit - Кредит счета.

windowtype=record

X1,Y1:byte;

X2,Y2:byte;

Save:buffertype;

X,Y:integer;

NF:integer;

Currentline:integer;

currentrow:integer;

priority:longint;

end;

Запись, описывающая обьект "окно"  в системе многооконного интерфейса.

X1,Y1 - Координаты левого верхнего угла окна на экране.

X2,Y2 - Координаты правого нижнего угла окна на экране.

Save  - Буфер, хранящий образ окна.

X,Y  - Координаты окна левого верхнего угла в таблице

NF  - Номер файла базы, с которым связано окно.

Currenline - Текущая запись в файле.

Currentrow - Текущее поле в файле.

Priority  - Приоритет окна.

fnw = record

Dat:Date;

F:string[25];

Tab:string[10];

Sum:longint;

Cod:string[10];

end;

Запись в файлах начислений и взысканий.

Dat - Дата начисления.

F   - Фамилия сотрудника.

Tab - Табельный номер.

Sum - Сумма.

Cod - Код начисления.

sp_nal = record

Kod:string[10];

Name:string[25];

Val:string[15];

end;

Запись в файле-справочнике налогов.

Kod - Код налога.

Name - Название налога.

Val - Величина налога.

string1=string[15];

pl_p=record

Numb:longint;

D:date;

Source::string[30];

Bank1:string[30];

Cod1:string[10];

Dest:string[30];

Bank2:string[30];

Cod2:string[10];

Debet:string[10];

Credit:string[10];

Sum:longint;

Target:string[30];

end;

Запись в файле платежных поручений.

Numb - Номер платежного поручения.

D - Дата.

Source - Плательщик.

Bank1  - Банк плательщика.

Cod1   - Код плательщика.

Dest   - Получатель.

Bank2  - Банк получателя.

Cod2   - Код получателя.

Debet  - Дебетуемый счет.

Crtedit - Кредитуемый счет.

Sum    - Сумма.

Target - Назначение.

great_book_type=record

num:longint;

target:string[30];

sum:longint;

cod1,cod2:string[15];

end;

Запись в файле главной книги.

Num    - Порядковый номер.

Target - Назначение платежа.

Sum    - Сумма.

Cod1   - Дебетуемый счет.

Cod2   - Кредитуемый счет.

levels=record

L:longint;

Coeff:string[15];

end;

Запись в справочнике разрядов.

L     - Разряд.

Coeff - Коэффициент.

Sp_sotr= record

Tab:string[10];

Name:string[25];

Raz:longint;

Oklad:longint;

Prof:string[6];

Obosnov:string[30];

end;

Запись в справочнике сотрудников.

Tab   - Табельный номер

Name  - Ф.И.О.

Raz   - Разряд.

Oklad - Оклад.

Prof  - Членство в профсоюзе.

Obosnov - Обоснование оклада.

spr_nw=record

Kod:string[10];

Name:string[30];

end;

Запись в файле-справочнике начислений.

Кod  - Код начисления.

Name - Наименование начисления.

index=record

Beg:longint;

Key:date;

Len:longint;

end;

Запись в индексном файле.

Beg - Адрес начала данных.

Кеу - Ключ для доступа.

Len - Длина данных.

Sal=record

Num:longint;

Dd:date;

Tab:string[10];

Oklad:longint;

Pn:longint;

Penf:longint;

Ost:longint;

Plus:longint;

Minus:longint;

Itog:longint;

end;

Запись   в ведомости зарплаты.

Num   - Номер по порядку.

Dd    - Дата.

Tab   - Табельный номер.

Oklad - Оклад.

Pn    - Подоходный налог.

Penf  - Пенсионный фонд.

Ost   - Остаток.

Plus  - Начисления.

Minus - Взыскания.

Itog  - Итого на руки.

Модуль Main

Процедура Readfileinfo(Number:integer;var R:rec; var Name:string1; var N:integer; var Aon:strarr)

Процедура  считывает структуру рабочего файла из файла-каталога. Number - Номер рабочего файла. R- Массив, в котором возвращается информация о файле. Массив содержит столько элементов, сколько полей в рабочем файле.

Name   - Имя рабочего файла.

N- Количество полей в рабочем файле.

Aon    - Массив, в котором хранятся имена полей рабочего файла. Массив содержит столько элементов, сколько полей в рабочем файле.

Функция Exists(Fname:string1):boolean

Функция проверяет существование файла на диске.

Возвращает True, если файл существует, и False в противном случае.

Fname - Имя файла.

Процедура Check_begin

Процедура проверяет работоспособность программы.

Вначале проверяется  количество свободной памяти, потом  существование необходимых внутренних файлов системы.

Функция Vmenu(Size,Current, X1,Y1,Len,Mask:byte):integer

Функция обработки вертикального меню небольшого размера.

 Используется, если все пункты меню помещаются на экране.Возвращает номер выбранного элемента.

Size    - Размер меню по вертикали.

Current - Номер элемента, на котором вначале стоит указатель.

X1,Y1   - Координаты первого элемента.

Len     - Длина элементов.

Mask    - Переменная, показывающая, как изменять цвет фона и символа у выделенного элемента.

Процедура Translate(S:string;var Ns:string)

Процедура предназначена для расшифровывания паролей, считанных из файла паролей.

S  - Зашифрованная строка.

Ns - Расшифрованная строка.

Процедура Input_key(var S:string;Ss:string;L:byte;W:settype)

Процедура создает на экране окно и считывает в нем с клавиатуры трочку. После этого процедура восстанавливает старое содержимое экрана.

S  - Вводимая строка.

SS - Строка подсказки.

L  - Максимальная длина строки.

W  - Множество допустимых символо в строке.

Процедура Querry_parole

Запрашивает в начале работы пароли и по ним определяет статус пользователя  и его полномочия.

Функция Is_number(S:string):boolean

Проверяет, является ли строка числом.

S - Проверяемая строка.

Процедура Stringtotable(S:string;X,Y:integer;T:fieldtype)

Процедура помещает  произвольную строку в таблицу по заданным координатам.

Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.