База данных пилотов Формулы 1

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

/p>

};

 

inline bool sort_frace(Racer &one,Racer &two)

{

if(one.frace < two.frace) return true;

return false;

};

 

inline bool sort_blaps(Racer &one,Racer &two)

{

two.blaps)returntrue;">if(one.blaps > two.blaps) return true;

return false;

};

 

inline bool sort_pouls(Racer &one,Racer &two)

{

two.pouls)returntrue;">if(one.pouls > two.pouls) return true;

return false;

};

 

inline bool sort_races(Racer &one,Racer &two)

{

two.races)returntrue;">if(one.races > two.races) return true;

return false;

};

 

 

inline bool sort_tituls(Racer &one,Racer &two)

{

two.tituls)returntrue;">if(one.tituls > two.tituls) return true;

return false;

};

 

inline bool sort_wons(Racer &one,Racer &two)

{

two.wons)returntrue;">if(one.wons > two.wons) return true;

return false;

};

 

 

void Application::bd_sortby(int value)

{

switch(value)

{

case 1: // Фамилия

sort(racers.begin(),racers.end(),sort_famely);

return;

case 2: // Имя

sort(racers.begin(),racers.end(),sort_name);

return;

case 3: // Гонок

sort(racers.begin(),racers.end(),sort_races);

return;

case 4: // Побед

sort(racers.begin(),racers.end(),sort_wons);

return;

case 5: // Поулов

sort(racers.begin(),racers.end(),sort_pouls);

return;

case 6: // Первая гонка

sort(racers.begin(),racers.end(),sort_frace);

return;

case 7: // Титулов

sort(racers.begin(),racers.end(),sort_tituls);

return;

case 8: // Лучших кругов

sort(racers.begin(),racers.end(),sort_blaps);

return;

default:

return;

};

};

 

int Application::find_name(string value)

{

 

//for(int i=0;i<racers.size();i++) vec[i] = racers[i].name;

return 0;

 

};

 

int Application::bd_findby(int value,string look)

{

switch(value)

{

case 1: // Фамилия

 

return 0;

case 2: // Имя

return find_name(look);

 

case 3: // Гонок

 

return 0;

case 4: // Побед

 

return 0;

case 5: // Поулов

 

return 0;

case 6: // Первая гонка

 

return 0;

case 7: // Титулов

 

return 0;

case 8: // Лучших кругов

 

return 0;

default:

return 0;

};

};

 

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

// Программа

Application app;

int number; // Номер текущего элемента

 

LRESULT CALLBACK WindowFunc(HWND, UINT, WPARAM, LPARAM);

 

char *szWinName = "MyClass";

 

 

HWND hwnd,hwndSort, hwndFind; // Окна - стандартное, сортировки, поиска

HWND button_last,button_next; // Кнопки

HWND edit_find, edit_famely,edit_name,edit_races,edit_wons,edit_pouls,edit_tituls,edit_frace,edit_blaps; // Едиты

HWND text_1,text_2,text_3,text_4,text_5,text_6,text_7,text_8,text_9,text_10,text_11,text_number; // Тексты

MSG msg;

WNDCLASS wcl;

HMENU menu;

Racer *find_racer,*find_result;

 

 

void draw_sort();

void draw_sort()

{

char val[5];

LVITEM lvi;

ZeroMemory(&lvi, sizeof(lvi));

ListView_DeleteAllItems(hwndSort);

 

 

lvi.mask = LVIF_TEXT;

 

for(int i=0;i<app.racers.size();i++)

{

lvi.iItem = i;

lvi.iSubItem = 0;

_itoa(i+1,val,10);

lvi.pszText = val;

lvi.iItem = ListView_InsertItem(hwndSort, &lvi);

 

lvi.iSubItem++;

lvi.pszText = (char *) app.racers[i].famely.c_str();

ListView_SetItem(hwndSort, &lvi);

};

char text[50];

SetWindowText(edit_famely, (char*)app.racers[number-1].famely.c_str());

SetWindowText(edit_name, (char*)app.racers[number-1].name.c_str());

itoa(app.racers[number-1].tituls,text,10);

SetWindowText(edit_tituls, text);

itoa(app.racers[number-1].wons,text,10);

SetWindowText(edit_wons, text);

itoa(app.racers[number-1].pouls,text,10);

SetWindowText(edit_pouls, text);

itoa(app.racers[number-1].blaps,text,10);

SetWindowText(edit_blaps, text);

itoa(app.racers[number-1].races,text,10);

SetWindowText(edit_races, text);

SetWindowText(edit_frace,app.racers[number-1].frace.c_str());

itoa(number,text,10);

SetWindowText(text_number,text);

};

 

