на тему рефераты
 
Главная | Карта сайта
на тему рефераты
РАЗДЕЛЫ

на тему рефераты
ПАРТНЕРЫ

на тему рефераты
АЛФАВИТ
... А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я

на тему рефераты
ПОИСК
Введите фамилию автора:


Реферат: АРМ бухгалтера-расчетчика


если параметр равен 1 (red=1), то кнопка описанная для сохранения новых данных будет иметь название “Сохранить”, а кнопка удалить будет не доступна

если параметр равен 2 (red=2), то кнопка “Сохранить” изменит свое название на “Потверждаю”.

Если переменная M.OR_R=0, то кнопки-переключатели выбора услуг будут недоступны. И наоборот M.OR_R=1, то доступны.

Если переменная M.LGOT=.F., то то кнопки-переключатели выбора услуг и поля редактирования по льготе будут недоступны. И наоборот.

“СЕРВИС”-“Дополнение льгот”

при выборе данного пункта запускается процедура INS_LG, которая расположена в файле ADD_DEL.PRG (см. прилож. 1.5 стр. 5) и показана на рис. 17 прилож. 2.

В первых строках выбирается БД, где содержится информация по льготам, затем определяется окно для работы процедуры и обращение к помощи. Открывается окно для редактирования льгот, в окне также используются не сами поля, а их переменные, созданные командой SCATTER MEMEVAR.

После ввода в поле “Код” номера, при его выходе выполняется процедура UNIC_LG (см. прилож. 1.2 стр. 36), в которой в БД льгот ищется код с веденным кодом и если найден то переменные обновляются информацией по этому коду, и доступны для изменения или удаления, если нет то остаются пустыми и готовы к заполнению.

Так как работа происходит с переменными, то для сохранения сделанных изменений или дополнения, нужно подтвердить, нажав на кнопку “Сохранить”.

Работа кнопок осуществляется в процедуре LG_INS, где в структуре DO CASE выполняются действия в зависимости от числового значения переменной LG_INS:

LG_INS=1. Из переменной M.INFO (Категория) удаляются возможные начальные пробелы, затем ищется код-переменная в БД льгот, если найден, то это изменение и поля переносятся в БД. Если не найден то дополнение и здесь сначала добавляется запись в БД, а затем в нее переносятся поля. Так как работа на этом не заканчивается, то создаются новые поля переменные и поля обновляются.

LG_INS=2. Команда CLEAR READ завершает работу с этим окном.

LG_INS=3. Запись помечается на удаление (DELETE) и физически удаляется (PACK), после этого создаются новые поля, поля обновляются и работа продолжается.

“СЕРВИС”-“Тарифы”

при выборе этого пункта выполняется процедура TARIFS_ZAR, расположенная в файле FUNC.PRG (см. прилож. 1.2 стрю 55) и показано окно на рис. 18 прилож. 2.

В первых строках командой HIDE POPUP убирается с экрана меню “СЕРВИС”, затем закрепляется за клавишей Esc процедура выхода по клавише Esc, в переменной _REC запоминается номер записи в БД жильцов. Выбирается активной БД тарифов и определяется окно для работы данной процедуры и горизонтальное меню, которое будет расположено в этом окне и с его помощью будут выполняться действия по обработке данных.

Данное меню имеет три PAD-пункта.:

PAD-пункт “Просмотр” – активируется POPUP-меню, которое состоит из полей БД тарифов, и выбор любого BAR-пункта выполняется в процедуре INS_REC, в которую передаются два параметра это названия тарифа (PROMPT()-mprompt), и номер записи в БД тарифов (RECNO()-mrecno) (см. прилож. 1.2 стр. 56), в которой в зависимости от параметра выполняются следующие действия:

если описание пустое (empty(mprompt)), то эта запись помечается на удаление.

Иначе создаются поля-переменные для изменения данной записи (рис. 22 прилож. 2) так как редактируются переменные, то в окне присутствуют кнопки для сохранения сделанных изменений кнопка-“Сохранить” (процедура del_rec1, ras_on1=1), где сначала, в зависимости от значения переменной M.K_CH (.T.,.F.) заполняется переменная M.INFO и затем переменные переносятся в БД; выхода без изменения кнопка “Отказ” (процедура del_rec1, ras_on1=2), где командой CLEAR READ завершается работа с переменными-полями без перенесения их в БД; и удаления текущей записи (процедура del_rec), текущая запись командой DELETE помечается на удаление.

