//updates existing employee record void update(int updateID) { //determines if a record exists or has been located bool infoFound = false; FILE* outFile; outFile = fopen("f.dat", "r+b"); employeeRecord emp; //iterates though the file while ((fread(&emp, sizeof(employeeRecord), 1, outFile)) == 1){ //sees if the id matches one in the database if (emp.eID == updateID) {//was u_eID //sets pointer fseek(outFile, (updateID-1) * sizeof(employeeRecord), SEEK_SET); //was u_eID //calls function to get user input getInfo(); //saves updated info saveInfo(emp.eID, outFile); //closes file fclose(outFile); //since the record was found, set to true infoFound = true; break; } } //displays message depending on whether or not information has been found // (infoFound) ? (printf("\nChanges saved\n")) : (printf("\nNo records found for that employee.\n")); if (infoFound == true) { printf("\nChanges saved\n"); } else { printf("\nNo records found for that employee.\n"); } }
shared_ptr<Book> BooksDBUtil::getBook(const std::string &filePath, bool checkFile) { const std::string physicalFilePath = ZLFile(filePath).physicalFilePath(); ZLFile file(physicalFilePath); if (checkFile && !file.exists()) { return 0; } if (!checkFile || checkInfo(file)) { shared_ptr<Book> book = loadFromDB(filePath); if (!book.isNull() && isBookFull(*book)) { return book; } } else { if (physicalFilePath != filePath) { resetZipInfo(file); } saveInfo(file); } shared_ptr<Book> book = Book::loadFromFile(filePath); if (book.isNull()) { return 0; } BooksDB::Instance().saveBook(book); return book; }
//prompts user to confirm information and writes it to a file void create() { int choice; printf("****Press 1 to confirm information.**** \n"); printf("****Press 2 to return to menu without saving.****\n"); //gets users' confirmation while(1) { scanf("%d", &choice); if (choice == 1) { //opens or creates file if it doesn't exist FILE*outFile; outFile = fopen("f.dat", "a+b"); //find out size of file fseek(outFile, 0L, SEEK_END); int fileSize = ftell(outFile); //resets pointer after the size is figured out fseek(outFile, 0, SEEK_SET); int count; if (fileSize == -1) { count = 0; } else { count = fileSize / sizeof(employeeRecord); } saveInfo(count+1, outFile); break; } //returns user to main menu if they choose not to save else if (choice == 2) { break; } }//maybe don't need return; //} maybe need }
bool BooksDBUtil::getBooks(std::map<std::string, shared_ptr<Book> > &booksmap, bool checkFile) { BookList books; if (!BooksDB::Instance().loadBooks(books)) { return false; } for (BookList::iterator it = books.begin(); it != books.end(); ++it) { Book &book = **it; const std::string &filePath = book.filePath(); const std::string physicalFilePath = ZLFile(filePath).physicalFilePath(); ZLFile file(physicalFilePath); if (!checkFile || file.exists()) { if (!checkFile || checkInfo(file)) { if (isBookFull(book)) { booksmap.insert(std::make_pair(filePath, *it)); continue; } } else { if (physicalFilePath != filePath) { resetZipInfo(file); } saveInfo(file); } shared_ptr<Book> bookptr = Book::loadFromFile(filePath); if (!bookptr.isNull()) { BooksDB::Instance().saveBook(bookptr); booksmap.insert(std::make_pair(filePath, bookptr)); } } } return true; }
void Box::saveRecorded(){ ofstream recorded_file; recorded_file.open("Info\\Recorded.txt"); for (int i = 0; i < recordList.size(); i++) { recorded_file << recordList[i].getName() << endl; } saveInfo(); }
PlaylistPtr PlaylistManager::addPlaylist(const PlaylistMeta &listinfo) { Q_D(PlaylistManager); PlaylistMeta saveInfo(listinfo); saveInfo.sortID = d->sortUUIDs.length(); d->sortUUIDs << saveInfo.uuid; insertPlaylist(listinfo.uuid, PlaylistPtr(new Playlist(saveInfo))); MediaDatabase::addPlaylist(saveInfo); return d->playlists.value(listinfo.uuid); }
void UserInfo::saveInfo() { ICQUser *u = pClient->getUser(m_nUin, m_nUin == 0); if (u == NULL) return; if (m_nUin == 0) m_nUin = u->Uin(); inSave = true; emit saveInfo(u); inSave = false; ICQEvent e(EVENT_INFO_CHANGED, m_nUin); processEvent(&e); }
UserInfo::UserInfo(QWidget *parent, unsigned long uin, int page) : UserInfoBase(parent) { inSave = false; m_nUin = uin; ICQUser *u = pClient->getUser(m_nUin); if (uin && (u == NULL)) return; lstBars->clear(); lstBars->header()->hide(); lstBars->setSorting(1); connect(lstBars, SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); itemMain = new QListViewItem(lstBars, i18n("User info"), QString::number(SETUP_DETAILS)); itemMain->setOpen(true); addWidget(new MainInfo(tabBars, true), SETUP_MAININFO, i18n("Main info"), "main"); if (u && (u->Type == USER_TYPE_ICQ)){ addWidget(new HomeInfo(tabBars, true), SETUP_HOMEINFO, i18n("Home info"), "home"); addWidget(new WorkInfo(tabBars, true), SETUP_WORKINFO, i18n("Work info"), "work"); addWidget(new MoreInfo(tabBars, true), SETUP_MOREINFO, i18n("More info"), "more"); addWidget(new AboutInfo(tabBars, true), SETUP_ABOUT, i18n("About info"), "info"); addWidget(new InterestsInfo(tabBars, true), SETUP_INTERESTS, i18n("Interests"), "interest"); addWidget(new PastInfo(tabBars, true), SETUP_PAST, i18n("Group/Past"), "past"); } addWidget(new PhoneBookDlg(tabBars, true), SETUP_PHONE, i18n("Phone book"), "phone"); if (u && (u->Type == USER_TYPE_ICQ)){ itemMain = new QListViewItem(lstBars, i18n("Preferences"), QString::number(SETUP_PREFERENCES)); itemMain->setOpen(true); addWidget(new AlertDialog(tabBars, true), SETUP_ALERT, i18n("Alert"), "alert"); addWidget(new AcceptDialog(tabBars, true), SETUP_ACCEPT, i18n("Accept file"), "file"); addWidget(new SoundSetup(tabBars, true), SETUP_SOUND, i18n("Sound"), "sound"); addWidget(new MsgDialog(tabBars, ICQ_STATUS_AWAY, true), SETUP_AR_AWAY, Client::getStatusText(ICQ_STATUS_AWAY), Client::getStatusIcon(ICQ_STATUS_AWAY)); addWidget(new MsgDialog(tabBars, ICQ_STATUS_NA, true), SETUP_AR_NA, Client::getStatusText(ICQ_STATUS_NA), Client::getStatusIcon(ICQ_STATUS_NA)); addWidget(new MsgDialog(tabBars, ICQ_STATUS_OCCUPIED, true), SETUP_AR_OCCUPIED, Client::getStatusText(ICQ_STATUS_OCCUPIED), Client::getStatusIcon(ICQ_STATUS_OCCUPIED)); addWidget(new MsgDialog(tabBars, ICQ_STATUS_DND, true), SETUP_AR_DND, Client::getStatusText(ICQ_STATUS_DND), Client::getStatusIcon(ICQ_STATUS_DND)); addWidget(new MsgDialog(tabBars, ICQ_STATUS_FREEFORCHAT, true), SETUP_AR_FREEFORCHAT, Client::getStatusText(ICQ_STATUS_FREEFORCHAT), Client::getStatusIcon(ICQ_STATUS_FREEFORCHAT)); } tabBars->raiseWidget(page ? page : SETUP_MAININFO); connect(pClient, SIGNAL(event(ICQEvent*)), this, SLOT(processEvent(ICQEvent*))); connect(btnSave, SIGNAL(clicked()), this, SLOT(saveInfo())); connect(btnUpdate, SIGNAL(clicked()), this, SLOT(update())); loadInfo(); }
void UserInfo::saveInfo() { if (m_nUin){ ICQUser *u = pClient->getUser(m_nUin); if (u){ inSave = true; emit saveInfo(u); inSave = false; ICQEvent e(EVENT_INFO_CHANGED, m_nUin); processEvent(&e); if (u->bIsTemp) pClient->getUser(m_nUin, true); } }else{ ICQGroup *g = NULL; if (m_nGrpId) g = pClient->getGroup(m_nGrpId); inSave = true; emit saveInfo(g); inSave = false; } close(); }
void sm::BoostPropertyTree::save(const boost::filesystem::path& fileName) const { switch(getFileFormatAndThrowIfUnknown(fileName)){ case XML: saveXml(fileName); break; case INI: saveIni(fileName); break; case JSON: saveJson(fileName); break; case INFO: saveInfo(fileName); break; } }
void Box::saveChannels(){ for (int i = 0; i < channels.size(); i++) { channels[i].orderPrograms(); } ofstream channels_file; channels_file.open("Info\\Channels.txt"); for (int i = 0; i < channels.size(); i++) { vector<Program> program_list; program_list = channels[i].getPrograms(); channels_file << channels[i].getName() << endl; channels_file << program_list.size() << endl; for (int k = 0; k < program_list.size(); k++) { channels_file << '\"' << program_list[k].getName() << '\"'; channels_file << " " << program_list[k].getDuration(); channels_file << " " << '\"' << program_list[k].getType() << '\"'; if (program_list[k].getState()) { channels_file << " " << 1; } else { channels_file << " " << 0; } channels_file << " " << '\"' << program_list[k].getDate().getDay() << '\"'; channels_file << " " << program_list[k].getDate().getHour(); channels_file << " " << program_list[k].getDate().getMinutes() << endl; } } channels_file.close(); saveInfo(); }
void createInfo(char way[3]) { goodsInfoLink *head,*q, *p; char code[20]; int choice=1; printf("请输入\n编号、品名、生产厂家、保质期(0000/00/00)、进价、售价、进货量、销售量.(以#结束)\n"); head = (goodsInfoLink *)malloc(sizeof(goodsInfoLink)); p = head; scanf("%s", code); while (1) { if (strcmp(code, "#") == 0) break; else { q = (goodsInfoLink *)malloc(sizeof(goodsInfoLink)); strcpy(q->number, code); scanf("%s%s%s%f%f%d%d", q->name,q->manuFacturer,q->expirationData,&q->bid,&q->price,&q->inAmount,&q->outAmount); q->residue = (q->inAmount) - (q->outAmount); //剩余数 q->sell = (q->price)*(q->outAmount); //销售额 q->scrap = 0; p->money = (p->sell) - (p->bid)*(p->outAmount); p->next = q; p = q; } scanf("%s", code); } q->next = NULL; printf("信息输入结束\n"); getchar(); printf("是否保存信息?(1、保存 2、不保存)\n"); scanf("%d", &choice); if (choice == 1) saveInfo(head,way); else printf("信息没有被保存\n"); }
static INT_PTR CALLBACK infoDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_INITDIALOG: #ifdef PLAYING_INFO CheckDlgButton(hDlg, IDC_PLAYING, playing_info ? BST_CHECKED : BST_UNCHECKED); #endif SendDlgItemMessage(hDlg, IDC_AUTHOR, EM_LIMITTEXT, ASAPInfo_MAX_TEXT_LENGTH, 0); SendDlgItemMessage(hDlg, IDC_NAME, EM_LIMITTEXT, ASAPInfo_MAX_TEXT_LENGTH, 0); SendDlgItemMessage(hDlg, IDC_DATE, EM_LIMITTEXT, ASAPInfo_MAX_TEXT_LENGTH, 0); SendDlgItemMessage(hDlg, IDC_TIME, EM_LIMITTEXT, ASAPWriter_MAX_DURATION_LENGTH, 0); return TRUE; case WM_COMMAND: switch (wParam) { #ifdef PLAYING_INFO case MAKEWPARAM(IDC_PLAYING, BN_CLICKED): playing_info = (IsDlgButtonChecked(hDlg, IDC_PLAYING) == BST_CHECKED); if (playing_info && playing_filename[0] != '\0') updateInfoDialog(playing_filename, playing_song); onUpdatePlayingInfo(); return TRUE; #endif case MAKEWPARAM(IDC_AUTHOR, EN_CHANGE): updateInfoString(hDlg, IDC_AUTHOR, INVALID_FIELD_AUTHOR, ASAPInfo_SetAuthor); return TRUE; case MAKEWPARAM(IDC_NAME, EN_CHANGE): updateInfoString(hDlg, IDC_NAME, INVALID_FIELD_NAME, ASAPInfo_SetTitle); return TRUE; case MAKEWPARAM(IDC_DATE, EN_CHANGE): updateInfoString(hDlg, IDC_DATE, INVALID_FIELD_DATE, ASAPInfo_SetDate); return TRUE; case MAKEWPARAM(IDC_PICKDATE, BN_CLICKED): toggleCalendar(hDlg); return TRUE; case MAKEWPARAM(IDC_TIME, EN_CHANGE): { char str[ASAPWriter_MAX_DURATION_LENGTH + 1]; int duration; SendDlgItemMessage(hDlg, IDC_TIME, WM_GETTEXT, ASAPWriter_MAX_DURATION_LENGTH + 1, (LPARAM) str); duration = ASAPInfo_ParseDuration(str); ASAPInfo_SetDuration(edited_info, edited_song, duration); EnableWindow(GetDlgItem(infoDialog, IDC_LOOP), str[0] != '\0'); updateSaveButtons(INVALID_FIELD_TIME | INVALID_FIELD_TIME_SHOW, duration >=0 || str[0] == '\0'); } return TRUE; case MAKEWPARAM(IDC_TIME, EN_KILLFOCUS): if ((invalid_fields & INVALID_FIELD_TIME_SHOW) != 0) { invalid_fields &= ~INVALID_FIELD_TIME_SHOW; showEditTip(IDC_TIME, _T("Invalid format"), _T("Please type MM:SS.mmm")); } return TRUE; case MAKEWPARAM(IDC_LOOP, BN_CLICKED): ASAPInfo_SetLoop(edited_info, edited_song, IsDlgButtonChecked(hDlg, IDC_LOOP) == BST_CHECKED); updateSaveButtons(0, TRUE); return TRUE; case MAKEWPARAM(IDC_SONGNO, CBN_SELCHANGE): setEditedSong(SendDlgItemMessage(hDlg, IDC_SONGNO, CB_GETCURSEL, 0, 0)); updateSaveButtons(INVALID_FIELD_TIME | INVALID_FIELD_TIME_SHOW, TRUE); return TRUE; case MAKEWPARAM(IDC_SAVE, BN_CLICKED): saveInfo(); return TRUE; case MAKEWPARAM(IDC_SAVEAS, BN_CLICKED): saveInfoAs(); return TRUE; case MAKEWPARAM(IDCANCEL, BN_CLICKED): if (invalid_fields == 0 && infoChanged()) { switch (MessageBox(hDlg, _T("Save changes?"), _T("ASAP"), MB_YESNOCANCEL | MB_ICONQUESTION)) { case IDYES: if (!saveInfoAs()) return TRUE; break; case IDCANCEL: return TRUE; default: break; } } closeInfoDialog(); return TRUE; } break; case WM_NOTIFY: { LPNMSELCHANGE psc = (LPNMSELCHANGE) lParam; if (psc->nmhdr.hwndFrom == monthcal && psc->nmhdr.code == MCN_SELECT) { _TCHAR str[32]; ShowWindow(monthcal, SW_HIDE); _stprintf(str, _T("%02d/%02d/%d"), psc->stSelStart.wDay, psc->stSelStart.wMonth, psc->stSelStart.wYear); SetDlgItemText(hDlg, IDC_DATE, str); ASAPInfo_SetDate(edited_info, str); updateSaveButtons(INVALID_FIELD_DATE, TRUE); } } break; case WM_DESTROY: if (monthcal != NULL) { DestroyWindow(monthcal); monthcal = NULL; } return 0; default: break; } return FALSE; }
int main(void) { system("mode con lines=25 cols=80"); //콘솔 창 크기 초기화 UserInfo *userInfo = NULL; FILE *readFile = NULL; FILE *writeFile = NULL; int input = 1, menu = 1, choice; int *ptr = &menu; char *menu_num[MENU_NUM]; puts("\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t = 시작하는 중 = \n\n\n\n\n\n\n\n\n\n\n"); userInfo = setUserInfo(userInfo, readFile); //구조체 배열에 파일 데이터 저장 if (userInfo == (UserInfo*)-1) return 0; //오류 났을 경우 바로 종료 startSound(); //로딩 완료 효과음 printMainSub(menu, menu_num); //메인 메뉴 구성 while(1) { printMain(menu, menu_num); //메인 화면 출력 input = getch(); //입력 if (input == ARROW_BUFFER) //방향키는 입력 시 아스키확장 값이 먼저 들어온 후 값이 들어옴 input = getch(); //그래서 이 경우 버퍼를 한번 비우도록 하였음 switch (input) { case UP_ARROW_KEY: //상 방향키 if (menu > 1) menu--; moveSound(); break; case DOWN_ARROW_KEY: //하 방향키 if (menu < 6) menu++; moveSound(); break; case ENTER_KEY: //enter키 inSound(); switch (menu) { case 1: //출력 printList(userInfo); break; case 2: //등록 addUser(userInfo); break; case 3: //삭제 searchMain(userInfo, _DELETE, "삭제", "Delete"); break; case 4: //수정 searchMain(userInfo, MODIFY, "수정", "Modify"); break; case 5: //검색 searchMain(userInfo, SEARCH, "검색", "Search"); break; case 6: //저장 saveInfo(userInfo, writeFile); break; } //switch(menu) out break; case ESC_KEY: //esc키 inSound(); choice = closeProgram(); if (choice == SAVE) choice = saveInfo(userInfo, writeFile); if (choice == SAVE || choice == EXIT){ printClose(); free(userInfo); closeSound(); printClose_sub(); return 0; } else break; default: warningMessage(input - '0', 6, ptr); break; } //switch(input) out } free(userInfo); return 0; }
void headerInput(Pila *p){ Header *info = inputHeaderInfo(); saveInfo(info); insertar_pila(p, info); }
UserInfo::UserInfo(unsigned long uin, unsigned short grpId, int page) : UserInfoBase(NULL, "userinfo", WType_TopLevel | WStyle_Dialog| WDestructiveClose) { SET_WNDPROC("userinfo") inSave = false; setButtonsPict(this); m_nUin = uin; m_nGrpId = grpId; ICQUser *u = NULL; if (uin){ u = pClient->getUser(uin); if (u == NULL) return; } ICQGroup *g = NULL; if (grpId){ g = pClient->getGroup(grpId); if (g == NULL) return; } lstBars->clear(); lstBars->header()->hide(); lstBars->setSorting(1); connect(lstBars, SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); itemMain = new QListViewItem(lstBars, i18n("User info"), QString::number(SETUP_DETAILS)); itemMain->setOpen(true); if (u){ addWidget(p_MainInfo, SETUP_MAININFO, i18n("Main info"), "main"); if (u->Type == USER_TYPE_ICQ){ addWidget(p_HomeInfo, SETUP_HOMEINFO, i18n("Home info"), "home"); addWidget(p_WorkInfo, SETUP_WORKINFO, i18n("Work info"), "work"); addWidget(p_MoreInfo, SETUP_MOREINFO, i18n("More info"), "more"); addWidget(p_AboutInfo, SETUP_ABOUT, i18n("About info"), "info"); addWidget(p_InterestsInfo, SETUP_INTERESTS, i18n("Interests"), "interest"); addWidget(p_PastInfo, SETUP_PAST, i18n("Group/Past"), "past"); } addWidget(p_PhoneBookDlg, SETUP_PHONE, i18n("Phone book"), "phone"); } if ((uin == 0) || (u->Type == USER_TYPE_ICQ)){ itemMain = new QListViewItem(lstBars, i18n("Preferences"), QString::number(SETUP_PREFERENCES)); itemMain->setOpen(true); addWidget(p_AlertDialog, SETUP_ALERT, i18n("Alert"), "alert"); addWidget(p_AcceptDialog, SETUP_ACCEPT, i18n("Accept"), "message"); addWidget(p_SoundSetup, SETUP_SOUND, i18n("Sound"), "sound"); } if (g || (u && (u->Type == USER_TYPE_ICQ))){ itemMain = new QListViewItem(lstBars, i18n("Auto reply"), QString::number(SETUP_AUTOREPLY)); itemMain->setOpen(true); addWidget(p_MsgDialog, SETUP_AR_AWAY, SIMClient::getStatusText(ICQ_STATUS_AWAY), SIMClient::getStatusIcon(ICQ_STATUS_AWAY), ICQ_STATUS_AWAY); addWidget(p_MsgDialog, SETUP_AR_NA, SIMClient::getStatusText(ICQ_STATUS_NA), SIMClient::getStatusIcon(ICQ_STATUS_NA), ICQ_STATUS_NA); addWidget(p_MsgDialog, SETUP_AR_OCCUPIED, SIMClient::getStatusText(ICQ_STATUS_OCCUPIED), SIMClient::getStatusIcon(ICQ_STATUS_OCCUPIED), ICQ_STATUS_OCCUPIED); addWidget(p_MsgDialog, SETUP_AR_DND, SIMClient::getStatusText(ICQ_STATUS_DND), SIMClient::getStatusIcon(ICQ_STATUS_DND), ICQ_STATUS_DND); addWidget(p_MsgDialog, SETUP_AR_FREEFORCHAT, SIMClient::getStatusText(ICQ_STATUS_FREEFORCHAT), SIMClient::getStatusIcon(ICQ_STATUS_FREEFORCHAT), ICQ_STATUS_FREEFORCHAT); } raiseWidget(page ? page : (u ? SETUP_MAININFO : SETUP_ALERT)); connect(pClient, SIGNAL(event(ICQEvent*)), this, SLOT(processEvent(ICQEvent*))); connect(btnSave, SIGNAL(clicked()), this, SLOT(saveInfo())); connect(btnClose, SIGNAL(clicked()), this, SLOT(close())); if (u && (u->Type == USER_TYPE_ICQ)){ connect(btnUpdate, SIGNAL(clicked()), this, SLOT(update())); }else{ btnUpdate->hide(); } loadInfo(); setTitle(); setIcon(); }
void fnSaveStateAndRebuildList(HWND hwnd, struct ClcData *dat) { NMCLISTCONTROL nm; int i, j; ClcGroup *group; ClcContact *contact; cli.pfnHideInfoTip(hwnd, dat); KillTimer(hwnd, TIMERID_INFOTIP); KillTimer(hwnd, TIMERID_RENAME); cli.pfnEndRename(hwnd, dat, 1); OBJLIST<SavedContactState_t> saveContact(10, NumericKeySortT); OBJLIST<SavedGroupState_t> saveGroup(100, NumericKeySortT); OBJLIST<SavedInfoState_t> saveInfo(10, NumericKeySortT); dat->needsResort = 1; group = &dat->list; group->scanIndex = 0; for (;;) { if (group->scanIndex == group->cl.count) { group = group->parent; if (group == NULL) break; } else if (group->cl.items[group->scanIndex]->type == CLCIT_GROUP) { group = group->cl.items[group->scanIndex]->group; group->scanIndex = 0; SavedGroupState_t* p = new SavedGroupState_t; p->groupId = group->groupId; p->expanded = group->expanded; saveGroup.insert(p); continue; } else if (group->cl.items[group->scanIndex]->type == CLCIT_CONTACT) { SavedContactState_t* p = new SavedContactState_t; p->hContact = group->cl.items[group->scanIndex]->hContact; memcpy(p->iExtraImage, group->cl.items[group->scanIndex]->iExtraImage, sizeof(p->iExtraImage)); p->checked = group->cl.items[group->scanIndex]->flags & CONTACTF_CHECKED; saveContact.insert(p); } else if (group->cl.items[group->scanIndex]->type == CLCIT_INFO) { SavedInfoState_t* p = new SavedInfoState_t; p->parentId = (group->parent == NULL) ? -1 : group->groupId; p->contact = *group->cl.items[group->scanIndex]; saveInfo.insert(p); } group->scanIndex++; } cli.pfnFreeGroup(&dat->list); cli.pfnRebuildEntireList(hwnd, dat); group = &dat->list; group->scanIndex = 0; for (;;) { if (group->scanIndex == group->cl.count) { group = group->parent; if (group == NULL) break; } else if (group->cl.items[group->scanIndex]->type == CLCIT_GROUP) { group = group->cl.items[group->scanIndex]->group; group->scanIndex = 0; SavedGroupState_t tmp, *p; tmp.groupId = group->groupId; if ((p = saveGroup.find(&tmp)) != NULL) group->expanded = p->expanded; continue; } else if (group->cl.items[group->scanIndex]->type == CLCIT_CONTACT) { SavedContactState_t tmp, *p; tmp.hContact = group->cl.items[group->scanIndex]->hContact; if ((p = saveContact.find(&tmp)) != NULL) { memcpy(group->cl.items[group->scanIndex]->iExtraImage, p->iExtraImage, sizeof(p->iExtraImage)); if (p->checked) group->cl.items[group->scanIndex]->flags |= CONTACTF_CHECKED; } } group->scanIndex++; } for (i=0; i < saveInfo.getCount(); i++) { if (saveInfo[i].parentId == -1) group = &dat->list; else { if (!cli.pfnFindItem(hwnd, dat, saveInfo[i].parentId | HCONTACT_ISGROUP, &contact, NULL, NULL)) continue; group = contact->group; } j = cli.pfnAddInfoItemToGroup(group, saveInfo[i].contact.flags, _T("")); *group->cl.items[j] = saveInfo[i].contact; } cli.pfnRecalculateGroupCheckboxes(hwnd, dat); cli.pfnRecalcScrollBar(hwnd, dat); nm.hdr.code = CLN_LISTREBUILT; nm.hdr.hwndFrom = hwnd; nm.hdr.idFrom = GetDlgCtrlID(hwnd); SendMessage(GetParent(hwnd), WM_NOTIFY, 0, (LPARAM) & nm); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); MyInfo = new info(this); // ------------------------- Всякая красота ---------------------------- QSettings settings ("Other/config.ini", QSettings::IniFormat); settings.beginGroup("Settings"); this->setWindowTitle("FormUdod - " + settings.value("windowtitle", "Запись в объединения").toString()); settings.endGroup(); this->setWindowIcon(QIcon(":/icons/Icons/udod")); help = new QDialog(this); help->setWindowTitle(tr("Помощь")); help->setWindowFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint); QTextEdit* textEdit = new QTextEdit; textEdit->setReadOnly(true); textEdit->setHtml(tr("Данная программа представляет собой клиент для работы с базой данных. Перед началом работы убедитесь, что соединение с базой установлено — " "в нижней части окна программы должна появиться соответствующая надпись. <b>Если соединение отсутствует, обратитесь к системному администратору.</b><br /><br />" "Если соединение установлено, заполните анкету. <b>Обратите внимание, что поля, помеченные символом *, обязательны для заполнения!</b> " "Если одно или несколько обязательных полей не заполнено, то при попытке сохранения программа выдаст соответствующее сообщения, а данные сохранены не будут.<br /><br />" "Для сохранения введённых данных нажмите <img src=:/icons/Icons/save.png/ height=20> <b>Сохранить</b> на панели инструментов и подтвердите действие, нажав <b>Да</b> во всплывающем окне, " "либо нажмите <b>Нет</b> для его отмены.<br /><br />" "Для очистки всех полей нажмите <img src=:/icons/Icons/clear.png/ height=20> <b>Очистить форму</b>. Обратите внимание, что при этом все введённые данные будут потеряны!<br /><br />" "Для получения информации о программе и лицензии нажмите <img src=:/icons/Icons/info.png/ height=20> <b>О программе</b>.<br /><br />" "<b>Изменение настроек программы может осуществляться только системным администратором.</b>")); QVBoxLayout* layout = new QVBoxLayout; QDialogButtonBox* button = new QDialogButtonBox(QDialogButtonBox::Ok); connect(button, SIGNAL(accepted()), help, SLOT(close())); layout->addWidget(textEdit); layout->addWidget(button); help->setLayout(layout); // --------------------------- Main ToolBar ---------------------------- // Иконки: http://www.flaticon.com/packs/web-application-ui/4 ui->mainToolBar->addAction(QIcon(":/icons/Icons/save.png"), tr("Сохранить"), this, SLOT(saveInfo())); ui->mainToolBar->addAction(QIcon(":/icons/Icons/clear.png"), tr("Очистить форму"), this, SLOT(clearForm())); ui->mainToolBar->addSeparator(); ui->mainToolBar->addAction(QIcon(":/icons/Icons/help.png"), tr("Помощь"), help, SLOT(show())); ui->mainToolBar->addAction(QIcon(":/icons/Icons/info.png"), tr("О программе"), MyInfo, SLOT(show())); names = new QRegularExpression("^[А-ЯЁ]{1}[а-яё]*(-[А-ЯЁ]{1}[а-яё]*)?$"); words = new QRegularExpression(); // Получение инфы обобъединениях QFile file ("Other/association.txt"); // Указываем название файла if(file.open(QIODevice::ReadOnly)) // Открываем файл для чтения { // Если файл успешно открыт QTextStream stream(&file); // Создаём поток текстового ввода/вывода if(stream.status() == QTextStream::Ok) { // Если поток создан успешно QStringList qsl; // Создаём список строк while (!stream.atEnd()) { // Считываем поочерёдно все строки, форматируя их QString str = stream.readLine().simplified().replace(QRegularExpression("-{2,}"), "-"); // Если строка не пустая и не комментарий if (!str.isEmpty() && str.at(0) != '#') qsl.append(str); // Заносим её в список } qsl.sort(); // Сортируем список qsl.prepend("- Не выбрано -"); // Добавляем 0й элемент ui->ass1->addItems(qsl); // Устанавливаем текст для ComboBox ui->ass2->addItems(qsl); ui->ass3->addItems(qsl); } file.close(); // Закрываем файл } // ----------------------------- DataBase ------------------------------ myDB = QSqlDatabase::addDatabase("QMYSQL"); // Указываем СУБД settings.beginGroup("Database"); myDB.setHostName(settings.value("hostname", "localhost").toString()); myDB.setDatabaseName(settings.value("dbname", "kcttTempDB").toString()); myDB.setPort(settings.value("port").toInt()); myDB.setUserName(settings.value("username").toString()); myDB.setPassword(settings.value("password").toString()); settings.endGroup(); QString status; if (myDB.open() && !myDB.isOpenError() && myDB.isValid()) // Открываем соединение status = tr("Соединение с базой установлено."); else status = tr("Ошибка соединения с основной базой: ") + myDB.lastError().text(); ui->lblStatus->setText(status); }
void selectScene::onSelectButton() { saveInfo(); SCENEMANAGER->changeScene("starwars"); }