void draw_find(int number, string famely);

void draw_find(int number, string famely)

{

char val[5];

LVITEM lvi;

ZeroMemory(&lvi, sizeof(lvi));

ListView_DeleteAllItems(hwndFind);

 

 

lvi.mask = LVIF_TEXT;

 

 

lvi.iItem = 0;

lvi.iSubItem = 0;

_itoa(number+1,val,10);

lvi.pszText = val;

lvi.iItem = ListView_InsertItem(hwndFind, &lvi);

 

lvi.iSubItem++;

lvi.pszText = (char *) famely.c_str();

ListView_SetItem(hwndFind, &lvi);

 

};

 

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)

{

// заполнение структуры WNDCLASS

wcl.hInstance = hInstance;

wcl.lpszClassName = szWinName;

wcl.lpfnWndProc = WindowFunc;

wcl.style = 0;

wcl.hIcon = LoadIcon(NULL, IDI_ASTERISK);

wcl.hCursor = LoadCursor(NULL,IDC_ARROW);

wcl.lpszMenuName = NULL;

wcl.cbClsExtra = 0;

wcl.cbWndExtra = 0;

wcl.hbrBackground = (HBRUSH)COLOR_WINDOW;

 

//регестрируем оконный класс

RegisterClass(&wcl);

 

// Инициализация коммон контролов

InitCommonControls();

 

//создаем главное окно и элементы управления

hwnd = CreateWindow(szWinName, "Kursovik", WS_OVERLAPPEDWINDOW ^ WS_THICKFRAME ^ WS_MAXIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 500, 350, HWND_DESKTOP, NULL, hInstance, NULL);

 

// Создаём окно с результатами сортировки

hwndSort = CreateWindowEx(0L, WC_LISTVIEW, "",WS_VISIBLE | WS_BORDER | WS_CHILD |LVS_REPORT,250, 30, 100, 170,hwnd, NULL, hInstance, NULL);

hwndFind = CreateWindowEx(0L, WC_LISTVIEW, "",WS_VISIBLE | WS_BORDER | WS_CHILD |LVS_REPORT,370, 30, 100,170,hwnd, NULL, hInstance, NULL);

 

// Вставляем столбцы

LV_COLUMN lvc;

memset(&lvc, 0, sizeof(lvc));

 

lvc.iSubItem = 0;

lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;

lvc.fmt = LVCFMT_LEFT;

 

lvc.iSubItem++;

lvc.cx = 30;

lvc.pszText = "#";

ListView_InsertColumn(hwndSort, lvc.iSubItem, &lvc);

ListView_InsertColumn(hwndFind, lvc.iSubItem, &lvc);

lvc.iSubItem++;

lvc.cx = 70;

lvc.pszText = "Famely";

ListView_InsertColumn(hwndSort, lvc.iSubItem, &lvc);

ListView_InsertColumn(hwndFind, lvc.iSubItem, &lvc);

 

/* Добавляем кнопки */

button_last = CreateWindow("button", "<< Last", WS_CHILD | WS_VISIBLE, 150, 270, 70, 25, hwnd, NULL, hInstance, NULL);

button_next = CreateWindow("button", "Next >>", WS_CHILD | WS_VISIBLE, 250, 270, 70, 25, hwnd, NULL, hInstance, NULL);

 

 

/* Едит боксы */

edit_famely=CreateWindowEx(WS_EX_CLIENTEDGE,"edit",NULL,WS_CHILD|WS_VISIBLE|WS_BORDER,75,10,150,25,hwnd,NULL,hInstance,NULL);

edit_name=CreateWindowEx(WS_EX_CLIENTEDGE,"edit&quo