PAD-пункт “Дополнить” и PAD-пункт “Выйти” - обрабатываются в процедуре INS_ST, в которую передаются параметры, содержащие текст-приглашение данных пунктов.

Если выбран пункт “Дополнить”, то в процедуре INS_ST создаются поля-переменные с пустыми значениями и с помощью кнопок дополняются записи.

Если выбран пункт “Выйти”, то в процедуре INS_ST закрывается окно и деактивируется меню.

“СЕРВИС”-“Нормы оплаты услуг”

Данный пункт открывает окно M_ZAR, где с помощью команд @…SAY…GET (см. прилож. 1.4 стр. 4) выводятся переменные ставок, определенные в начале программы в файле MENI.PRG и после их редактирования они сохраняются в файле M_ZAR.MEM. чтобы их сохранить необходимо выйти из окна по кнопке “Сохранить”, которая запустит процедуру сохранения (см. прилож. 1.2 стр. 20).

“СЕРВИС”-“Упаковка данных”

Выбор этого пункта запускает процедуру физического удаления данных, помеченных ранее на удаление (см. прилож. 1.2 стр. 22). В первых строках сканируются записи, помеченные на удаление в БД жильцов и помечаются записи во вспомогательной БД ставок, которая связана с основной БД по полю табельного номера (TAB). Затем снова сканируется БД жильцов с целью проверки недопущения наличия жильцов без плательщика. Здесь перебираются помеченные записи, и в переменные заносятся значения адреса для поиска, и фамилии для возможного предупреждения.

После этого ищется жильцы, проживающие по этому адресу, если такие существуют, то ищется плательщик и если такого нет выводится окно, показанное на рисунке, где нужно выбрать одно из трех действий (см. прилож. 1.2 стр. 23, процедура D_IN).

“Удалить всех” – будут помечены все записи по этому адресу.

“Изменить” – запустится процедура изменения, для найденного жильца.

“Восстановить” - восстановить плательщика, ранее помеченного на удаление, то есть снимет пометку командой RECALL.

“СЕРВИС”-“Переиндексация”

В этой команде я не пользовался командой REINDEX, а просто удалял все индексы и создавал новые. Это и проще и времени уходит меньше (см. прилож. 1.2 стр. 23). В первых строках закрываются все БД и вместе с ними структурные индексы, далее с помощью команды DOS удаляются все файлы, имеющие расширение .CDX то есть структурные индексы, потому что другие индексы в программе не используются, и затем выполняется процедура открытия баз данных (см. прилож. 1.3), где индексы создаются автоматически. Здесь нужно сказать, что при таком подходе FoxPro может выдать ошибку, и требование явно указать на БД, которую нужно открыть. Эта проблема решается с помощью функции ON ERROR DO EROR WITH ERROR(), которая передает код ошибки в процедуру EROR как параметр (см. прилож. 1.2 стр. 53), и в ней в зависимости от области открываются нужные базы данных.

Пункт меню – “КАДРЫ”

После того как в базе жильцов имеются записи, можно работать с процедурами, осуществляющих действия по их обработке. Эти процедуры в основном находятся в первом пункте меню “КАДРЫ”.

“КАДРЫ”-“Работа с картотекой”

При выборе данного пункта открывается окно, представленное как личная карточка жильца, в которой отображается необходимая информация и средства по ее обработке (см. прилож. 1.2 стр. 1-20).

Как уже описывалось в главе 2 с работой в этом окне, вся информация, расположенная в этом окне делится на две части, поэтому каждую часть разберем по отдельности. Но прежде рассмотрим заполнение окна информацией и другими объектами (см. прилож. 1.2 стр. 1-2 и прилож. 2 рис. 2 ).

