Окно пользователя(Класс TShop)
Рисунок 3 - Окно пользователя
Рисунок 4 - Добавление товара
Как можно заметить на рисунке 3, окно пользователя включает в себя :окно кассы, окно базы товаров, окно базы пользователей,окно кредитов и окно чеков. Окно кассы включает включает в себя такие кнопки: Добавить, Удалить, Продать, редактировать, Продать в кредит, Добавить денег.
Перед загрузкой окна, ПО при помощи потоковых функций класса TShop открывает и выгружает список товаров в окно отчета из файла tovars.bd.
При нажатии кнопки «Добавить» открывается окно класса AddTovarToKassa (рисунок 4), в который предварительно подается информация о том, что будет осуществляться добавление. Чтобы добавить новый товар, пользователь должен выбрать нужный товар и его количество, и нажать ОК рис.4. Если все было выполнено, верно, ПО считывает информацию с каждого поля и передает ее функции в таблицу.
void __fastcall TAddTovarToCassa::FormCreate(TObject *Sender)
{
StringGrid1->Cols[0][0].Add("");
StringGrid1->Cols[1][0].Add("Товар");
StringGrid1->Cols[2][0].Add("Стоимость");
StringGrid1->Cols[3][0].Add("Количество");
StringGrid1->RowCount=2;
}
//---------------------------------------------------------------------------
void __fastcall TAddTovarToCassa::Button1Click(TObject *Sender)
{
int i;
for(i=1; i<StringGrid1->RowCount; i++)
if(strcmp(StringGrid1->Cells[0][i].c_str(),"v")==0)
break;
if(i==StringGrid1->RowCount)
{
ShowMessage("Выберите товар!");
return;
}
Form5->Visible=true;
AddTovarToCassa->Enabled=false;
Form5->LabeledEdit1->Clear();
Form5->LabeledEdit1->EditLabel->Caption="Количество товара";
Form5->LabeledEdit1->SetFocus();
AddTovarToCassa->Close();
}
//---------------------------------------------------------------------------
void __fastcall TAddTovarToCassa::FormClose(TObject *Sender,
TCloseAction &Action)
{
Shop->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TAddTovarToCassa::StringGrid1Click(TObject *Sender)
{
for(int i=0; i<StringGrid1->RowCount; i++)
StringGrid1->Cells[0][i]=" ";
StringGrid1->Cells[0][StringGrid1->Row]="v";
}
//---------------------------------------------------------------------------
void __fastcall TAddTovarToCassa::ToShop(TObject *Sender,unsigned int count)
{
int i;
for(i=1; i<StringGrid1->RowCount; i++)
if(strcmp(StringGrid1->Cells[0][i].c_str(),"v")==0)
break;
Shop->Enabled=true;
Shop->AddCheck(Sender,count,i-1);
}
//---------------------------------------------------------------------------
void __fastcall TAddTovarToCassa::StringGrid1DblClick(TObject *Sender)
{
Button1Click(Sender);
}
При нажатии кнопки «Удалить» товар удаляется из кассы.При нажатии кнопки продать товар удаляется из кассы и сохраняется в проданных товарах.
При нажатии кнопки «Сохранить» ПО применяет все проведенные изменения и сохраняет список поездов в файл Tovars.bd с помощью функции ToolStripMenuItem_Click.
Используемые классы.
Объекты, над которыми при помощи данного ПО можно совершать функциональные воздействия, принадлежат одному из восьми классов. Рассмотрим их подробнее.
Класс TRegistration
В этом классе описывается месторасположение элементов. Каждый элемент данного класса содержит в себе информацию о городе, улице и номере дома. Класс, содержащий паспортные данные и номер телефона человека, наследует класс TRegistration.
Функции класса TRegistration
В данном классе определены и использованы функции AddCity, AddStreet, AddHouse.Функция AddCity сохраняет и добавляет информацию о городе».Функция AddStreet сохраняет и добавляет информацию о улице.Функция AddHouse сохраняет и добавляет информацию о доме.
Класс TPassport
Данный класс содержит информацию о паспортных данных.Класс, содержащий данные о рабочих, наследует класс TPassport.
Функции класса TPassport
В данном классе определены и использованы функции AddDate. AddName, AddSecondName, AddBornRegistr, AddSeries, AddNumber. Функция AddDate сохраняет и добавляет информацию о дате рождения. Функция AddName сохраняет и добавляет информацию о имени.Фунция AddSecondName сохраняет и добавляет информацию об отчестве. Функция AddBornRegistr сохраняет и добавляет информацию об месте рождения.Фунция AddSeries и AddNumber сохраняет и добавляет информацию о сериии и номере паспорта.
Класс Tworker
Данный класс содержит информацию о работниках фирмы:их начала работы, даты окончания контракта на работу,телефон работника и о статусе работника. Данный класс наследует класс TRegistration.
Класс TTovar
Класс, содержащий данные о товаре. Предназначен для класса чека
class TTovarInCheck.
Класс TCheck
Класс, содержащий данные о продаже товаров. Все переменные и функции, связанные с этим процессом хранятся здесь.
Класс TCredit
Класс, содержащий информацию о кредите.Даннывй класс наследуется классом TPassport.
Класс TCassa
Класс содержащих информацию о кассе.
Функции класса TCassa
Фунция AddCheck сохраняет и добавляет данные о чеках на кассе. Функция AddWorker сохраняет и добавляет информацию о работниках на кассе.
Функции подсчёта
ФункцияN14Click, пробегаясь по спискам, подсчитывает средний возраст сотрудников. Функция класса TShop, N15Click подсчитывает среднюю и общую стоимость товара. Функция N150001Click ,пробегая по списку циклом, подсчитывает месяц с наибольшим количеством проданного товара. Функция N30Click подсчитывает долги по кредитам и количество человек взявших товар в кредит.
Функции выборки
Функция N19Click, пробегаясь по списку находит значения, удовлетворяющие данному условию и передаёт значения определённой переменной,и составляет список выгодных товаров. Функция N21Click пробегает по списку Picks, и при совпадении параметров сохраняет значения переменных и создаёт список просроченных товаров и работников с просроченным контрактом.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|