Xreferat.com » Рефераты по информатике и программированию » Об’єктно-орієнтована програма обліку продуктового магазину

Об’єктно-орієнтована програма обліку продуктового магазину

operator!=(const Date &D){return X==D.X;}

};


7. Main.cpp


#include <vcl.h>

#pragma hdrstop

#include "Main.h"

#include "My_date.h"

#include "Date.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TMainForm *MainForm;

__fastcall TMainForm::TMainForm(TComponent* Owner)

: TForm(Owner)

{

}

//------------------------------------------------------------------------void __fastcall TMainForm::Add(TObject *Sender)

{

Ptr p = list.record();

p->d = StrToInt(NewInt->Text);

p->day = StrToInt(Day->Text);

p->year = StrToInt(Year->Text);

p->month = StrToInt(Month->Text);

//p->x = StrToFloat(NewDouble->Text);

p->str = String->Text;

p->str1 = FirmaString->Text;

p->str2 = WidString->Text;

redraw();

}

void TMainForm::redraw()

{ List->Clear();

StrList->Clear();

for(Ptr p = list.first();p.valid();++p)

{

List->Items->Add(IntToStr(p->d));

StrList->Items->Add(p->str);

}

}

//------------------------------------------------------------------------void __fastcall TMainForm::Del(TObject *Sender)

{ int n = List->ItemIndex;

int i;

Ptr p;

for(i=0,p=list.first();p.valid()&&(i<n);++i,++p);

if((i==n)&&p.valid())

{

p.remove();

redraw();

}

}

//------------------------------------------------------------------------void __fastcall TMainForm::Find(TObject *Sender)

{ int x = StrToInt(NewInt->Text);

Ptr p;

int i;

for(i=0,p=list.first();p.valid()&&(p->d!=x);++p,++i);

if(p.valid())

{ List->ItemIndex = i;

StrList->ItemIndex = i;

NewInt->Text = IntToStr(p->d);

Day->Text = IntToStr(p->day);

Year->Text = IntToStr(p->year);

Month->Text = IntToStr(p->month);

//NewDouble->Text = FloatToStr(p->x);

String->Text = p->str;

FirmaString->Text = p->str1;

WidString->Text = p->str2;

}

else List->ItemIndex = -1;

}

//------------------------------------------------------------------------

void __fastcall TMainForm::Sort(TObject *Sender)

{

Ptr t,p,q;

for(t=list.first().next();t.valid();t=q)

{

q = t.next();

for(p=t.prev();p.valid()&&(p->d>t->d);--p);

p>>t;

}

redraw();

}

//------------------------------------------------------------------------

void __fastcall TMainForm::Save(TObject *Sender)

{

FILE *f;

if(SaveDialog->Execute())

{

f = fopen(SaveDialog->FileName.c_str(),"w");

if(f!=NULL)

{

list.save(f);

fclose(f);

}

}

}

//------------------------------------------------------------------------

void __fastcall TMainForm::ZvitClick(TObject *Sender)

{

FILE *f;

if(SaveDialog->Execute())

{

f= fopen(SaveDialog->FileName.c_str(),"w");

if(f!=NULL)

{

list.zvit(f);

fclose(f);

}

}

}

void __fastcall TMainForm::Open(TObject *Sender)

{

FILE *f;

if(OpenDialog->Execute())

{

f = fopen(OpenDialog->FileName.c_str(),"r");

if(f!=NULL)

{

list.clear();

String->Text="";

NewInt->Text="";

list.load(f);

redraw();

fclose(f);

}

}

}

//------------------------------------------------------------------------void __fastcall TMainForm::Clear(TObject *Sender)

{

list.clear();

redraw();

}

//------------------------------------------------------------------------

void __fastcall TMainForm::Select(TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y)

{

TPoint point;

point.x = X;

point.y = Y;

int sel = List->ItemAtPos(point,true);

int i;

Ptr t;

if(sel>=0)

{

List->ItemIndex = sel;

StrList->ItemIndex = sel;

for(t=list.first(),i=0;t.valid()&&(i<sel);++i,++t);

if(t.valid())

{

NewInt->Text = IntToStr(t->d);

Day->Text = IntToStr(t->day);

Year->Text = IntToStr(t->year);

Month->Text = IntToStr(t->month);

//NewDouble->Text = FloatToStr(t->x);

String->Text = t->str;

FirmaString->Text = t->str1;

WidString->Text = t->str2;

}

}

}

//------------------------------------------------------------------------

void __fastcall TMainForm::Update(TObject *Sender)