Итак в первых строках выполняются некоторые технические действия, а именно это проверка наличия данных, которая описывалась выше, определение и присвоение переменным “e” и ”b” логических значений для анализа конца и начала БД, и в зависимости от этого доступность или недоступность кнопок перемещения, клавише F1 назначается процедура открытия соответствующего окна с помощью, клавише F5 процедура поиска. После этого активируется окно INS и в него выводится следующая информация: это поля БД, имеющие символьные и числовые данные с помощью команды GET с опцией, запрещающей редактирование. Это поля фамилии (FAM), табельного номера (TAB), телефона (TEL), адреса (YL,DOM,KW_RA), квадратных метров (KV_M), суммы начисленной квартплаты из БД, в которой хранятся все начисления, и доступные для редактирования GET-поля количества (KOL_VO), код и описание льготы из БД льгот, периода действия льготы (DAT_C,DAT_PO) и поля выбора услуг, имеющие логические значения, представленные с помощью переменных: kw (KW_L)-квартплата, gw (G_W_L)-горячая вода, xw (X_W_L)-холодная вода, ks (K_YS_L)-коммунальные услуги, ot (OTOP_L)-отопление, elc (EL_C_L)-електричество, tl (TEL_L)-телефон, rd (RAD_L)-радио, которые затем выводятся на экран с помощью GET-объектов (кнопки-переключатели). А также другие GET-объекты, которые будут рассмотренны позже.

Далее идут SAY-объекты, это подписи к GET-полям, а также результаты возвращаемые функциями, которые выводятся с помощью выполнения функции POS_CH1 (=POS_CH1( )) (см.прилож. 1.2 стр.3). разберем только выводимые значения, возвращаемые функциями.

Количество жильцов – выполняется функция KOL (прилож. 1.2 стр. 19), где путем сканирования формируется переменная k и возвращается ее значение (RETURN k), так как эта переменная числового типа, а команда SAY выводит только символьный тип данных, то необходимо преобразовать числовой тип в символьный и убрать первые пробелы, что позволяет следующие команды: LTRIM(STR(KOL(0))), где KOL(0) – полученное значение, STR – функция преобразования числовых данных в символьные, LTRIM – удаление ведущих пробелов.

Количество льготников – аналогичная функция, описанная выше только считает жильцов, если поле LGOT имеет значение истины (.Т.).

 Ставки по которым производится расчет для данного жильца. (см. прилож. 1.2 стр 16-17). Здесь сначала проверяется поле ставок БД ставок, так как связь одна ко многим то при перемещении курсора в основной базе он перемещается во всех вспомогательных базах и если поле в БД равно нулю, то параметру, который является результатом работы функции, присваивается значения нормативной ставки, иначе значения этого поля. Затем в команде SAY тип возвращаемого результата преобразуется в символьную форму и после вывода их на экран они накрываются невидимыми кнопками.

Числовые поля из БД начислений. Здесь эти данные просто преобразуются в нужный формат и выводятся на экран.

И в этой же процедуре раскрашиваются области внутри окна, для их более выразительности и выделения. (@ … FILL TO …).

Также необходимость заполнения окна с помощью выполнения функции вызвано тем, что информация по каждому жильцу является не всегда одинаковой, в окне предусмотрено перемещение по БД, а значит и обновление выводимой информации. Это достигается с помощью этой функции и опции обновления GET-объектов SHOW <имя процедуры>, которая входит в команду READ, которая будет рассмотрена ниже.

Вернемся к окну. Как уже описывалось выше (глава 2 стр. 26) вся основная информация о жильце содержится в первой части. Рассмотрим работу доступных GET-объектов в этой части.

Первый GET-объект это поле количества проживающих (@ 5,39 GET kol_vo), при зтом как бы для проверки рядом выводится SAY-объект количества, рассчитанный программным путем (см. выше).

Далее SAY-объект “СОСТАВ СЕМЬИ” накрыт невидимой кнопкой (@ 6,27 GET family FUNCTION ‘*I ‘ VALID FAMILY( ) …).Невидимой она называется потому, что не формируют никаких текстовых сообщений и только выделяются цветом, и при нажатии клавиш Ehter/Space могут вызывать функцию через опцию VALID. Здесь при нажатии этих клавиш происходит процедура FAMILY (прилож. 1.2 стр. 8) в которой в переменные заносятся данные о текущем TAG’e, и адресе, устанавливается фильтр доступа к данным, имеющим этот адрес и активируется меню, из полей БД жильцов, которое определено ранее в файле-процедуре MENI (прилож. 1.1) и пункты которого состоят из фамилии и двух вспомогательных полей, указывающих на категорию жильцов (плательщик, льготник). Выбор пункта этого меню отобразит в окне этого жильца и обновится информация относительно этого жильца, также в зависимости от категории жильца переменной _FILTR присваивается значение 1-если жилец является плательщиком, 2- если льготник и 3- если ни тот ни другой (просто проживающий). Это нужно для того, чтобы при выполнении процедуры обновления (SHOW) в зависимости от значения этой переменной, будет установлен соответствующий TAG, влияющий на предъявление данных.

