void AddProjectForm::eventhandle(NEvent* ev) //обработчик событий { if ( ev->done ) return; NMouseEvent* mevent = (NMouseEvent*)ev; if ( ev->type == NEvent::evMOUSE) { NForm::eventhandle(ev); //предок } if ( ev->type == NEvent::evKB ) { ev->done = true; switch(ev->keycode) { case KEY_ENTER: case '\n': //ENTER { form_driver(frm, REQ_NEXT_FIELD); //костыль чтобы текущее поле не потеряло значение char* email = strlowcase(rtrim(field_buffer(fields[emailfield],0))); char* passw = rtrim(field_buffer(fields[passwfield],0)); kLogPrintf("AddProjectForm OK name=[%s] url=[%s] email=[%s]\n passw=[%s]\n", projname.c_str(), projurl.c_str(), email, passw); if (srv!=NULL) { std::string errmsg; bool success = true; if (!userexist) //если аккаунта еще нет то создаем { char* username = strlowcase(rtrim(field_buffer(fields[usernamefield],0))); char* teamname = rtrim(field_buffer(fields[teamfield],0)); success = srv->createaccount(projurl.c_str(),email,passw, username, teamname, errmsg); } if (success) success = srv->projectattach(projurl.c_str(), projname.c_str(), email, passw, errmsg); //подключить проект if (success) putevent(new TuiEvent(evADDPROJECT)); //создаем событие чтобы закрыть форму else { //СООБЩЕНИЕ ОБ ОШИБКЕ errmsg = " Error: " + errmsg; set_field_buffer(fields[errmsgfield], 0, errmsg.c_str()); field_opts_on(fields[errmsgfield], O_VISIBLE); //делаем видимой строку ошибки this->refresh(); } } break; } case 27: putevent(new TuiEvent(evADDPROJECT)); //код закрытия окна break; default: kLogPrintf("AddProjectForm::KEYCODE=%d\n", ev->keycode); ev->done = false; NForm::eventhandle(ev); //предок break; } //switch } }
int main(void) { time_t start_t, end_t; double diff_t; char *data[TEST_CASES]; char *str; char your_result[300]; char actual_result[300]; char master_test[300]; int i; ft_add_test_case(&data[0], "Je Code avec le CUL"); ft_add_test_case(&data[1], "U MAD BRO"); ft_add_test_case(&data[2], ""); ft_add_test_case(&data[3], "iBI^7toBO&*TYUIbb7"); ft_add_test_case(&data[4], master_test); i = 21; while (i < 255) { master_test[i-21] = i; ++i; } master_test[i-21] = '\0'; i = 0; while (i < TEST_CASES) { ft_get_values(&data[i], &str); strcpy(your_result, str); strcpy(actual_result, str); time(&start_t); ft_strlowcase(your_result); time(&end_t); strlowcase(actual_result); diff_t = difftime(end_t, start_t); printf("str: %s, your_result: %s, actual_result: %s, execution time = %f\n", str, your_result, actual_result, diff_t); if (strcmp(your_result,actual_result) != 0) FAKE_N_GAY; if (diff_t >= 2.0) SNAIL; ++i; } GOES; }