База данных пилотов Формулы 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