{

Ptr t;

int i;

int sel;

sel = List->ItemIndex;

if(sel>=0)

{ for(t=list.first(),i=0;t.valid()&&(i<sel);++i,++t);

if(t.valid())

{

t->d = StrToInt(NewInt->Text);

t->day = StrToInt(Day->Text);

t->year = StrToInt(Year->Text);

t->month = StrToInt(Month->Text);

t->str = String->Text;

t->str1 = FirmaString->Text;

t->str2 = WidString->Text;

//t->x = StrToFloat(NewDouble->Text);

redraw();

}

}

}

//------------------------------------------------------------------------

void __fastcall TMainForm::SelectStr(TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y)

{

TPoint point;

point.x = X;

point.y = Y;

int sel = StrList->ItemAtPos(point,true);

int i;

Ptr t;

if(sel>=0)

{

List->ItemIndex = sel;

StrList->ItemIndex = sel;

or(t=list.first(),i=0;t.valid()&&(i<sel);++i,++t);

if(t.valid())

{

NewInt->Text = IntToStr(t->d);

Day->Text = IntToStr(t->day);

Year->Text = IntToStr(t->year);

Month->Text = IntToStr(t->month);

String->Text = t->str;

FirmaString->Text = t->str1;

WidString->Text = t->str2;

}

}

}

//------------------------------------------------------------------------

void __fastcall TMainForm::SortNum(TObject *Sender)

{

Ptr t,p,q;

for(t=list.first().next();t.valid();t=q)

{

q = t.next();

for(p=t.prev();p.valid()&&(p->d>t->d);--p);

p>>t;

}

redraw();

}

//------------------------------------------------------------------------

void __fastcall TMainForm::SortStr(TObject *Sender)

{

Ptr t,p,q;

for(t=list.first().next();t.valid();t=q)

{

q = t.next();

for(p=t.prev();p.valid()&&(p->str>t->str);--p);

p>>t;

}

redraw();

}

//------------------------------------------------------------------------

void __fastcall TMainForm::Button1Click(TObject *Sender)

{

Close();

}

Main.h

#ifndef MainH

#define MainH

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include "Number.h"

#include <Dialogs.hpp>

#include <ComCtrls.hpp>

#include <ExtCtrls.hpp>

#include <jpeg.hpp>

#include "Date.h"

#include "My_date.h"

//------------------------------------------------------------------------

typedef MyTable<Number> Data;

typedef MyTable<Number>::Iterator Ptr;

class TMainForm : public TForm

{

__published:// IDE-managed Components

TEdit *NewInt;

TLabel *NewIntLabel;

TButton *AddButton;

TListBox *List;

TButton *DelButton;

TButton *FindButton;

TButton *SortButton;

TButton *SaveButton;

TButton *OpenButton;

TButton *Button3;

TButton *Zvit;

TSaveDialog *SaveDialog;

TOpenDialog *OpenDialog;

TEdit *String;

TLabel *Label1;

TButton *ChangeButton;

TListBox *StrList;

TLabel *NumLabel;

TLabel *StrLabel;

TEdit *FirmaString;

TEdit *WidString;

TLabel *Label3;

TLabel *Label4;

TLabel *Label5;

TLabel *Label6;

TLabel *Label7;

TLabel *Label8;

TEdit *Day;

TEdit *Month;

TEdit *Year;

TButton *Button1;

TImage *Image1;

void __fastcall Add(TObject *Sender);

void __fastcall Del(TObject *Sender);

void __fastcall Find(TObject *Sender);

void __fastcall Sort(TObject *Sender);

void __fastcall Save(TObject *Sender);

oid __fastcall Open(TObject *Sender);

void __fastcall Clear(TObject *Sender);

void __fastcall Select(TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y);

void __fastcall Update(TObject *Sender);

void __fastcall SelectStr(TObject *Sender, TMouseButton Button,

TShiftState Shift, int X, int Y);

void __fastcall SortNum(TObject *Sender);

void __fastcall SortStr(TObject *Sender);

void __fastcall Button1Click(TObject *Sender);

private:// User declarations

Data list;

void redraw();

public:// User declarations

__fastcall TMainForm(TComponent* Owner);

};


9. Magazin.cpp


#include <vcl.h>

#include "Date.h"

#pragma hdrstop

USERES("Magazin.res");

USEFORM("Main.cpp", MainForm);

USEUNIT("Table.cpp");

USEUNIT("Number.cpp");

USEUNIT("Date.cpp");

USEFILE("Date.h");

USEUNIT("My_date.cpp");

USEUNIT("data.cpp");

//------------------------------------------------------------------------WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TMainForm), &MainForm);

&ProgramForm);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

return 0;

}

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: