//프로그램 종료시, 위치기억 private void efnLocSave() { Network.WriteIniFile("LocStockCalc", "X", this.Location.X.ToString(), @".\setting.ini"); Network.WriteIniFile("LocStockCalc", "Y", this.Location.Y.ToString(), @".\setting.ini"); Network.WriteIniFile("SizeMain", "Width", this.Size.Width.ToString(), @".\setting.ini"); Network.WriteIniFile("SizeMain", "Height", this.Size.Height.ToString(), @".\setting.ini"); Network.WriteIniFile("btnVisible", "YN", mIsPanel1Visible ? "Y" : "N", @".\setting.ini"); }
/// 서버랑 비교해서 옛 버전이면 다운. private void fnFTPDownSync() { //현재 로컬과 서버의 업로드 날짜를 비교. 서버의 업로드 날짜가 더 크면 다운 DateTime dtLocalFileDate; mServerVerDate = fnReadVer(out mFtpCon); //ftp 연결이 안되어있을 경우 빠져나오자. if (!mFtpCon) { return; } try { dtLocalFileDate = DateTime.ParseExact(Convert.ToString(Network.ReadIniFile("FileTouchDate", "Date", @".\setting.ini")), "yyyyMMddHHmmss", null); } catch { dtLocalFileDate = new DateTime(1, 1, 1); } if (dtLocalFileDate < mServerVerDate) { if (MessageBox.Show("서버의 파일이 최신입니다.\r\n최신버전으로 동기화 하시겠습니까?", "파일 동기화", MessageBoxButtons.YesNo) == DialogResult.Yes) { //기존 파일은 백업. try { File.Copy(@".\Contents.db", @".\Contents_Bak.db", true); } catch (Exception e) { MessageBox.Show("파일 백업 중 오류 : " + e.ToString()); } string strResult = Network.FtpDown(mAddress, mID, mPW, "Contents.db"); if (strResult != "") { MessageBox.Show(strResult); } //동기화를 성공했을 경우, 다운 받은 날짜의 정보를 setting.ini에 저장해둔다. upload시에 비교하여 동기화여부를 결정하는데 사용한다. else { Network.WriteIniFile("FileTouchDate", "Date", mServerVerDate.ToString("yyyyMMddHHmmss"), @".\setting.ini"); } } } }
//btnSearch2 private void efnSearchStoS() { int iValid; if (!Int32.TryParse(txtStoSInput1.Text, out iValid) || !Int32.TryParse(txtStoSInput2.Text, out iValid) || !Int32.TryParse(txtStoSInput3.Text, out iValid)) { MessageBox.Show("Wrong Value", "Search", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { Network.WriteIniFile("Chart:Stochastic", "Slow", txtStoSInput1.Text + "," + txtStoSInput2.Text + "," + txtStoSInput3.Text + "," + (cboStoS.SelectedItem == "SMA" ? "S" : "E"), @".\setting.ini"); } catch { MessageBox.Show("Fail Search", "Search", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } mfnSelectedStochastic(); }
//FormClosed - Write TabPageName to Setting.ini private void Detail_FormClosed(object sender, FormClosedEventArgs e) { Network.WriteIniFile("SelectedDetailTab", "PageName", TabDetail.SelectedTab.Name, @".\setting.ini"); }
private void fnSave() { Network.WriteIniFile("OPTION", "SyncYN", chkSync.Checked ? "Y" : "N", @".\setting.ini"); Network.WriteIniFile("OPTION", "FirstScreen", rdoCurrent.Checked ? "C" : rdoInterest.Checked ? "I" : "M", @".\setting.ini"); }
/// 서버랑 비교해서 로컬이 최신이면 업로드. 프로그램 종료 시. private void fnFTPUpSync() { //파일을 수정했으면 날짜를 기록 if (mMD5 != Network.GetMD5(@".\Contents.db")) { Network.WriteIniFile("FileTouchDate", "Date", fnGetFileDate(@".\Contents.db").ToString("yyyyMMddHHmmss"), @".\setting.ini"); } //ftp연결이 안되어있을 경우 빠져나오자. if (!mFtpCon) { return; } DateTime dtTouchDate = DateTime.ParseExact(Convert.ToString(Network.ReadIniFile("FileTouchDate", "Date", @".\setting.ini")), "yyyyMMddHHmmss", null); //처음 파일날짜와 비교해서 변경이 있을 경우 //&& 서버의 날짜보다 더 최신일 경우(다른 클라가 업로드한 경우도 있으므로 체크한다) 업로드 한다. if (dtTouchDate > mServerVerDate || mServerVerDate.Year == 1) { if (MessageBox.Show("로컬의 파일이 최신입니다.\r\n서버에 업로드 하시겠습니까?", "파일 동기화", MessageBoxButtons.YesNo) == DialogResult.Yes) { /* 업로드 전 서버에 백업 */ // 3이 있으면 지우고, 2가 있으면 3으로, 1이 있으면 2로, 원본만 있으면 1로 string strRe = ""; strRe = Network.FtpDel(mAddress, mID, mPW, "Contents_Bak3.db"); if (strRe != "") { MessageBox.Show(strRe); MessageBox.Show("업로드 실패"); return; } strRe = Network.FtpRename(mAddress, mID, mPW, "Contents_Bak2.db", "Contents_Bak3.db"); if (strRe != "") { MessageBox.Show(strRe); MessageBox.Show("업로드 실패"); return; } strRe = Network.FtpRename(mAddress, mID, mPW, "Contents_Bak1.db", "Contents_Bak2.db"); if (strRe != "") { MessageBox.Show(strRe); MessageBox.Show("업로드 실패"); return; } strRe = Network.FtpRename(mAddress, mID, mPW, "Contents.db", "Contents_Bak1.db"); if (strRe != "") { MessageBox.Show(strRe); MessageBox.Show("업로드 실패"); return; } string strResult = Network.FtpUp(mAddress, mID, mPW, "Contents.db"); if (strResult != "") { MessageBox.Show(strResult); } //동기화를 성공했을 경우 서버에 날짜 올림 else { fnWriteVer(dtTouchDate.ToString("yyyyMMddHHmmss")); strResult = Network.FtpUp(mAddress, mID, mPW, "ver.ps"); if (strResult != "") { MessageBox.Show("ver.ps 업로드 실패 : " + strResult); } } } } }