bool saveProvinces(vector<string>* locationsVec, Province * prov) { //search for province location we want to save std::vector<std::string>::iterator it = locationsVec->begin(); string locationToSave = ""; for (it; it != locationsVec->end(); it++) { if (getProvinceID(*it) == prov->getID()) { locationToSave = *it; break; } } ofstream out; out.open((parameters::getFilesLocation() + locationToSave).c_str(), ofstream::out); if (!out) { cout << "Can't save to " << locationToSave << endl; return false; } const vector<string>& inside = prov->getInside(); for (auto i : inside) { out << i << endl; } out.close(); return true; }
void CRegisterDialog::OnSelchangeProvinceCombo() { UpdateData(TRUE); int index = m_cbProvince.GetCurSel(); if(index == 0) { m_cbRegion.ResetContent(); m_cbRegion.AddString(_T("不限")); m_cbRegion.SetCurSel(0); return ; } CString proName; m_cbProvince.GetLBText(index, proName); CString PID = getProvinceID(proName); updateRegion(PID); // AfxMessageBox(proName); }
Province* loadProvince(const string& location) { int id = getProvinceID(location); Province * prov = ProvinceContainerSingleton::getProvinceContainer()->getProvince(id); if (prov != nullptr) return prov; ifstream in; in.open((parameters::getFilesLocation() + location).c_str(), ifstream::in); if (!in) { cout << "Can't open " << location << endl; return nullptr; } string tmpStr; vector<string> * inside = new vector<string>; while (getline(in, tmpStr)) //loading content of file inside->push_back(tmpStr); in.close(); prov = new Province(id, inside); ProvinceContainerSingleton::getProvinceContainer()->addProvince(prov); //adding to container for future use return prov; }