Следующая группа GET-объектов выводит поля выбора услуг с помощью кнопок-перек-лючателей (@ 10-17,2 GET kw(gw,xw,ks,ot,elc,tl,rd) FUNCTION ‘*C <имя услуги> ‘VALID KW( )(GW(),XW()…)). Здесь переменные и поля имеют один и тот же тип данных, а именно логический и в процедурах, вызываемых при выходе по опции VALID просто полю присваивается значение переменной (см. прилож. 1.2 стр. 17-18).

Чуть иначе обстоит дела с выбором телефона и радио. Это сделано для того, что предполагается, что в квартире установлена одна телефонная и(или) одна радиоточка, поэтому если в квартире живут два или более льготников, которые пользуются льготными ставками на эти услуги, то при расчете им обоим (или более) будет убавляться плата по этим услугам, что в конечном итого телефон и(или) радио будет бесплатно или ЖКХ еще будет доплачивать за пользование этими услугами, что разумеется недопустимо, вот для этого осуществляется контроль выбора услуг. По своему содержанию процедуры одинаковы, поэтому разберем одну из них (см. прилож. 1.2 стр. 18).

Итак при выборе телефона (радио) вызывается процедура TL1(RD1) в которую передаются три параметра: 1-OR_R (OR-в процедуре), 2-LGOT (LG-в процедуре), которые имеют значения полей плательщика (0,1) и льготы (.T.,.F.), относительно жильца которому выбирают услугу, 3-RECNO( ) (R-в процедуре), который имеет значение номера записи в БД этого жильца и 4-ORDER( ) (ORD-в процедуре), который имеет символьное значение активного индекса (TAG’a). Далее в процедуре в переменные заносятся значения адреса, для включения их в SCAN-условие, а также, только для телефона, в условие поиска, где ищется плательщик и у него проверяется поле телефона и если оно пустое, то предполагается, что телефона нет и выбрать эту услугу невозможно.

После этого в структуре DO CASE анализируются переданные параметры:

CASE OR=1.AND.LG=.T. то есть если это плательщик и он также льготник. В первой строке активируется TAG, при котором доступны все записи в БД, затем сканируется БД и у всех жильцов, имеющих этот адрес полю выбора телефона(радио) присваивается значение “Ложь” (.F.) и затем этому жильцу полю выбора телефона(радио) присваивается значение “Истина” (.Т.). то есть по этому условию плательщик имеющий льготу имеет преимущество перед другими жильцами, имеющими льготу, по выбору этих услуг.

CASE OR=1.AND.LG=.F. то есть если это плательщик, не имеющий льготу. Здесь просто полю выбора телефона(радио) присваивается значение “Истина”.

CASE OR=0.AND.LG=.T. то есть если это не плательщик, а льготник. В этом случае сканируются записи, имеющие этот адрес и льготу, и если у кого-либо поле выбора телефона(радио) имеет значение “истины”, то переменной TL(GET-объект) присваивается значение “Ложь” и после завершения сканирования значение переменной присваисвается полю выбора телефона(радио).

Следующие GET-объекты, это группа невидимых кнопок, которые накрывают области, где выводятся значения стоимости услуг (@ 10,28 GET tar_s FUNCTION ‘*I ;;;;;;;’ VALID TARIFS( )…), при выборе которых выполняется процедура TARIFS (см. прилож. 1.2 стр. 11, прилож. 2 рис. 3), где можно выбрать тарифную ставку для услуги на которой был сделан выбор, из имеющихся в БД тарифов или если нет, то добавить. При этом можно установить эту ставку всем жильцам дома, или можно установить норматив по этой услуге жильцу или всему дому. Работа, в окне и с меню во многом схожа с работой описанной ранее, при описании “СЕРВИС”-“Тарифы”. Рассмотрим отличия. В первых строках определяется окно и меню для работы процедуры.

Далее с помощью структуры DO CASE определяется на какой услуге был сделан выбор, и в зависимости от этого устанавливается ограничение на предъявление данных, например если это горячая вода, то появятся тарифы, имеющие значение .Т. поля K_CH, (расчет на одного человека) и наоборот, переменной VIB_STAVOK присваивается имя поля в БД ставок, для того, что в дальнейшем с помощью макроподстановки (&VIB_STAVOK) этим полям будут присвоены соответствующие значения. И после этого активируется окно и меню для выбора ставки по этой услуге, при этом в правом углу появляется системное окно-подсказка, с помощью команды WAIT, с текстом выбранной услугой.

