private void InfoFromPL(Stream stmX, Dictionary <string, string> aC, DataSet ds, ref string sErr, int nRetSrv) { DataTable dt = xNSI.DT[NSI.TBD_TTN].dt; // время с сервера xAvt.SrvCTM = aC["CTM"].Trim(); // сохранить параметры для разбора xAvt.SrvAns = aC["PAR"].Trim(); xAvt.SrvAns = xAvt.SrvAns.Substring(1, xAvt.SrvAns.Length - 2); xAvt.KolTTN_EBD = 0; sErr = "Ошибка чтения XML"; string sXMLFile = ""; int nFileSize = ServClass.ReadXMLWrite2File(stmX, ref sXMLFile); sErr = "Ошибка загрузки XML"; dt.BeginLoadData(); dt.Clear(); System.Xml.XmlReader xmlRd = System.Xml.XmlReader.Create(sXMLFile); dt.ReadXml(xmlRd); xmlRd.Close(); xAvt.KolTTN_EBD = dt.Rows.Count;; dt.EndLoadData(); sErr = "OK"; }
// проверка поля private void AvtFieldValidating(object sender, CancelEventArgs e) { if (bEditMode == true) { TextBox xF = ((TextBox)sender); string sT = xF.Text.Trim().ToUpper(); if (sT.Length > 0) { if (xF == tPutList) { } if (xF == tTyag) { if (sT.Length < 4) { ServClass.ErrorMsg("Не меньше 4 цифр!"); e.Cancel = true; } } } if (e.Cancel != true) { //((TextBox)sender).Text = sT; //TestOpenAvail(cbGruzType.SelectedIndex, sender, sT); //e.Cancel = !ServClass.TryEditNextFiled((Control)sender, nCurEditCommand, aEdVvod); } // перед уходом if (e.Cancel == false) { xCurEdit = (Control)sender; } } }
// добавление новой записи в документы public bool AddDocRec(CurDoc xD, DataGrid dgDoc) { bool ret = true; try { DataRow dr = DT[NSI.TBD_DOC].dt.NewRow(); dr["SOURCE"] = DOCSRC_CRTD; ret = UpdateDocRec(dr, xD); if (ret == true) { DT[NSI.TBD_DOC].dt.Rows.Add(dr); xD.nId = (int)dr["ID"]; xD.drCurRow = dr; if (dgDoc != null) { dgDoc.CurrentRowIndex = ((System.ComponentModel.IListSource)dgDoc.DataSource).GetList().Count - 1; } } } catch (System.Data.ConstraintException) { ret = false; ServClass.ErrorMsg("Документ уже существует"); } catch (Exception ex) { ret = false; object x = ex.GetType(); } return(ret); }
// Версия софтины private void MMenuClick_AppVer(object sender, EventArgs e) { AssemblyName xAN = Assembly.GetExecutingAssembly().GetName(); //MessageBox.Show(String.Format("Версия ПО - {0}", xAN.Version.ToString()), "Информация"); ServClass.ErrorMsg(String.Format("Версия ПО - {0}", xAN.Version.ToString()), "Информация", true); CreateMMenu(); }
private int Read2D(BarcodeScannerEventArgs e) { int nRet = AppC.RC_OK, nLev; string s; s = e.Data; if (xAllDef == null) { DirectoryInfo di = new DirectoryInfo(xPars.sDataPath); FileInfo[] fi = di.GetFiles("*.def"); Def2Data xOneDef; xAllDef = new List <Def2Data>(); for (int i = 0; i < fi.Length; i++) { xOneDef = new Def2Data(); nRet = Read2DDef(fi[i].FullName, Encoding.GetEncoding(1251), xOneDef); if (nRet == AppC.RC_OK) { nLev = 0; xOneDef.lDef = CreateArrOp(lDoc, ref nLev, 0); xAllDef.Add(xOneDef); } else { ServClass.ErrorMsg(fi[i].FullName + "-ошибка в описании!"); } } xSer2D = new Ser2DSym(xNSI); } nRet = New2D(e.BinData, e.LenBinData); s = ""; if (nRet == AppC.RC_OK) { switch (xSer2D.State) { case READ2D_STATE.R_WAIT_SER: s = "Записан - <" + sLastDoc + ">"; break; case READ2D_STATE.R_WAIT_NEXT: break; } } //Show2DResult(REG_2D_SHOW, s); return(nRet); }
private void ToPageHeader(TabPage pgT) { Control cTab0 = ServClass.GetPageControl(pgT, 0, null); cTab0.Focus(); W32.keybd_event(W32.VK_SHIFT, W32.VK_SHIFT, W32.KEYEVENTF_SILENT, 0); W32.keybd_event(W32.VK_TAB, W32.VK_TAB, W32.KEYEVENTF_SILENT, 0); W32.keybd_event(W32.VK_TAB, W32.VK_TAB, W32.KEYEVENTF_KEYUP | W32.KEYEVENTF_SILENT, 0); W32.keybd_event(W32.VK_SHIFT, W32.VK_SHIFT, W32.KEYEVENTF_KEYUP | W32.KEYEVENTF_SILENT, 0); }
//private void NsiFromSrv(Stream stmX, Dictionary<string, string> aC, DataSet ds, // ref string sErr, int nRetSrv) //{ // string sMD5New = aC["MD5"]; // string sP = xNSI.sPathNSI + xNSI.DT[sTName].sXML; // DataTable dtAdded = null; // int nAddedCount = 0; // if ((bMD_5 == true) && (sMD5New == sMD5Old)) // sErr = "OK-No Load"; // else // { // sErr = "Ошибка чтения XML"; // string sXMLFile = ""; // int nFileSize = ServClass.ReadXMLWrite2File(stmX, ref sXMLFile); // switch (sTName) // { // case NSI.I_TMT: // dtAdded = dt.Clone(); // dtAdded.BeginLoadData(); // foreach (DataRow dr in dt.Rows) // { // if ( (System.DBNull.Value != dr["SOURCE"]) && // (NSI.DOCSRC_ZVKLOAD == (int)dr["SOURCE"]) ) // {// добавить в буфер для восстановления // dtAdded.ImportRow(dr); // } // } // dtAdded.EndLoadData(); // nAddedCount = dtAdded.Rows.Count; // break; // } // sErr = "Ошибка загрузки XML"; // dt.BeginLoadData(); // dt.Clear(); // System.Xml.XmlReader xmlRd = System.Xml.XmlReader.Create(sXMLFile); // dt.ReadXml(xmlRd); // xmlRd.Close(); // if (nAddedCount > 0) // { // dt.Merge(dtAdded); // } // dt.EndLoadData(); // sErr = "Ошибка сохранения XML"; // //File.Delete( sP ); // //File.Move(sXMLFile, sP); // dt.WriteXml(sP); // xNSI.DT[NSI.BD_TINF].dt.Rows[sTName]["MD5"] = sMD5New; // sErr = "OK"; // } //} private void NsiFromSrv(Stream stmX, Dictionary <string, string> aC, DataSet ds, ref string sErr, int nRetSrv) { string sMD5New = aC["MD5"]; string sP = xNSI.sPathNSI + xNSI.DT[sTName].sXML; //DataTable dtAdded = null; //int nAddedCount = 0; if ((bMD_5 == true) && (sMD5New == sMD5Old)) { sErr = "OK-No Load"; } else { sErr = "Ошибка чтения XML"; string sXMLFile = ""; int nFileSize = ServClass.ReadXMLWrite2File(stmX, ref sXMLFile); sErr = "Ошибка загрузки XML"; dt.BeginLoadData(); dt.Clear(); System.Xml.XmlReader xmlRd = System.Xml.XmlReader.Create(sXMLFile); dt.ReadXml(xmlRd); xmlRd.Close(); //if (nAddedCount > 0) // dt.Merge(dtAdded); dt.EndLoadData(); sErr = "Ошибка сохранения XML"; //File.Delete( sP ); //File.Move(sXMLFile, sP); dt.WriteXml(sP); if (drMD5 != null) { drMD5["MD5"] = sMD5New; } sErr = "OK"; } }
// обработка функций и клавиш на панели private bool AppPars_KeyDown(int nFunc, KeyEventArgs e) { bool ret = false; int nR; if (nFunc > 0) { if (bEditMode == false) { } if (nFunc == AppC.F_UPLD_DOC) {// сохранение параметров nR = AppPars.SavePars(xPars); if (AppC.RC_OK == nR) { ServClass.PlayMelody(W32.MB_2PROBK_QUESTION); MessageBox.Show("Параметры сохранены", "Сохранение"); } else { ServClass.PlayMelody(W32.MB_3GONG_EXCLAM); MessageBox.Show("Ошибка сохранения!", "Сохранение"); } ret = true; } } else { if (bEditMode == false) {// только в режиме просмотра switch (e.KeyValue) { case W32.VK_ENTER: Control xC = ServClass.GetPageControl(tpParPaths, 1, null); ret = true; break; } } } e.Handled |= ret; return(ret); }
// обработка функций и клавиш на панели private bool Service_KeyDown(int nFunc, KeyEventArgs e) { bool ret = false; if (nFunc > 0) { } else { switch (e.KeyValue) { case W32.VK_ENTER: Control xC = ServClass.GetPageControl(tpService, 1, null); if (xC == btQuit) { W32.SimulMouseClick(btQuit.Left + 3, btQuit.Top + 3, this); } ret = true; break; } } e.Handled |= ret; return(ret); }
// разбор и установка параметров с сервера public void SetAvtFields() { int i; FRACT f; string s; Dictionary <string, string> aP = SrvCommParse(xAvt.SrvAns, new char[] { ',' }); try{ i = int.Parse(aP["IO"]); } catch { i = 0; } if (i > 0) { //nDirMove = i; //xAvt.DirMove = i; //ShowDirection(i); } s = aP["PTVL"].Trim(); if (s.Length > 0) { xAvt.Putev = s; } try { i = int.Parse(aP["TG"]); } catch { i = 0; } if (i > 0) { xAvt.GruzType = i; } try { i = int.Parse(aP["CEL"]); } catch { i = 0; } if (i > 0) { xAvt.Purp = i; } s = aP["AVT"].Trim(); if (s.Length > 0) { xAvt.Avto = s; } try { f = FRACT.Parse(aP["MASSA"]); } catch { f = 0.0M; } if (f > 0) { xAvt.Massa = f; } try { f = FRACT.Parse(aP["SUMMA"]); } catch { f = 0.0M; } if (f > 0) { xAvt.Summa = f; } try { i = int.Parse(aP["MEST"]); } catch { i = 0; } if (i > 0) { xAvt.Mest = i; } if (xAvt.DirMove == AppC.DIR_OUT) { try { s = aP["PRPSK"]; } catch { s = ""; } //if (s.Length > 0) // xAvt.Propusk = s; } //SrvTime2Str(xAvt.SrvCTM); // количество ТТН по базе lEBD.Text = " ЭБД " + xAvt.KolTTN_EBD.ToString(); ServClass.RefreshAvtBind(aEdVvod); tPropusk.DataBindings[0].ReadValue(); }
public void BeginEditAvt(Control xFoc, string sInit) { bool bByScan = (xFoc == null) ? false : true; xAvt.ClearAvt(nDirMove, xFoc); lbTTN.Items.Clear(); lTTNF.Text = "ТТН ФАКТ 0"; lEBD.Text = " ЭБД 0"; xNSI.DT[NSI.TBD_TTN].dt.Rows.Clear(); xNSI.DT[NSI.TBD_DOC].dt.Rows.Clear(); //xAvt.bCanOpen = true; //lWrite2Base.Text = "Запись (F2)"; ShowDirection(xAvt.DirMove); if (bByScan == false) {// вход по клавише // тип груза по умолчанию if (xAvt.DirMove == AppC.DIR_IN) { xAvt.GruzType = AppC.GRUZ_EMPTY; } else { xAvt.GruzType = AppC.GRUZ_MAIN; } } else {// вход по скану // тип груза пока неизвестен //cbGruzType.SelectedIndex = -1; cbPurp.SelectedIndex = -1; xAvt.GruzType = 0; } TestOpenAvail(xAvt.GruzType, null, ""); /* * tTyag.Text = ""; * tPutList.Text = ""; * tMassa.Text = ""; * tMestProd.Text = ""; * tSumma.Text = ""; * tTimeIO.Text = ""; * tTTN.Text = ""; */ lbTTN.Items.Clear(); bQuitEdPars = false; // выход из редактирования - после выполнения команды "Открыть" //ServClass.dgVerEd = new VerifyEditFields(VerifyAvt); AvtForEdit(xAvt.GruzType, tPutList); ServClass.RefreshAvtBind(aEdVvod); tPropusk.DataBindings[0].ReadValue(); SetEditMode(true); // какой активный? if (xFoc == null) { xFoc = tPutList; } /* * if (sInit != "") * xFoc.Text = sInit; */ xFoc.Focus(); xFoc.DataBindings[0].ReadValue(); if (bByScan == true) { //ServClass.TryEditNextFiled(xFoc, AppC.CC_NEXT, aEdVvod); aEdVvod.TryNext(AppC.CC_NEXT); } }
// добавить полученный символ public int AddNew(byte[] b, int nL, bool b2DFull) { int nOfs, nRet = AppC.RC_OK; xS = new One2DSym(); xS.buf = b; xS.nL = nL; nOfs = 0; // достать служебную инфу из заголовка ParseLev(b, ref nOfs, xСDef2D.lDef[0], 0); switch (State) { case READ2D_STATE.R_WAIT_SER: nID_Serial = xS.nID_Serial; if (b2DFull == false) { xS.nMaxSer = 1; xS.nInSer = 1; } nMaxSer = xS.nMaxSer; nFileLen = AddFileLen(0); nSaved2D = 1; lSavedNs.Add(xS.nInSer); lSym.Add(xS); xD = new CurDoc(AppC.F_ADD_REC); State = TestIsSame(); switch (State) { case READ2D_STATE.R_SAME_DOC: ServClass.PlayMelody(W32.MB_3GONG_EXCLAM); DialogResult dr = MessageBox.Show("Отменить ввод(Enter)?\r\n(ESC) - переписать", "Документ существует!", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (dr != DialogResult.OK) { bRewrite = true; State = READ2D_STATE.R_WAIT_NEXT; } break; case READ2D_STATE.R_WAIT_NEXT: break; } break; case READ2D_STATE.R_WAIT_NEXT: if (nID_Serial == xS.nID_Serial) { if (!lSavedNs.Contains(xS.nInSer)) { nSaved2D++; lSavedNs.Add(xS.nInSer); lSym.Add(xS); nFileLen = AddFileLen(nFileLen); } } break; } if (State == READ2D_STATE.R_WAIT_NEXT) { if ((nSaved2D == nMaxSer) || (b2DFull == false)) { State = READ2D_STATE.R_FULL_SER; PrepBinDat(true, b2DFull); } } return(nRet); }
private int GetAvtInf(int nCom) { int i, nRet = AppC.RC_OK; string sErr, sSys = ""; List <DataRow> aDR = new List <DataRow>(); DataView dv = null; LoadFromSrv dgL = null; if (xCUpLoad == null) { xCUpLoad = new CurUpLoad(); if (xCLoad != null) { xCUpLoad.xLP = xCLoad.xLP; } xDP = xCUpLoad.xLP; } xCUpLoad.ilUpLoad.SetAllAvail(true); xCUpLoad.ilUpLoad.CurReg = AppC.UPL_ALL; switch (nCom) { case AppC.COM_ZOPEN: sErr = ""; foreach (object s in lbTTN.Items) { sErr += (string)s + " "; } sSys = String.Format("AVT={4},MASSA={0},SUMMA={1},MEST={2},TTN={3}", xAvt.Massa, xAvt.Summa, xAvt.Mest, sErr, xAvt.Avto); dgL = new LoadFromSrv(AvtFromSrv); break; case AppC.COM_ZPL: dgL = new LoadFromSrv(InfoFromPL); break; case AppC.COM_ZCONTR: // по всем невыгруженным документам dv = new DataView(xNSI.DT[NSI.TBD_DOC].dt, String.Format("SOURCE={0}", NSI.DOCSRC_CRTD), "", DataViewRowState.CurrentRows); if (dv.Count <= 0) { ServClass.ErrorMsg("Нет данных !"); return(AppC.RC_OK); } for (i = 0; i < dv.Count; i++) { if (i > 0) { sSys += ","; } sSys += dv[i].Row["IDSER2D"].ToString(); aDR.Add(dv[i].Row); } xCUpLoad.sComPar = sSys; dgL = new LoadFromSrv(AvtFromSrv); break; } xFPan.ShowP(6, 60, "Запрос данных", xCUpLoad.ilUpLoad.CurRegName); xFPan.UpdateHelp("Обмен с сервером..."); Cursor crsOld = Cursor.Current; Cursor.Current = Cursors.WaitCursor; sErr = ExchgSrv(nCom, sSys, "", dgL, null, ref nRet); Cursor.Current = crsOld; xFPan.HideP(); if (nRet == AppC.RC_OK) { } else { MessageBox.Show("Результат - " + sErr, "Код - " + nRet.ToString()); } if (tcMain.SelectedIndex != PG_DIR) { tcMain.SelectedIndex = PG_DIR; } switch (nCom) { case AppC.COM_ZPL: break; case AppC.COM_ZCONTR: for (i = 0; i < dv.Count; i++) { //aDR[i]["SOURCE"] = NSI.DOCSRC_UPLD; } break; } return(nRet); }
private void btMem_Click(object sender, EventArgs e) { ServClass.MemInfo(); }
public static void ErrorMsg(string sE, string sH, bool bSound) { ServClass.PlayMelody(W32.MB_3GONG_EXCLAM); MessageBox.Show(sE, sH); }