Пункт “Выбрать” предъявляет POPUP-меню с BAR-пунктами, состоящими из полей БД тарифов, и при выборе любого пункта появляется меню с выбором установить всем жильцам дома или квартиры. После этого в процедуре V_ST1 куда передаются параметры номера BAR-пункта (BAR( )) и номера текущей записи в БД (RECNO( )) (см. прилож. 1.2 стр.14-15). Здесь в структуре DO CASE определяется номер выбранного BAR-пункта и для всех жильцов дома (параметр=1(“Установить всем жильцам дома”) или для данных жильцов квартиры (параметр=2 “Установить данному жильцу”), в скан- условии, полям БД ставок этих жильцов по выбранной услуге присваивается значения, которые имеются в поле ST_KA в БД тарифов (REPLACE &VIB_STAVOK WITH ST, где VIB_STAVOK-это имя поля в БД ставок (см. выше) ST-ставка из поля ST_KA в БД тарифов (ST=ST_KA))

Здесь также добавлен повый пункт меню “Установить норматив”, при выборе которого появляется POPUP-меню с двумя BAR-пунктами “Установить всем жильцам дома” и “Установить данному жильцу” выбор этих пунктов осуществляется в процедуре V_ST2 куда передаются параметры номера BAR-пункта (BAR( )) (см. прилож. 1.2 стр.15). Здесь в структуре DO CASE определяется номер выбранного BAR-пункта и для всех жильцов дома (параметр=1(“Установить всем жильцам дома”) или для данных жильцов квартиры (параметр=2 “Установить данному жильцу”), в скан- условии, полям БД ставок этих жильцов по выбранной услуге присваивается нулевые значения.

Последние GET-объекты в этой части экрана это кнопки “По льготе” и “По оплате”, которые доступны если жилец является плательщиком (“По оплате”) и(или) льготником (“По льготе”).

Кнопка “По льготе” – открывает окно (см. прилож. 2 рис 5), в котором с помощью команды @…SAY…GET, выводятся поля из базы льгот, по тому коду, который имеет данный жилец, доступные для редактирования. (см. прилож. 1.2 стр. 9).

Кнопка “По оплате” – открывает окно (см. прилож. 2 стр. 6), в котором с помощью команды @…SAY…GET, выводятся поля из базы ставок для данного жильца, доступные для редактирования (см. прилож. 1.2 стр.10). при этом после закрытия этого окна или после выхода из последнего (первого) GET-объекта все значения полей заносятся в переменные, появляется это же окно с информацией о количестве квартир в доме, по адресу которому живет плательщик, и с помощью команды WAIT будет предложено установить такие ставки всем жильцам дома (WAIT ‘Установить всем жильцам (Y/N)’ TO Y ) и если будет нажата клавиша Y (Н), то с помощью фильтра и сканирования эти ставки будут присвоены всем жильцам, проживающих по этой улице и дому, иначе только жильцам данной квартиры. Это достигается с помощью команды REPLACE <имя поля> WITH <имя переменной>, так как связь одна ко многим, то перемещения указателя в основной БД вызывает перемещение во вспомогательной.

В части второй этого окна расположены триггерные кнопки (Push Buttons), которые при их выборе выполняют определенные действия по обработке данных.

“Изменить”, “Добавить” - запускает процедуру изменения для жильца находящегося в окне, или процедуру дополнения нового жильца, которая описана выше (см. “СЕРВИС”-“Добавить” стр. 36).

“Удалить” – запускает процедуру удаления текущей записи (см. прилож. 1.2 стр.35) здесь вначале проверяется помечена ли запись на удаление и если помечена то пометка снимается и процедура заканчивается. Это нужно для того, что в окнах “База жильцов”, “Картотека льготников” также можно удалять записи комбинацией клавиш <Ctrl+T>, и этой же комбинацией клавиш снимать пометку на удаление. Далее идет команда переноса переменных в БД, если вызов этой процедуры пришел из функции изменения, затем в переменные заносится текущий адрес, устанавливается фильтр по этому адресу и в переменную kol заносится количество записей (COUNT TO kol), после этого переменная kol уменьшается на одну единицу, полученный результат присваивается всем записям по полю количества жильцов, затем эта запись помечается на удаление, и если вызов был с окна INS (“Работа с картотекой”), то информация и GET-объекты в этом окне обновляются.

“Печать …” – формирует квитанцию, с данными о всех произведенных начислениях, суммах к оплате, по льготам, дату когда оплачено и остаток (задолженность).выбор этой кнопки запускает процедуру PRINT1 (см. прилож. 1.2 стр. 26; прилож. 3 стр. 1; прилож. 2 рис. 7 ), в которой выполняются следующие действия:

сначала переопределяется назначение клавиши F1, затем открывается альтернативный файл, в который будут заноситься формируемые данные и в последующем он будет сохранен на диске для его распечатки. В переменную “Т” заносится будущее имя файла (‘tab’+’.’+’txt’=tab.txt), затем объявляются два массива NACH(12,1)-для данных по начислениям, LG(9)-для данных по льготным начислениям. После этого в сканируется БД с условием только жильцов с одинаковым адресом и в переменные и элементы массивов заносятся необходимые данные, которые будут занесены в файл с помощью команды “?”, “??”. после окончания формирования квитанции этот файл будет открыт в окне VEDOM для его просмотра (редактирования) (см. прилож. 2 рис. 7).и после его закрытия будет предложено распечатать или отказаться (см. прилож. 2 рис. 8)

“Ввод оплаты” – открывает окно для ввода оплаты для одного квартиросъемщика. Выполняется процедура VVV расположенная в файле BAZES.PRG (см. прилож. 1.4 стр. 5).

Вначале переопределяется назначение на клавишу помощи, затем определяется окно для работы, затем анализируется жилец, на котором был вызов этой процедуры и если это не плательщик, то ищется плательщик квартиры и указатель записи переходит на эту запись, и работа будет производится с этим жильцом. Затем определяются переменные для работы это адрес (y,d,kv), текущая дата (dat), переменная для хранения веденой суммы (opl), погсле этого активируется окно (см. прилож. 2 рис.4) и в него выводятся поясняющие записи такие как фамилия, табельный номер, сумма начислений, сумма по льготам, сумма к оплате, остаток и GET-поле для ввода суммы оплаты, которая имеет контроль выхода (см. прилож. 1.2 стр. 40) здесь проверяется поле OPL_TA , содержащая сумму оплаты жильцами и если она не пуста, то появится дополнительное окно с пунктами-кнопками “Дописать”, “Переписать”.

Выход с сохранением осуществляется выбором кнопки <Ok> в этом окне, которая описана в процедуре SV3 (см. прилож. 1.2 стр. 40).

данные кнопки предназначены для выбора фильтра предъявления данных в окне. Их выбор обрабатывается в процедуре FILTR (см. прилож. 1.2 стр. 7), где переменной _FILTR присваиваются числовые значения, в зависимости от которых в процедуре обновления будет установлен соответствующий TAG.

“Вверх”, “Вниз”– данная группа кнопок предназначена для перемещения по БД жильцов. При этом по достижении конца(начала) БД соответствующие кнопки блокируются.. Обработка этих кнопок осуществляется в процедуре PER (см. прилож. 1.2 стр. 6-7) с помощью переменных “e” и “b”, которые определены ранее (см.выше), запоминается факт достижения конца/начала файла. Первоначально они имеют значение .F., если была предпринита попытка продвинуться за пределы БД то одной из них присваивается значение .Т.. В остальных случаях они равны .F. это нужно для восстановления в процедуре tb_l() активности кнопок если указатель записей находиться не на последней/первой записи. Также здесь используется системная переменная _CUROBJ, которая содержит номер GET-объекта. Ее значение изменяется при выборе кнопки и курсор переходит на другой объект. Она служит для того, что бы при перемещении с помощью клавиш Enter/Space курсор не покидал эти кнопки.

“Начало”, “Конец” - служат для быстрого перехода в начало/конец БД, при этом соответствующие кнопки блокируются.

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


на тему рефераты
НОВОСТИ на тему рефераты
на тему рефераты
ВХОД на тему рефераты
Логин:
Пароль:
регистрация
забыли пароль?

на тему рефераты    
на тему рефераты
ТЕГИ на тему рефераты

Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое.


Copyright © 2012 г.
При использовании материалов - ссылка на сайт обязательна.