public void OnButtonPressed(IRibbonControl control) { //MessageBox.Show("Hello from control " + control.Id); string str=FirstAddIn.MyGetHostname(); var UIHandler = new Action<object>((o) => { ctrl.ShowDialog(); }); //if (waitSet) //avoid double submission //{ // ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler)); // return; //} //else //{ // waitSet = true; //} //var wait = new ManualResetEvent(false); var handler = new EventHandler((o, e) => { cr = (DataResponse)o; result = cr.data; //waitSet = false; //wait.Set(); ExcelAsyncUtil.QueueAsMacro(() => { //ExcelReference cell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell); ExcelReference cell = refCell; int testRowSize = cr.row; int testColSize = cr.col; var activeCell = new ExcelReference(cell.RowFirst, testRowSize + cell.RowFirst - 1, cell.ColumnLast, cell.ColumnLast + testColSize - 1); activeCell.SetValue(result); XlCall.Excel(XlCall.xlcSelect, activeCell); }); }); if (this.ctrl.getRunState() == RunState.IDLE) { ExcelAsyncUtil.QueueAsMacro(() => { refCell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell); }); ctrl.registerCallback(handler); } ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler)); ////For simplicity, we implement the wait here //wait.WaitOne(); //if (result == null) //{ // return; //} //ExcelAsyncUtil.QueueAsMacro(() => //{ // //ExcelReference cell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell); // ExcelReference cell = refCell; // int testRowSize = cr.row; // int testColSize = cr.col; // var activeCell = new ExcelReference(cell.RowFirst,testRowSize+cell.RowFirst-1, cell.ColumnLast ,cell.ColumnLast + testColSize-1); // activeCell.SetValue(result); // XlCall.Excel(XlCall.xlcSelect, activeCell); //}); }
public NavisionDBTable(NavisionDBConnection Connection, NavisionDBUser User) { if (User == null) { throw new Exception("Error: User must be defined"); } this.conexion = Connection; if (!this.ValidarUsuario(User)) { throw new Exception("Error: User is a Nonvalid user"); } this.Tabla = -1; this.TablaStr = ""; this.usuario = User; this.Filtros = new TableFilters(); this.NoColumnas = false; this.Reves = false; this.Claves = null; this.ClaveNavisionFormat = null; this.ClavesStr = null; this.Columnas = null; this.ColumnaStr = null; this.inserciones = null; this.actualizaciones = null; this.nombreColumnas = null; this.numeroColumnas = null; this.numeroCampos = 0; this.soloPrimeraFila = false; }
// Called on the main thread in a macro context public void Refresh() { if (_regInfoNotAvailable) return; object regInfoResponse = ExcelIntegration.GetRegistrationInfo(_xllPath, _version); if (regInfoResponse.Equals(ExcelError.ExcelErrorNA)) { _regInfoNotAvailable = true; Logger.Provider.Info($"XllRegistrationInfo not available for {_xllPath}"); return; } if (regInfoResponse == null || regInfoResponse.Equals(ExcelError.ExcelErrorNum)) { // no update - versions match return; } _regInfo = regInfoResponse as object[,]; if (_regInfo != null) { Debug.Assert((string)_regInfo[0, 0] == _xllPath); _version = (double)_regInfo[0, 1]; } }
public void SetImageArray(object imageArray, int imageWidth, int imageHeight, SensorType sensorType) { this.imageArray = imageArray; this.imageWidth = imageWidth; this.imageHeight = imageHeight; this.sensorType = sensorType; objPixelArray = null; intPixelArray = null; intColourPixelArray = null; objColourPixelArray = null; if (sensorType == SensorType.Monochrome) { if (imageArray is int[,]) { intPixelArray = (int[,])imageArray; isColumnMajor = intPixelArray.GetLength(0) == imageWidth; isRowMajor = intPixelArray.GetLength(0) == imageHeight; return; } else if (imageArray is object[,]) { objPixelArray = (object[,])imageArray; isColumnMajor = objPixelArray.GetLength(0) == imageWidth; isRowMajor = objPixelArray.GetLength(0) == imageHeight; return; } } else { // Color sensor type is represented as 3-dimentional array that can be either: [3, height, width], [width, height, 3] if (imageArray is int[, ,]) { intColourPixelArray = (int[, ,])imageArray; isColumnMajor = intColourPixelArray.GetLength(0) == imageWidth; isRowMajor = intColourPixelArray.GetLength(0) == 3; return; } else if (imageArray is object[, ,]) { objColourPixelArray = (object[, ,])imageArray; isColumnMajor = objColourPixelArray.GetLength(0) == imageWidth; isRowMajor = objColourPixelArray.GetLength(0) == 3; return; } } throw new ArgumentException(); }
public void Add(string datum) { if (_i == 0) { // initialize _input_array Int32[] lowerBounds = { 1, 1 }; Int32[] lengths = { _rows, _cols }; _input_array = (object[,])Array.CreateInstance(typeof(object), lengths, lowerBounds); } var pair = OneDToTwoD(_i); var col_idx = pair.Item1; var row_idx = pair.Item2; _input_array[col_idx, row_idx] = datum; _i++; }
int TitleRow = 0; // set by SetTitleRow. all titles need to be at the same row. 0= not set yet. #endregion Fields #region Constructors /// <summary> /// Set TitleRow, ObjArray and AsnTitleDict, AsnErrorList is used to track error. /// </summary> /// <param name="asnFileName">asn workbook name, pass back to base</param> public AsnExcelIn(string asnFileName) : base(asnFileName) { string AsnWs = "ASN"; ObjArray = Office.ReadExcel(this.AsnFileName, AsnWs); if (ObjArray == null) { string _errorMsg = string.Format("Worksheet \"{0}\" does NOT exist in {1}", AsnWs, this.AsnFileName); AddAsnError(0, 0, _errorMsg); return; } SetTitleRow(); if (this.HasError) return; // SetTitleRow() returns error, so return. SetTitleCol(); if (this.HasError) return; // SetTitleCol() returns error, so return. FillAsnList(); }
public VideoFrame(byte[] pixelBytes, int width, int height, int bpp, int frameNo, bool variant, double ccdTemp) { m_FrameNo = frameNo; m_Header = new ImageHeader(m_FrameNo, pixelBytes, bpp); if (variant) { pixelsVariant = new object[height, width]; pixels = null; } else { pixels = new int[height, width]; pixelsVariant = null; } m_PreviewBitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb); ImageUtils.ProduceBitmap(pixelBytes, width, height, bpp, m_PreviewBitmap); if (m_Header.Latitude != 0 && m_Header.Longitude != 0) { Longitude = m_Header.ParseLongitude; Latitude = m_Header.ParseLatitude; ImageInfo = string.Format("LAT:{0};LONG:{1};", AstroConvert.ToStringValue(Latitude, "+DD°MM'SS.T\""), AstroConvert.ToStringValue(Longitude, "+DD°MM'SS.T\"")); } else { Longitude = double.NaN; Latitude = double.NaN; } ImageInfo += string.Format("GPS:{0};CLKFRQ:{1};CCDTMP:{2}", m_Header.GPSStatus, m_Header.MaxClock, ccdTemp.ToString("0.0", CultureInfo.InvariantCulture)); if (m_LoggedFrameNo != frameNo) { int currExpMS = (int) Math.Round((m_Header.EndTime - m_Header.StartTime).TotalMilliseconds); int msDiff = Math.Abs(m_LastExpMS - currExpMS); int msGap = (int)Math.Round((m_Header.StartTime - m_LastEndTime).TotalMilliseconds); string flags = msDiff > 5 ? ";LARGE-DIFF" : ""; if (msGap > 5) flags += ";LARGE-GAP"; Trace.WriteLine(string.Format("QHY {0} |{1}| GPSFlag:{2};MaxClock:{3};EXPD:{4}ms;GAP:{5}{6}", m_Header.StartTime.ToString("yyyy-MM-dd HH:mm:ss.fff"), string.Join(" ", pixelBytes.Take(44).Select(x => Convert.ToString(x, 16).PadLeft(2, '0'))), m_Header.GPSStatus, m_Header.MaxClock, msDiff, msGap, flags)); m_LoggedFrameNo = frameNo; m_LastExpMS = currExpMS; m_LastEndTime = m_Header.EndTime; } }
static IdentMap() { object[,] objArray = new object[6, 2]; objArray[0, 0] = IdentityType.SamAccountName; objArray[0, 1] = "ms-nt4account"; objArray[1, 0] = IdentityType.Name; objArray[1, 1] = "ms-name"; objArray[2, 0] = IdentityType.UserPrincipalName; objArray[2, 1] = "ms-upn"; objArray[3, 0] = IdentityType.DistinguishedName; objArray[3, 1] = "ldap-dn"; objArray[4, 0] = IdentityType.Sid; objArray[4, 1] = "ms-sid"; objArray[5, 0] = IdentityType.Guid; objArray[5, 1] = "ms-guid"; IdentMap.StringMap = objArray; }
public Combinaison(List<string[]> valuesList) { int nbRow = 1; int nbCol = valuesList.Count; foreach (string[] values in valuesList) nbRow *= values.Length; _resultArray = ExcelArray<object>.Create(nbRow, nbCol); for (int c = 0, ci = nbCol, rpt = 1; c < nbCol; c++, ci--) { var values = valuesList[c]; var len = values.Length; for (int ri = 0; ri < nbRow; ) { for (int v = 0; v < len; v++) { for (int j = 0; j < rpt; j++) _resultArray[++ri, ci] = values[v]; } } rpt *= len; } }
// Called in a macro context public void Refresh() { var app = (Application)ExcelDnaUtil.Application; var wb = app.Workbooks[_name]; _path = wb.Path; try { var ws = wb.Sheets[intelliSenseWorksheetName]; var info = ws.UsedRange.Value; _regInfo = info as object[,]; } catch (Exception ex) { // We expect this if there is no sheet. Debug.Print("WorkbookIntelliSenseProvider.Refresh Error : " + ex.Message); _regInfo = null; } _lastUpdate = DateTime.Now; }
public bool Read() { if (_usedData == null) { _usedData = _usedRange.Value2; _rowCount = _usedRange.Rows.Count; } if (_rowIndex > _rowCount) { return false; } for (int i = 1; i <= _array.Length; i++) { //object value = ((Range) _usedRange.Cells[_rowIndex, i]).Value2; object value = _usedData[_rowIndex, i]; string svalue = value.SafeToString(); _values[i - 1] = svalue; } _rowIndex++; return true; }
public Census(string tbnme) { this.oSheet = (Worksheet) AxCalcEngine.shts[tbnme]; this.oSheet.Activate(); objArray = ExcelUtility.PullInExcelData(4, 1, oSheet); this.colNum = objArray.GetUpperBound(1); this.rowNum = objArray.GetUpperBound(0); SetTotalColumns(); for (int i = 1; i <= this.rowNum; i++) { if (EndAddingRows(i) == true) { break; } AssignFieldInfo(i); } }
public Combinaison(string[] list, int k, bool withPermutation, bool withRepetition, bool withLowerGroups) { _dataset = list; int n = list.Length; int nbRow = 0; for (int kk = withLowerGroups ? 1 : k; kk <= k; kk++) nbRow += CombinaisonCount(n, kk, withPermutation, withRepetition); _resultArray = ExcelArray<object>.Create(nbRow, k); _row = 0; for (int kk = withLowerGroups ? 1 : k; kk <= k; kk++) { if (withPermutation) { if (withRepetition) PermuteRepeat(n, kk, 0); else Permute(n, kk, 0); } else { if (withRepetition) CombinateRepeat(n, kk, 0); else Combinate(n, kk, 0); } } }
public override void Open() { if( this.queryID != 0 ) return; lock(this) { this.queryID = srv_Prepare(); srv_OpenSQL(); InternalInitFieldDefs(); First(); this.opened = true; this.values = null; this.lastRowNo = -1; this.firstRowNo = -1; } }
static SAMStoreCtx() { SAMStoreCtx.ObjectMask objectMask; SAMStoreCtx.ObjectMask objectMask1 = SAMStoreCtx.ObjectMask.None; object[,] fromWinNTConverterDelegate = new object[53, 5]; fromWinNTConverterDelegate[0, 0] = "Principal.DisplayName"; fromWinNTConverterDelegate[0, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[0, 2] = "FullName"; fromWinNTConverterDelegate[0, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter); fromWinNTConverterDelegate[0, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter); fromWinNTConverterDelegate[1, 0] = "Principal.Description"; fromWinNTConverterDelegate[1, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[1, 2] = "Description"; fromWinNTConverterDelegate[1, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter); fromWinNTConverterDelegate[1, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter); fromWinNTConverterDelegate[2, 0] = "Principal.Description"; fromWinNTConverterDelegate[2, 1] = typeof(GroupPrincipal); fromWinNTConverterDelegate[2, 2] = "Description"; fromWinNTConverterDelegate[2, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter); fromWinNTConverterDelegate[2, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter); fromWinNTConverterDelegate[3, 0] = "Principal.SamAccountName"; fromWinNTConverterDelegate[3, 1] = typeof(Principal); fromWinNTConverterDelegate[3, 2] = "Name"; fromWinNTConverterDelegate[3, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.SamAccountNameFromWinNTConverter); fromWinNTConverterDelegate[4, 0] = "Principal.Sid"; fromWinNTConverterDelegate[4, 1] = typeof(Principal); fromWinNTConverterDelegate[4, 2] = "objectSid"; fromWinNTConverterDelegate[4, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.SidFromWinNTConverter); fromWinNTConverterDelegate[5, 0] = "Principal.DistinguishedName"; fromWinNTConverterDelegate[5, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[5, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[6, 0] = "Principal.Guid"; fromWinNTConverterDelegate[6, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[6, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[7, 0] = "Principal.UserPrincipalName"; fromWinNTConverterDelegate[7, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[7, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[8, 0] = "Principal.Name"; fromWinNTConverterDelegate[8, 1] = typeof(Principal); fromWinNTConverterDelegate[8, 2] = "Name"; fromWinNTConverterDelegate[8, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.SamAccountNameFromWinNTConverter); fromWinNTConverterDelegate[9, 0] = "AuthenticablePrincipal.Enabled"; fromWinNTConverterDelegate[9, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[9, 2] = "UserFlags"; fromWinNTConverterDelegate[9, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[9, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[10, 0] = "AuthenticablePrincipal.Certificates"; fromWinNTConverterDelegate[10, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[10, 2] = "*******"; fromWinNTConverterDelegate[10, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.CertFromWinNTConverter); fromWinNTConverterDelegate[10, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.CertToWinNT); fromWinNTConverterDelegate[11, 0] = "GroupPrincipal.IsSecurityGroup"; fromWinNTConverterDelegate[11, 1] = typeof(GroupPrincipal); fromWinNTConverterDelegate[11, 2] = "*******"; fromWinNTConverterDelegate[11, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.GroupTypeFromWinNTConverter); fromWinNTConverterDelegate[11, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.GroupTypeToWinNTConverter); fromWinNTConverterDelegate[12, 0] = "GroupPrincipal.GroupScope"; fromWinNTConverterDelegate[12, 1] = typeof(GroupPrincipal); fromWinNTConverterDelegate[12, 2] = "groupType"; fromWinNTConverterDelegate[12, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.GroupTypeFromWinNTConverter); fromWinNTConverterDelegate[12, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.GroupTypeToWinNTConverter); fromWinNTConverterDelegate[13, 0] = "UserPrincipal.EmailAddress"; fromWinNTConverterDelegate[13, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[13, 2] = "*******"; fromWinNTConverterDelegate[13, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.EmailFromWinNTConverter); fromWinNTConverterDelegate[13, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.EmailToWinNTConverter); fromWinNTConverterDelegate[14, 0] = "AuthenticablePrincipal.AccountInfo.LastLogon"; fromWinNTConverterDelegate[14, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[14, 2] = "LastLogin"; fromWinNTConverterDelegate[14, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.DateFromWinNTConverter); fromWinNTConverterDelegate[15, 0] = "AuthenticablePrincipal.AccountInfo.PermittedWorkstations"; fromWinNTConverterDelegate[15, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[15, 2] = "LoginWorkstations"; fromWinNTConverterDelegate[15, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.MultiStringFromWinNTConverter); fromWinNTConverterDelegate[15, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.MultiStringToWinNTConverter); fromWinNTConverterDelegate[16, 0] = "AuthenticablePrincipal.AccountInfo.PermittedLogonTimes"; fromWinNTConverterDelegate[16, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[16, 2] = "LoginHours"; fromWinNTConverterDelegate[16, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.BinaryFromWinNTConverter); fromWinNTConverterDelegate[16, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.LogonHoursToWinNTConverter); fromWinNTConverterDelegate[17, 0] = "AuthenticablePrincipal.AccountInfo.AccountExpirationDate"; fromWinNTConverterDelegate[17, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[17, 2] = "AccountExpirationDate"; fromWinNTConverterDelegate[17, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.DateFromWinNTConverter); fromWinNTConverterDelegate[17, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.AcctExpirDateToNTConverter); fromWinNTConverterDelegate[18, 0] = "AuthenticablePrincipal.AccountInfo.SmartcardLogonRequired"; fromWinNTConverterDelegate[18, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[18, 2] = "UserFlags"; fromWinNTConverterDelegate[18, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[18, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[19, 0] = "AuthenticablePrincipal.AccountInfo.DelegationPermitted"; fromWinNTConverterDelegate[19, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[19, 2] = "UserFlags"; fromWinNTConverterDelegate[19, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[19, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[20, 0] = "AuthenticablePrincipal.AccountInfo.BadLogonCount"; fromWinNTConverterDelegate[20, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[20, 2] = "BadPasswordAttempts"; fromWinNTConverterDelegate[20, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.IntFromWinNTConverter); fromWinNTConverterDelegate[21, 0] = "AuthenticablePrincipal.AccountInfo.HomeDirectory"; fromWinNTConverterDelegate[21, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[21, 2] = "HomeDirectory"; fromWinNTConverterDelegate[21, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter); fromWinNTConverterDelegate[21, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter); fromWinNTConverterDelegate[22, 0] = "AuthenticablePrincipal.AccountInfo.HomeDrive"; fromWinNTConverterDelegate[22, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[22, 2] = "HomeDirDrive"; fromWinNTConverterDelegate[22, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter); fromWinNTConverterDelegate[22, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter); fromWinNTConverterDelegate[23, 0] = "AuthenticablePrincipal.AccountInfo.ScriptPath"; fromWinNTConverterDelegate[23, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[23, 2] = "LoginScript"; fromWinNTConverterDelegate[23, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.StringFromWinNTConverter); fromWinNTConverterDelegate[23, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.StringToWinNTConverter); fromWinNTConverterDelegate[24, 0] = "AuthenticablePrincipal.PasswordInfo.LastPasswordSet"; fromWinNTConverterDelegate[24, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[24, 2] = "PasswordAge"; fromWinNTConverterDelegate[24, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.ElapsedTimeFromWinNTConverter); fromWinNTConverterDelegate[25, 0] = "AuthenticablePrincipal.PasswordInfo.LastBadPasswordAttempt"; fromWinNTConverterDelegate[25, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[25, 2] = "*******"; fromWinNTConverterDelegate[25, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.LastBadPwdAttemptFromWinNTConverter); fromWinNTConverterDelegate[26, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNotRequired"; fromWinNTConverterDelegate[26, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[26, 2] = "UserFlags"; fromWinNTConverterDelegate[26, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[26, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[27, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNeverExpires"; fromWinNTConverterDelegate[27, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[27, 2] = "UserFlags"; fromWinNTConverterDelegate[27, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[27, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[28, 0] = "AuthenticablePrincipal.PasswordInfo.UserCannotChangePassword"; fromWinNTConverterDelegate[28, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[28, 2] = "UserFlags"; fromWinNTConverterDelegate[28, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[28, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[29, 0] = "AuthenticablePrincipal.PasswordInfo.AllowReversiblePasswordEncryption"; fromWinNTConverterDelegate[29, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[29, 2] = "UserFlags"; fromWinNTConverterDelegate[29, 3] = new SAMStoreCtx.FromWinNTConverterDelegate(SAMStoreCtx.UserFlagsFromWinNTConverter); fromWinNTConverterDelegate[29, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.UserFlagsToWinNTConverter); fromWinNTConverterDelegate[30, 0] = "UserPrincipal.GivenName"; fromWinNTConverterDelegate[30, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[30, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[31, 0] = "UserPrincipal.MiddleName"; fromWinNTConverterDelegate[31, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[31, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[32, 0] = "UserPrincipal.Surname"; fromWinNTConverterDelegate[32, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[32, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[33, 0] = "UserPrincipal.VoiceTelephoneNumber"; fromWinNTConverterDelegate[33, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[33, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[34, 0] = "UserPrincipal.EmployeeId"; fromWinNTConverterDelegate[34, 1] = typeof(UserPrincipal); fromWinNTConverterDelegate[34, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[35, 0] = "Principal.DisplayName"; fromWinNTConverterDelegate[35, 1] = typeof(GroupPrincipal); fromWinNTConverterDelegate[35, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[36, 0] = "Principal.DisplayName"; fromWinNTConverterDelegate[36, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[36, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[37, 0] = "Principal.Description"; fromWinNTConverterDelegate[37, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[37, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[38, 0] = "AuthenticablePrincipal.Enabled"; fromWinNTConverterDelegate[38, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[38, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[39, 0] = "AuthenticablePrincipal.Certificates"; fromWinNTConverterDelegate[39, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[39, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[40, 0] = "ComputerPrincipal.ServicePrincipalNames"; fromWinNTConverterDelegate[40, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[40, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[41, 0] = "AuthenticablePrincipal.AccountInfo.PermittedWorkstations"; fromWinNTConverterDelegate[41, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[41, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[42, 0] = "AuthenticablePrincipal.AccountInfo.PermittedLogonTimes"; fromWinNTConverterDelegate[42, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[42, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[43, 0] = "AuthenticablePrincipal.AccountInfo.AccountExpirationDate"; fromWinNTConverterDelegate[43, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[43, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[44, 0] = "AuthenticablePrincipal.AccountInfo.SmartcardLogonRequired"; fromWinNTConverterDelegate[44, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[44, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[45, 0] = "AuthenticablePrincipal.AccountInfo.DelegationPermitted"; fromWinNTConverterDelegate[45, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[45, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[46, 0] = "AuthenticablePrincipal.AccountInfo.HomeDirectory"; fromWinNTConverterDelegate[46, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[46, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[47, 0] = "AuthenticablePrincipal.AccountInfo.HomeDrive"; fromWinNTConverterDelegate[47, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[47, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[48, 0] = "AuthenticablePrincipal.AccountInfo.ScriptPath"; fromWinNTConverterDelegate[48, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[48, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[49, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNotRequired"; fromWinNTConverterDelegate[49, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[49, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[50, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNeverExpires"; fromWinNTConverterDelegate[50, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[50, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[51, 0] = "AuthenticablePrincipal.PasswordInfo.UserCannotChangePassword"; fromWinNTConverterDelegate[51, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[51, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); fromWinNTConverterDelegate[52, 0] = "AuthenticablePrincipal.PasswordInfo.AllowReversiblePasswordEncryption"; fromWinNTConverterDelegate[52, 1] = typeof(ComputerPrincipal); fromWinNTConverterDelegate[52, 4] = new SAMStoreCtx.ToWinNTConverterDelegate(SAMStoreCtx.ExceptionToWinNTConverter); SAMStoreCtx.propertyMappingTableRaw = fromWinNTConverterDelegate; SAMStoreCtx.userPropertyMappingTableByProperty = null; SAMStoreCtx.userPropertyMappingTableByWinNT = null; SAMStoreCtx.groupPropertyMappingTableByProperty = null; SAMStoreCtx.groupPropertyMappingTableByWinNT = null; SAMStoreCtx.computerPropertyMappingTableByProperty = null; SAMStoreCtx.computerPropertyMappingTableByWinNT = null; SAMStoreCtx.ValidPropertyMap = null; SAMStoreCtx.MaskMap = null; SAMStoreCtx.userPropertyMappingTableByProperty = new Hashtable(); SAMStoreCtx.userPropertyMappingTableByWinNT = new Hashtable(); SAMStoreCtx.groupPropertyMappingTableByProperty = new Hashtable(); SAMStoreCtx.groupPropertyMappingTableByWinNT = new Hashtable(); SAMStoreCtx.computerPropertyMappingTableByProperty = new Hashtable(); SAMStoreCtx.computerPropertyMappingTableByWinNT = new Hashtable(); SAMStoreCtx.ValidPropertyMap = new Dictionary<string, SAMStoreCtx.ObjectMask>(); SAMStoreCtx.MaskMap = new Dictionary<Type, SAMStoreCtx.ObjectMask>(); SAMStoreCtx.MaskMap.Add(typeof(UserPrincipal), SAMStoreCtx.ObjectMask.User); SAMStoreCtx.MaskMap.Add(typeof(ComputerPrincipal), SAMStoreCtx.ObjectMask.Computer); SAMStoreCtx.MaskMap.Add(typeof(GroupPrincipal), SAMStoreCtx.ObjectMask.Group); SAMStoreCtx.MaskMap.Add(typeof(Principal), SAMStoreCtx.ObjectMask.Principal); for (int i = 0; i < SAMStoreCtx.propertyMappingTableRaw.GetLength(0); i++) { string arrayLists = SAMStoreCtx.propertyMappingTableRaw[i, 0] as string; Type type = SAMStoreCtx.propertyMappingTableRaw[i, 1] as Type; string str = SAMStoreCtx.propertyMappingTableRaw[i, 2] as string; SAMStoreCtx.FromWinNTConverterDelegate fromWinNTConverterDelegate1 = SAMStoreCtx.propertyMappingTableRaw[i, 3] as SAMStoreCtx.FromWinNTConverterDelegate; SAMStoreCtx.ToWinNTConverterDelegate toWinNTConverterDelegate = SAMStoreCtx.propertyMappingTableRaw[i, 4] as SAMStoreCtx.ToWinNTConverterDelegate; SAMStoreCtx.PropertyMappingTableEntry propertyMappingTableEntry = new SAMStoreCtx.PropertyMappingTableEntry(); propertyMappingTableEntry.propertyName = arrayLists; propertyMappingTableEntry.suggestedWinNTPropertyName = str; propertyMappingTableEntry.winNTToPapiConverter = fromWinNTConverterDelegate1; propertyMappingTableEntry.papiToWinNTConverter = toWinNTConverterDelegate; List<Hashtable> hashtables = new List<Hashtable>(); List<Hashtable> hashtables1 = new List<Hashtable>(); if (type != typeof(UserPrincipal)) { if (type != typeof(ComputerPrincipal)) { if (type != typeof(GroupPrincipal)) { hashtables.Add(SAMStoreCtx.userPropertyMappingTableByProperty); hashtables.Add(SAMStoreCtx.computerPropertyMappingTableByProperty); hashtables.Add(SAMStoreCtx.groupPropertyMappingTableByProperty); hashtables1.Add(SAMStoreCtx.userPropertyMappingTableByWinNT); hashtables1.Add(SAMStoreCtx.computerPropertyMappingTableByWinNT); hashtables1.Add(SAMStoreCtx.groupPropertyMappingTableByWinNT); objectMask = SAMStoreCtx.ObjectMask.Principal; } else { hashtables.Add(SAMStoreCtx.groupPropertyMappingTableByProperty); hashtables1.Add(SAMStoreCtx.groupPropertyMappingTableByWinNT); objectMask = SAMStoreCtx.ObjectMask.Group; } } else { hashtables.Add(SAMStoreCtx.computerPropertyMappingTableByProperty); hashtables1.Add(SAMStoreCtx.computerPropertyMappingTableByWinNT); objectMask = SAMStoreCtx.ObjectMask.Computer; } } else { hashtables.Add(SAMStoreCtx.userPropertyMappingTableByProperty); hashtables1.Add(SAMStoreCtx.userPropertyMappingTableByWinNT); objectMask = SAMStoreCtx.ObjectMask.User; } if (str == null || str == "*******") { objectMask = SAMStoreCtx.ObjectMask.None; } if (!SAMStoreCtx.ValidPropertyMap.TryGetValue(arrayLists, out objectMask1)) { SAMStoreCtx.ValidPropertyMap.Add(arrayLists, objectMask); } else { SAMStoreCtx.ValidPropertyMap[arrayLists] = objectMask1 | objectMask; } foreach (Hashtable hashtable in hashtables) { if (hashtable[arrayLists] == null) { hashtable[arrayLists] = new ArrayList(); } ((ArrayList)hashtable[arrayLists]).Add(propertyMappingTableEntry); } if (fromWinNTConverterDelegate1 != null) { string lower = str.ToLower(CultureInfo.InvariantCulture); foreach (Hashtable hashtable1 in hashtables1) { if (hashtable1[lower] == null) { hashtable1[lower] = new ArrayList(); } ((ArrayList)hashtable1[lower]).Add(propertyMappingTableEntry); } } } }
public static void Main(string[] args) { emergency = new string[3] { "Fire! Evacuation", "Bomb! Evacuation", "Gas! Evacuation" }; DateTime arrival1 = DateTime.Now.Subtract(new TimeSpan(2, 0, 0)); DateTime depurture1 = arrival1.AddHours(2); DateTime arrival2 = DateTime.Now.AddHours(3); DateTime depurture2 = arrival2.AddHours(3); DateTime arrival3 = DateTime.Now.AddMinutes(25); DateTime depurture3 = arrival3.AddHours(3.5); airport = new object[maxCountOfFlight, 10]; flightStatus = new string[9] { "Gate closed", "Expected", "Chec-in", "Departed", "In flight", "Arrived", "Delayed", "Unnown", "Canceled" }; object[] nameOfPart = { "Flight number", "Depurture date and time", "Arrival date and time", "City/port of depurture", "City/port of arrival", "Airline", "Terminal", "Status", "Gate" }; object[] plane1 = { "0982", arrival1, depurture1, "Kyiv", "Lviv", "MAU", "C", "", 2 }; object[] plane2 = { "3029", arrival2, depurture2, "Lviv", "London", "MAU", "A", "", 4 }; object[] plane3 = { "1046", arrival3, depurture3, "London", "Moscow", "MAU", "E", "", 3 }; AddFlight(nameOfPart); AddFlight(plane2); AddFlight(plane1); AddFlight(plane3); while (stayAtProgram) { if (countOfFlight == maxCountOfFlight) { maxCountOfFlight += 5; airport = ExpandArray(airport); } for (int i = 0; i < emergencyStatus.Length; i++) { if (emergencyStatus[i]) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"{emergency[i]}\n"); Console.ResetColor(); } } if (firstLoop) { Console.WriteLine("This is menu, were you can choise what you want to do"); } else { Console.WriteLine("Choise somesing"); } Console.WriteLine($"1.Add new flight\n2.Remove flight\n3.Editing information\n4.Search by data\n" + $"5.Upcoming flights\n6.Give all information about flight\n7.Emergency\n8.Get automatic status\n9.Exit\n"); var choise = Console.ReadLine(); firstLoop = false; Console.Clear(); switch (choise) { case "1": AddFlight(); break; case "2": RemoveFlight(); break; case "3": EditingInformation(); break; case "4": SearchByData(); break; case "5": UpcomingFlight(); break; case "6": GiveAllInformation(); break; case "7": Emergency(); break; case "8": FlightStatus(); break; case "9": stayAtProgram = false; break; default: Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Pelase, choose one operation\n"); Console.ResetColor(); break; } } Console.WriteLine("Thanks for choosing our program"); }
static QbeMatcher() { object[,] matcherDelegate = new object[22, 3]; matcherDelegate[0, 0] = typeof(DescriptionFilter); matcherDelegate[0, 1] = "Description"; matcherDelegate[0, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher); matcherDelegate[1, 0] = typeof(DisplayNameFilter); matcherDelegate[1, 1] = "FullName"; matcherDelegate[1, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher); matcherDelegate[2, 0] = typeof(SidFilter); matcherDelegate[2, 1] = "objectSid"; matcherDelegate[2, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.SidMatcher); matcherDelegate[3, 0] = typeof(SamAccountNameFilter); matcherDelegate[3, 1] = "Name"; matcherDelegate[3, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.SamAccountNameMatcher); matcherDelegate[4, 0] = typeof(AuthPrincEnabledFilter); matcherDelegate[4, 1] = "UserFlags"; matcherDelegate[4, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[5, 0] = typeof(PermittedWorkstationFilter); matcherDelegate[5, 1] = "LoginWorkstations"; matcherDelegate[5, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.MultiStringMatcher); matcherDelegate[6, 0] = typeof(PermittedLogonTimesFilter); matcherDelegate[6, 1] = "LoginHours"; matcherDelegate[6, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.BinaryMatcher); matcherDelegate[7, 0] = typeof(ExpirationDateFilter); matcherDelegate[7, 1] = "AccountExpirationDate"; matcherDelegate[7, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.ExpirationDateMatcher); matcherDelegate[8, 0] = typeof(SmartcardLogonRequiredFilter); matcherDelegate[8, 1] = "UserFlags"; matcherDelegate[8, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[9, 0] = typeof(DelegationPermittedFilter); matcherDelegate[9, 1] = "UserFlags"; matcherDelegate[9, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[10, 0] = typeof(HomeDirectoryFilter); matcherDelegate[10, 1] = "HomeDirectory"; matcherDelegate[10, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher); matcherDelegate[11, 0] = typeof(HomeDriveFilter); matcherDelegate[11, 1] = "HomeDirDrive"; matcherDelegate[11, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher); matcherDelegate[12, 0] = typeof(ScriptPathFilter); matcherDelegate[12, 1] = "LoginScript"; matcherDelegate[12, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.StringMatcher); matcherDelegate[13, 0] = typeof(PasswordNotRequiredFilter); matcherDelegate[13, 1] = "UserFlags"; matcherDelegate[13, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[14, 0] = typeof(PasswordNeverExpiresFilter); matcherDelegate[14, 1] = "UserFlags"; matcherDelegate[14, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[15, 0] = typeof(CannotChangePasswordFilter); matcherDelegate[15, 1] = "UserFlags"; matcherDelegate[15, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[16, 0] = typeof(AllowReversiblePasswordEncryptionFilter); matcherDelegate[16, 1] = "UserFlags"; matcherDelegate[16, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.UserFlagsMatcher); matcherDelegate[17, 0] = typeof(GroupScopeFilter); matcherDelegate[17, 1] = "groupType"; matcherDelegate[17, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.GroupTypeMatcher); matcherDelegate[18, 0] = typeof(ExpiredAccountFilter); matcherDelegate[18, 1] = "AccountExpirationDate"; matcherDelegate[18, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.DateTimeMatcher); matcherDelegate[19, 0] = typeof(LastLogonTimeFilter); matcherDelegate[19, 1] = "LastLogin"; matcherDelegate[19, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.DateTimeMatcher); matcherDelegate[20, 0] = typeof(PasswordSetTimeFilter); matcherDelegate[20, 1] = "PasswordAge"; matcherDelegate[20, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.DateTimeMatcher); matcherDelegate[21, 0] = typeof(BadLogonCountFilter); matcherDelegate[21, 1] = "BadPasswordAttempts"; matcherDelegate[21, 2] = new QbeMatcher.MatcherDelegate(QbeMatcher.IntMatcher); QbeMatcher.filterPropertiesTableRaw = matcherDelegate; QbeMatcher.filterPropertiesTable = null; QbeMatcher.filterPropertiesTable = new Hashtable(); for (int i = 0; i < QbeMatcher.filterPropertiesTableRaw.GetLength(0); i++) { Type type = QbeMatcher.filterPropertiesTableRaw[i, 0] as Type; string str = QbeMatcher.filterPropertiesTableRaw[i, 1] as string; QbeMatcher.MatcherDelegate matcherDelegate1 = QbeMatcher.filterPropertiesTableRaw[i, 2] as QbeMatcher.MatcherDelegate; QbeMatcher.FilterPropertyTableEntry filterPropertyTableEntry = new QbeMatcher.FilterPropertyTableEntry(); filterPropertyTableEntry.winNTPropertyName = str; filterPropertyTableEntry.matcher = matcherDelegate1; QbeMatcher.filterPropertiesTable[type] = filterPropertyTableEntry; } }
///<summary> /// Sttrips a surface: expiry by strike, from a flattened cube, excluding the strike headers. ///</summary> ///<param name="inputRange">The input data range.</param> ///<param name="tenorFilter">The tenor string to filter on.</param> ///<param name="numTenors">The number of tenors.</param> ///<param name="strikes">The strike array.</param> ///<returns></returns> public static object[,] FilterSurfaceWithExpiries(object[,] inputRange, String tenorFilter, int numTenors, Double[] strikes) { var result = GetTenorSurfaceFromCube3(inputRange, tenorFilter, numTenors, strikes); return(result); }
internal void ClearCache() { this.cachedData = null; }
private static void DoGen <T>(object[,] arr) { // Here, the array type is known statically at the time of compilation PassByRef(ref arr[0, 0]); }
public static void LoadXLSX(string filename) { Excel.Application app = new Excel.Application(); app.EnableSound = false; Excel.Workbook workbook = app.Workbooks.Open(filename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Sheets["Dados"]; int n = Convert.ToInt32(((Excel.Range)(worksheet.Cells[2, 1])).Value2); int m = nAf = Convert.ToInt32(((Excel.Range)(worksheet.Cells[4, 1])).Value2); int r = Convert.ToInt32(((Excel.Range)(worksheet.Cells[6, 1])).Value2); int h = Convert.ToInt32(((Excel.Range)(worksheet.Cells[8, 1])).Value2); int nTa = 0; LoadData(n, nAf, nTa, m, r, h); worksheet = (Excel.Worksheet)workbook.Sheets["Prescrições"]; Excel.Range range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * m + 2, 17)); object[,] values = (object[, ])range.Value2; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { mReceita[i, j] = Convert.ToDouble(values[i * m + j + 1, 9]); mVPL[i, j] = Convert.ToDouble(values[i * m + j + 1, 10]); mColheita[i, j] = Convert.ToDouble(values[i * m + j + 1, 11]); mBaldeio[i, j] = Convert.ToDouble(values[i * m + j + 1, 12]); mTransporte[i, j] = Convert.ToDouble(values[i * m + j + 1, 13]); mSilvicultura[i, j] = Convert.ToDouble(values[i * m + j + 1, 14]); mImplantacao[i, j] = Convert.ToDouble(values[i * m + j + 1, 15]); mAnteriores[i, j] = Convert.ToDouble(values[i * m + j + 1, 16]); mCustosMedios[i, j] = Convert.ToDouble(values[i * m + j + 1, 17]); } } for (int i = 0; i < n; i++) { talhoes[i] = new Talhao(); talhoes[i].area = Convert.ToDouble(values[i * m + 1, 2]); talhoes[i].id = Convert.ToInt32(values[i * m + 1, 1]); talhoes[i].idade = Convert.ToInt32(values[i * m + 1, 3]); talhoes[i].regime = (string)values[i * m + 12, 4]; } worksheet = (Excel.Worksheet)workbook.Sheets["mCorte"]; range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * m + 2, h)); values = (object[, ])range.Value2; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { for (int k = 0; k < h; k++) { mCorte[i, j, k] = Convert.ToInt32(Convert.ToDouble(values[i * m + j + 1, k + 1])) == 1; } } } worksheet = (Excel.Worksheet)workbook.Sheets["mRegArea"]; range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * m + 2, r)); values = (object[, ])range.Value2; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { for (int k = 0; k < r; k++) { mRegArea[i, j, k] = Convert.ToDouble(values[i * m + j + 1, k + 1]); } } } worksheet = (Excel.Worksheet)workbook.Sheets["mVolume"]; range = worksheet.get_Range(CellFormat(2, 3), CellFormat(n * m + 2, h + 2)); values = (object[, ])range.Value2; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { for (int k = 0; k < h; k++) { mVolume[i, j, k] = Convert.ToDouble(values[i * m + j + 1, k + 1]); } } } volumeMedio = 0; //Soma do volume das prescrições de um talhão double somaTalhao = 0; //Soma os resultados de cada ano for (int k = 0; k < h; k++) { //Soma as médias das prescrições dos talhões em um ano for (int i = 0; i < n; i++) { somaTalhao = 0; //Soma as prescrições de um talhão for (int j = 0; j < m; j++) { if (mVolume[i, j, k] != 0) { somaTalhao += mVolume[i, j, k]; } } volumeMedio += somaTalhao / m; } } volumeMedio /= h; worksheet = (Excel.Worksheet)workbook.Sheets["mAdj"]; range = worksheet.get_Range(CellFormat(2, 3), CellFormat(n + 2, n + 2)); values = (object[, ])range.Value2; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (Convert.ToInt32(Convert.ToDouble(values[i + 1, j + 1])) == 1) { talhoes[i].vizinhos.Add(j); } mAdj[i, j] = Convert.ToInt32(Convert.ToDouble(values[i + 1, j + 1])) == 1; } } worksheet = (Excel.Worksheet)workbook.Sheets["mDistancia"]; range = worksheet.get_Range(CellFormat(2, 1), CellFormat(n * n + 2, 3)); values = (object[, ])range.Value2; int n2 = n * n; for (int i = 0; i < n2; i++) { mDistancia[Convert.ToInt32(values[i + 1, 1]) - 1, Convert.ToInt32(values[i + 1, 2]) - 1] = Convert.ToDouble(values[i + 1, 3]); } worksheet = (Excel.Worksheet)workbook.Sheets["Dados"]; double volMin = Convert.ToDouble(((Excel.Range)(worksheet.Cells[10, 1])).Value2); double volMax = Convert.ToDouble(((Excel.Range)(worksheet.Cells[12, 1])).Value2); double alfaRegArea = Convert.ToDouble(((Excel.Range)(worksheet.Cells[14, 1])).Value2); double alfaRegVol = Convert.ToDouble(((Excel.Range)(worksheet.Cells[16, 1])).Value2); double betaRegVol = Convert.ToDouble(((Excel.Range)(worksheet.Cells[18, 1])).Value2); double alfa = Convert.ToDouble(((Excel.Range)(worksheet.Cells[20, 1])).Value2); double beta = Convert.ToDouble(((Excel.Range)(worksheet.Cells[22, 1])).Value2); double gama = Convert.ToDouble(((Excel.Range)(worksheet.Cells[24, 1])).Value2); double areaTotal = talhoes.Aggregate(0.0, (acc, p) => acc + p.area); LoadParams(volMin, volMax, alfaRegArea, areaTotal, alfaRegVol, betaRegVol, volumeMedio, alfa, beta, gama); workbook.Close(0); app.Quit(); }
public ChessBoard(object[,] board) { this.pieces = board; // NOTE: still need to adjust AvailablePieces___ and validate board to impliment this fully. }
public ChessBoard() { this.pieces = new object[MaxBoardHeight + 1, MaxBoardWidth + 1]; PieceCounts = new AvailablePieces(); }
void InitInfo() { //rowCollection = new object[19, 11]{ //{"编号ID","名字Name)" ,"图标Icon" ,"种类 EquipType","卖出价","购买价","生命值","攻击力","攻击速度","集气速度","移动速度"}, //{"11","上衣(红)" ,"Armor_1" ,"Armor" ,"100" ,"120" ,"200" ,"0" ,"0" ,"0" ,"0"}, //{"12","上衣(黑)" ,"Armor_2" ,"Armor" ,"101" ,"200" ,"300" ,"0" ,"0" ,"0" ,"0"}, //{"13","上衣(紫)" ,"Armor_3" ,"Armor" ,"102" ,"350" ,"400" ,"0" ,"0" ,"0" ,"0"}, //{"14","上衣(黑红)" ,"Armor_4" ,"Armor" ,"103" ,"400" ,"500" ,"0" ,"0" ,"0" ,"0"}, //{"15","上衣(紫黄)" ,"Armor_5" ,"Armor" ,"104" ,"450" ,"600" ,"0" ,"0" ,"0" ,"0"}, //{"16","上衣(红黑)" ,"Armor_6" ,"Armor" ,"105" ,"999" ,"1000" ,"0" ,"0" ,"0" ,"0"}, //{"21","鞋子(紫黄)" ,"shoes_1" ,"shoes" ,"75" ,"60" ,"0" ,"0" ,"0" ,"0" ,"1.0"}, //{"22","鞋子(黑灰)" ,"shoes_2" ,"shoes" ,"76" ,"80" ,"0" ,"0" ,"0" ,"0" ,"1.5"}, //{"23","鞋子(紫黄)" ,"shoes_3" ,"shoes" ,"77" ,"120" ,"0" ,"0" ,"0" ,"0" ,"2.0"}, //{"24","鞋子(黑黄)" ,"shoes_4" ,"shoes" ,"78" ,"200" ,"0" ,"0" ,"0" ,"0" ,"2.5"}, //{"25","鞋子(蓝黑银)" ,"shoes_5" ,"shoes" ,"79" ,"230" ,"0" ,"0" ,"0" ,"0" ,"3.0"}, //{"26","鞋子(紫黑黄)" ,"shoes_6" ,"shoes" ,"80" ,"666" ,"0" ,"0" ,"0" ,"0" ,"4.0"}, //{"31","武器(深紫黑剑)","weapon_1","weapon" ,"120" ,"120" ,"0" ,"5" ,"0.2" ,"2" ,"0"}, //{"32","武器(紫黑银健)","weapon_2","weapon" ,"121" ,"200" ,"0" ,"7" ,"0.3" ,"4" ,"0"}, //{"33","武器(红黑银剑)","weapon_3","weapon" ,"122" ,"300" ,"0" ,"10" ,"0.4" ,"5" ,"0"}, //{"34","武器(深红黑剑)","weapon_4","weapon" ,"123" ,"450" ,"0" ,"20" ,"0.5" ,"7" ,"0"}, //{"35","武器(银黑红剑)","weapon_5","weapon" ,"124" ,"600" ,"0" ,"32" ,"0.6" ,"8" ,"0"}, //{"36","武器(黄紫项链)","weapon_6","weapon" ,"125" ,"999" ,"0" ,"70" ,"1.0" ,"15" ,"0"}, //}; rowCollection = new object[37, 12] { { "编号ID", "名字Name)", "图标Icon", "种类 ", "卖出价", "购买价", "生命值%", "攻击力%", "攻击速度%", "集气速度%", "移动速度%", "气力值" }, { "11", "上衣(1级)", "Armor_1", "Armor", "1000", "2000", "25", "0", "0", "0", "0", "0" }, { "12", "上衣(2级)", "Armor_2", "Armor", "2000", "4000", "50", "0", "0", "0", "0", "0" }, { "13", "上衣(3级)", "Armor_3", "Armor", "5000", "10000", "100", "0", "0", "0", "0", "0" }, { "14", "上衣(4级)", "Armor_4", "Armor", "10000", "20000", "150", "0", "0", "0", "0", "0" }, { "15", "上衣(5级)", "Armor_5", "Armor", "25000", "50000", "200", "0", "0", "0", "0", "0" }, { "16", "上衣(6级)", "Armor_6", "Armor", "50000", "100000", "300", "0", "0", "0", "0", "0" }, { "21", "鞋子(1级)", "shoes_1", "shoes", "1000", "2000", "0", "0", "0", "0", "5.0", "0" }, { "22", "鞋子(2级)", "shoes_2", "shoes", "2000", "4000", "0", "0", "0", "0", "10.0", "0" }, { "23", "鞋子(3级)", "shoes_3", "shoes", "5000", "10000", "0", "0", "0", "0", "20.0", "0" }, { "24", "鞋子(4级)", "shoes_4", "shoes", "10000", "20000", "0", "0", "0", "0", "30.5", "0" }, { "25", "鞋子(5级)", "shoes_5", "shoes", "25000", "50000", "0", "0", "0", "0", "40.0", "0" }, { "26", "鞋子(6级)", "shoes_6", "shoes", "50000", "100000", "0", "0", "0", "0", "50.0", "0" }, { "31", "武器(1级剑)", "weapon_1", "weapon", "1000", "2000", "0", "25", "0", "0", "0", "0" }, { "32", "武器(2级剑)", "weapon_2", "weapon", "2000", "4000", "0", "50", "0", "0", "0", "0" }, { "33", "武器(3级剑)", "weapon_3", "weapon", "5000", "10000", "0", "100", "0", "0", "0", "0" }, { "34", "武器(4级剑)", "weapon_4", "weapon", "10000", "20000", "0", "200", "0", "0", "0", "0" }, { "35", "武器(5级剑)", "weapon_5", "weapon", "25000", "50000", "0", "300", "0", "0", "0", "0" }, { "36", "武器(6级项剑)", "weapon_6", "weapon", "50000", "100000", "0", "400", "0", "0", "0", "0" }, //19 { "41", "护腕(1级)", "bracer_1", "bracer", "1000", "2000", "0", "0", "50", "0", "0", "0" }, { "42", "护腕(2级)", "bracer_2", "bracer", "2000", "4000", "0", "0", "10", "0", "0", "0" }, { "43", "护腕(3级)", "bracer_3", "bracer", "5000", "10000", "0", "0", "20", "0", "0", "0" }, { "44", "护腕(4级)", "bracer_4", "bracer", "10000", "20000", "0", "0", "30", "0", "0", "0" }, { "45", "护腕(5级)", "bracer_5", "bracer", "25000", "50000", "0", "0", "40", "0", "0", "0" }, { "46", "护腕(6级)", "bracer_6", "bracer", "50000", "100000", "0", "0", "50", "0", "0", "0" }, //25 { "51", "项链(1级)", "necklace_1", "necklace", "1000", "2000", "0", "0", "0", "10", "0", "0" }, { "52", "项链(2级)", "necklace_2", "necklace", "2000", "4000", "0", "0", "0", "25", "0", "0" }, { "53", "项链(3级)", "necklace_3", "necklace", "5000", "10000", "0", "0", "0", "50", "0", "0" }, { "54", "项链(4级)", "necklace_4", "necklace", "10000", "20000", "0", "0", "0", "100", "0", "0" }, { "55", "项链(5级)", "necklace_5", "necklace", "25000", "50000", "0", "0", "0", "150", "0", "0" }, { "56", "项链(6级)", "necklace_6", "necklace", "50000", "100000", "0", "0", "0", "200", "0", "0" }, //31 //{"编号ID","名字Name)" ,"图标Icon" ,"种类 ","卖出价","购买价" ,"生命值","攻击力%","攻击速度%","集气速度%","移动速度%","气力值"},//生命值和气力值直接加 //恢复当前生命的气力值 { "61", "药物(气力药小)", "drug_1", "drug", "1000", "2000", "0", "0", "0", "0", "0", "20" }, { "62", "药物(气力药中)", "drug_2", "drug", "2000", "4000", "0", "0", "0", "0", "0", "60" }, { "63", "药物(气力药大)", "drug_3", "drug", "5000", "10000", "0", "0", "0", "0", "0", "100" }, //恢复当前气力的生命值 { "64", "药物(生命药小)", "drug_4", "drug", "500", "2000", "100", "0", "0", "0", "0", "0" }, { "65", "药物(生命药中)", "drug_5", "drug", "2000", "4000", "400", "0", "0", "0", "0", "0" }, { "66", "药物(生命药大)", "drug_6", "drug", "5000", "10000", "800", "0", "0", "0", "0", "0" }, //39 }; }
public ExcelRowBase(int index) { data = new object[2, index + 1]; }
private void Clear() { selectedHeroRow = moveRow; selectedHeroCol = moveCol; clearMoveOptions(); rowPlot.Clear(); colPlot.Clear(); index = 0; position = null; position = new object[15, 15]; }
private void Clear() { clearMoveOptions(); rowPlot.Clear(); colPlot.Clear(); index = 0; position = null; position = new object[15, 15]; }
private List <string> correctExcel(string[] strFileNames) { List <string> correctFiles = new List <string>(); bool isCopy = false; object missing = System.Reflection.Missing.Value; Excel.Application excel = new Excel.ApplicationClass();//lauch excel application if (excel == null) { new Exception("未能打开Excel文件!"); } for (int index = 0; index < strFileNames.Length; index++) { excel.Visible = false; excel.UserControl = true; // 打开EXCEL文件 Excel.Workbook wb = null; Excel.Worksheet ws = null; try { wb = excel.Application.Workbooks.Open(strFileNames[index], missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); //取得第一个工作薄 ws = (Excel.Worksheet)wb.Worksheets.get_Item(1); } catch { progressBar1.Value = index + 1; lblProgress.Text = "进度:" + progressBar1.Value.ToString() + "/" + strFileNames.Length.ToString() + " 检验:" + strFileNames[index]; continue; } //取得总记录行数 (包括标题列) int rowsint = ws.UsedRange.Cells.Rows.Count; //得到行数 int columnsint = ws.UsedRange.Cells.Columns.Count; //得到列数 //int columnsint = mySheet.UsedRange.Cells.Columns.Count; //获取第一行和最后一行数据 (不包括标题列) char endColumn = (char)((int)'A' + columnsint - 1); Excel.Range rngStart = ws.Cells.get_Range("A2", endColumn.ToString() + "2"); Excel.Range rngEnd = ws.Cells.get_Range("A" + rowsint, endColumn.ToString() + rowsint); object[,] arry1 = (object[, ])rngStart.Value2; //get range's value object[,] arry2 = (object[, ])rngEnd.Value2; if (arry1 == null || arry2 == null) { progressBar1.Value = index + 1; lblProgress.Text = "进度:" + progressBar1.Value.ToString() + "/" + strFileNames.Length.ToString() + " 检验:" + strFileNames[index]; continue; } for (int i = 3; i <= arry1.Length; i++) { if (arry1[1, i].Equals(arry2[1, i])) { continue; } else { isCopy = true; break; } } if (isCopy) { for (int i = 1; i <= arry1.Length; i++) { ws.Cells[rowsint + 1, i] = arry1[1, i]; } wb.Save(); correctFiles.Add(strFileNames[index]);//纪录修正的文件 } wb.Close(); progressBar1.Value = index + 1; lblProgress.Text = "进度:" + progressBar1.Value.ToString() + "/" + strFileNames.Length.ToString() + " 检验:" + strFileNames[index]; } excel.Quit(); excel = null; Process[] procs = Process.GetProcessesByName("excel"); foreach (Process pro in procs) { pro.Kill();//没有更好的方法,只有杀掉进程 } GC.Collect(); return(correctFiles); }
// Public methods. /// <summary> /// Resizes the command parameters to match the specified number of parameters and sets. /// </summary> /// <param name="parameters">The number of parameters.</param> /// <param name="sets">The number of sets.</param> public void ResizeParameters(int parameters, int sets) { // Resize the parameters array. this.parameters = (parameters > 0) && (sets > 0) ? new object[parameters, sets] : null; // Raise the command changed event. if (null != this.Changed) this.Changed(this, new PlCommandEventArgs(this)); }
public override OperationBuilder <DeleteDataOperation> DeleteData(string table, string[] keyColumns, object[,] keyValues, string schema = null) { return(_migrationBuilder.DeleteData(table, keyColumns, keyValues, schema)); }
public override OperationBuilder <InsertDataOperation> InsertData(string table, string[] columns, object[,] values, string schema = null) { if (!Exists(_namespace, table, columns[0], values[0, 0])) { return(_migrationBuilder.InsertData(table, columns, values, schema)); } return(null); }
public override OperationBuilder <UpdateDataOperation> UpdateData(string table, string[] keyColumns, object[,] keyValues, string[] columns, object[,] values, string schema = null) { return(_migrationBuilder.UpdateData(table, keyColumns, keyValues, columns, values, schema)); }
public void plotEnPI(Excel.ListObject LO) { groupSheetCollection = new GroupSheetCollection(); groupSheetCollection.PlantName = ((Excel.Worksheet)LO.Parent).Name; groupSheetCollection.WB = (Excel.Workbook)((Excel.Worksheet)LO.Parent).Parent; groupSheetCollection.WBName = groupSheetCollection.WB.Name; masterGroupCollection.Add(groupSheetCollection); groupSheetCollection.regressionIteration = masterGroupCollection.WorkbookNextIteration(groupSheetCollection.WB); // create a data table with the data to be adjusted object[,] sourcerows = ExcelHelpers.getYearArray(LO, Years); DataTable dtSourceData = DataHelper.ConvertToDataTable(LO.HeaderRowRange.Value2 as object[, ], sourcerows); EnPIData = new EnPIDataSet(); EnPIData.WorksheetName = ((Excel.Worksheet)LO.Parent).Name; EnPIData.SourceData = dtSourceData; EnPIData.ListObjectName = LO.Name; EnPIData.BaselineYear = BaselineYear; EnPIData.ModelYear = SelectedYear; EnPIData.ReportYear = ReportYear; //Added By Suman for SEP Changes EnPIData.Years = Years.Cast <string>().ToList(); if (Utilities.Constants.MODEL_TOTAL) { SelectedSources.Add(rsc.GetString("unadjustedTotalColName")); } EnPIData.EnergySourceVariables = SelectedSources; EnPIData.IndependentVariables = SelectedVariables; EnPIData.ProductionVariables = SelectedProduction; EnPIData.BuildingVariables = SelectedBuildings; EnPIData.Init(); ModelSheets = new ModelSheetCollection(); foreach (Utilities.EnergySource src in EnPIData.EnergySources) { ModelSheet aSrc = ModelSheets.Add(src); aSrc.Populate(); aSrc.WS.Visible = Excel.XlSheetVisibility.xlSheetVisible; } AdjustedDataSheet adjData = new AdjustedDataSheet(EnPIData); adjData.Populate(true); EnPISheet results = new EnPISheet(EnPIData, false); results.AdjustedDataSheet = adjData.thisSheet; results.AdjustedData = adjData.AdjustedData; results.Populate(); //EnPISheet senpiresults = new EnPISheet(EnPIData, true); //senpiresults.AdjustedDataSheet = adjData.thisSheet; //senpiresults.AdjustedData = adjData.AdjustedData; //senpiresults.Populate(); SEPSheet sepResults = new SEPSheet(EnPIData); sepResults.AdjustedDataSheet = adjData.thisSheet; sepResults.AdjustedData = adjData.AdjustedData; sepResults.Populate(); if (Globals.ThisAddIn.wizardPane.Visible) { Globals.ThisAddIn.hideWizard(); } // cleanup ExcelHelpers.Cleanup(Globals.ThisAddIn.Application.ActiveWorkbook); }
protected override void Execute(CodeActivityContext context) { //Range xlActiveRange = base.worksheet.UsedRange; var useHeaderRow = (UseHeaderRow != null? UseHeaderRow.Get(context) : false); base.Execute(context); var cells = Cells.Get(context); Microsoft.Office.Interop.Excel.Range range = null; if (string.IsNullOrEmpty(cells)) { range = base.worksheet.UsedRange; //Range last = base.worksheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing); //Range range = base.worksheet.get_Range("A1", last); //int lastUsedRow = range.Row; //int lastUsedColumn = range.Column; } else { range = base.worksheet.get_Range(cells); } //object[,] valueArray = (object[,])range.Value; object[,] valueArray = (object[, ])range.get_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault); var o = ProcessObjects(useHeaderRow, valueArray); System.Data.DataTable dt = o as System.Data.DataTable; dt.TableName = base.worksheet.Name; if (string.IsNullOrEmpty(dt.TableName)) { dt.TableName = "Unknown"; } DataTable.Set(context, dt); //dt.AsEnumerable(); //string json = Newtonsoft.Json.JsonConvert.SerializeObject(dt, Newtonsoft.Json.Formatting.Indented); ////context.SetValue(Json, JObject.Parse(json)); //context.SetValue(Json, JArray.Parse(json)); if (ClearFormats.Get(context)) { worksheet.Columns.ClearFormats(); worksheet.Rows.ClearFormats(); } if (lastUsedColumn != null || lastUsedRow != null) { // Unhide All Cells and clear formats // Detect Last used Row - Ignore cells that contains formulas that result in blank values //int lastRowIgnoreFormulas = worksheet.Cells.Find( // "*", // System.Reflection.Missing.Value, // XlFindLookIn.xlValues, // XlLookAt.xlWhole, // XlSearchOrder.xlByRows, // XlSearchDirection.xlPrevious, // false, // System.Reflection.Missing.Value, // System.Reflection.Missing.Value).Row; // Detect Last Used Column - Ignore cells that contains formulas that result in blank values //int lastColIgnoreFormulas = worksheet.Cells.Find( // "*", //System.Reflection.Missing.Value, // System.Reflection.Missing.Value, // System.Reflection.Missing.Value, // XlSearchOrder.xlByColumns, // XlSearchDirection.xlPrevious, // false, // System.Reflection.Missing.Value, // System.Reflection.Missing.Value).Column; // Detect Last used Row / Column - Including cells that contains formulas that result in blank values //int lastColIncludeFormulas = worksheet.UsedRange.Columns.Count; //int lastColIncludeFormulas = worksheet.UsedRange.Rows.Count; //range = base.worksheet.UsedRange; int _lastUsedColumn = worksheet.UsedRange.Columns.Count; int _lastUsedRow = worksheet.UsedRange.Rows.Count; if (lastUsedColumn != null) { context.SetValue(lastUsedColumn, ColumnIndexToColumnLetter(_lastUsedColumn)); } if (lastUsedRow != null) { context.SetValue(lastUsedRow, _lastUsedRow); } } }
private bool SetObjectArray() { bool blnResult = true; ColMax = 0; RowMax = 0; try { shtValues = this.Base.UsedRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault) as object[,]; RowMax = shtValues.GetUpperBound(0); ColMax = shtValues.GetUpperBound(1); } catch (Exception ex) { shtValues = null; blnResult = false; ColMax = 0; RowMax = 0; } return blnResult; }
/// <summary> /// Converts a directory of excel data into a flat text csv file /// </summary> /// <param name="FileLocation"></param> public static void GetExcelVenusData(string FileLocation) { //ChangeTo48WellPlates(); // SetIntToWell(); //first to create an array of values, I know there will be 48 columns in the second one, //and for now I am going to assume we will have 200 datapoints, which we will not! Directory = FileLocation; acTimeValues = new List <DateTime>(); absDATA = new List <double[]>();//must initialize this to the plate size DirectoryInfo DI = new DirectoryInfo(FileLocation); ApplicationClass app = null; try { bool SizeSetYet = false; app = new ApplicationClass(); foreach (FileInfo FI in DI.GetFiles()) { if (FI.Extension == ".xls") { Workbook workBook = app.Workbooks.Open(FI.FullName, 0, true, 5, "", "", true, XlPlatform.xlWindows, "", false, false, 0, true, 1, 0); Worksheet workSheet = (Worksheet)workBook.Worksheets[1]; Range excelRange = workSheet.UsedRange; object[,] valueArray = (object[, ])excelRange.get_Value( XlRangeValueDataType.xlRangeValueDefault); int numCols = valueArray.GetUpperBound(1); int numRows = valueArray.GetUpperBound(0); if (!SizeSetYet) { plateSize = numRows - 1; if (plateSize == 96) { ColNumber = 12; } else { ColNumber = 8; } SetIntToWell(); SizeSetYet = true; } numRows++; double[] newData = new double[plateSize]; for (int i = 0; i < 48; i++) { var Cell = valueArray[i + 2, 8]; double value = (double)Cell; newData[i] = value; } absDATA.Add(newData); ///NEW CODE ADDED BELOW string timeline = ""; workSheet = (Worksheet)workBook.Worksheets[3]; Range excelRange2 = workSheet.UsedRange; object[,] DescriptArray = (object[, ])excelRange2.get_Value(XlRangeValueDataType.xlRangeValueDefault); int TotalSize = DescriptArray.GetUpperBound(0); DateTime testTime = DateTime.Now; DateTime TIME = testTime; for (int i = 0; i < TotalSize; i++) { timeline = (string)DescriptArray[i + 1, 1]; if (timeline != null && timeline.StartsWith("Measured on ...")) { timeline = timeline.Remove(0, 36); TIME = Convert.ToDateTime(timeline); break; } } if (TIME == testTime) { throw new Exception("No time found in file"); } acTimeValues.Add(TIME); app.Workbooks.Close(); } } exportVenusData(); } catch (Exception thrown) { //Exception ex = new Exception("File " + FI.Name + " is screwed" ,thrown); //throw ex; throw thrown; } finally { if (app != null) { app.Quit(); app = null; } } }
public override void Close() { if(this.opened) { lock(this) { srv_Close(); srv_UnPrepare(this.queryID); this.columns = null; this.values = null; this.opened = false; } } if(this.queryID != 0) { try { srv_UnPrepare(this.queryID); } finally { this.queryID = 0; } } }
protected override void Execute(NativeActivityContext context) { string strFilePath = FilePath.Get(context); string workbookName = FilePath.Get(context); Worksheet xlWorksheet = null; Range xlRange = null; bool excelFileVisible = false; try { if (true == NeedToOpen) { excelFileVisible = true; } if (File.Exists(strFilePath)) { ExcelHelper.Shared.Close_OpenedFile(strFilePath); workbookName = Path.GetFileName(strFilePath); string workSheetName = WorksheetName.Get(context); Workbook xlWorkbook = ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Open(strFilePath); bool sheetExist = ExcelHelper.Shared.GetWorksheetByName(workbookName, workSheetName, false) != null; dynamic worksheets = xlWorkbook.Worksheets; dynamic worksheetObject = null; DataTable dt = TableToWrite.Get(context); if (dt == null) { xlWorkbook.Close(); if (ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Count == 0) { ExcelHelper.Shared.Dispose(); } if (!ContinueOnError) { context.Abort(); } Log.Logger.LogData("Table To Write parameter(Datatable) is null in activity Excel_WriteFile", LogLevel.Error); } else { if (false == sheetExist) { worksheetObject = worksheets.Add(); worksheetObject.Name = workSheetName; } object[,] TwoDimensionalArray = null; string colLetter = String.Empty; string endingCell = String.Empty; int rangeEnd = 0; xlWorksheet = xlWorkbook.Sheets[workSheetName]; int rowCount = dt.Rows.Count; int colCount = dt.Columns.Count; if (IsHeader == true) { rangeEnd = 1 + rowCount; TwoDimensionalArray = ConvertDataTableToArray(dt); } else { rangeEnd = rowCount; TwoDimensionalArray = ExcelHelper.Shared.ConvertDataTableToArray(dt); } colLetter = ExcelHelper.Shared.ColumnIndexToColumnLetter(colCount); endingCell = colLetter + rangeEnd; xlRange = xlWorksheet.Range["A1", endingCell]; xlRange.Value = TwoDimensionalArray; var range = xlWorksheet.get_Range("A1", "A1"); range.Select(); xlWorkbook.Save(); if (true == NeedToClose) { xlWorkbook.Close(); } if (false == NeedToClose && false == NeedToOpen) { xlWorkbook.Close(); } if (false == NeedToClose && true == NeedToOpen) { xlWorkbook.Close(); ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Open(strFilePath); } if (ExcelHelper.Shared.GetApp(excelFileVisible).Workbooks.Count == 0) { ExcelHelper.Shared.Dispose(); } } } else { Log.Logger.LogData("Excel file does not exist:\"" + strFilePath + "\" in activity Excel_WriteFile", LogLevel.Error); if (!ContinueOnError) { context.Abort(); } } } catch (Exception ex) { Log.Logger.LogData(ex.Message + " in activity Excel_WriteFile", LogLevel.Error); if (!ContinueOnError) { context.Abort(); } } finally { //rule of thumb for releasing com objects: // never use two dots, all COM objects must be referenced and released individually // ex: [somthing].[something].[something] is bad //release com objects to fully kill excel process from running in the background //if(xlRange != null) // Marshal.ReleaseComObject(xlRange); //if (xlWorksheet != null) // Marshal.ReleaseComObject(xlWorksheet); //if (xlWorkbook != null) //{ // //close and release // xlWorkbook.Close(); // Marshal.ReleaseComObject(xlWorkbook); //} //if (xlApp != null) //{ // //quit and release // xlApp.Quit(); // Marshal.ReleaseComObject(xlApp); //} //GC.Collect(); //GC.WaitForPendingFinalizers(); } }
// Пункт 3 public static Guid MenuItem3(object[,] o_Information) { Console.WriteLine("Введите id палеты:"); Guid g_Id = new Guid(Console.ReadLine()); Console.WriteLine("Введите количество добавляемых коробок:"); int i_Count = 0; if (!int.TryParse(Console.ReadLine(), out i_Count) || i_Count <= 0) { throw new ApplicationException("Введите корректное число добавляемых коробок."); } // Массив значений o_Information = new object[i_Count, 6]; // Цикл ввода значений for (int i = 0; i < i_Count; i++) { Console.WriteLine("Введите имя " + (i + 1).ToString() + " коробки:"); string s_Name = Console.ReadLine(); Console.WriteLine("Введите ширину " + (i + 1).ToString() + " коробки:"); double d_Width = Convert.ToDouble(Console.ReadLine()); if (d_Width <= 0) { throw new ApplicationException("Введите корректное значение."); } Console.WriteLine("Введите высоту " + (i + 1).ToString() + " коробки:"); double d_Height = Convert.ToDouble(Console.ReadLine()); if (d_Height <= 0) { throw new ApplicationException("Введите корректное значение."); } Console.WriteLine("Введите глубину " + (i + 1).ToString() + " коробки:"); double d_Depth = Convert.ToDouble(Console.ReadLine()); if (d_Depth <= 0) { throw new ApplicationException("Введите корректное значение."); } Console.WriteLine("Введите вес " + (i + 1).ToString() + " коробки:"); double d_Weight = Convert.ToDouble(Console.ReadLine()); if (d_Weight <= 0) { throw new ApplicationException("Введите корректное значение."); } Console.WriteLine("Введите срок годности либо дату производства в формате дд.мм.гггг " + (i + 1).ToString() + " коробки:"); object o_Help = Console.ReadLine(); string s_Help = o_Help.ToString(); if (s_Help.Contains(".")) { o_Help = new DateTime(Convert.ToInt32(s_Help.Split('.')[2]), Convert.ToInt32(s_Help.Split('.')[1]), Convert.ToInt32(s_Help.Split('.')[0])); } else { int i_ShelfLife = Convert.ToInt32(s_Help); if (i_ShelfLife <= 0) { throw new ApplicationException("Введите корректное значение."); } o_Help = i_ShelfLife; } o_Information[i, 0] = s_Name; o_Information[i, 1] = d_Width; o_Information[i, 2] = d_Height; o_Information[i, 3] = d_Depth; o_Information[i, 4] = d_Weight; o_Information[i, 5] = o_Help; } return(g_Id); }
private void button6_Click(object sender, EventArgs e) { listView1.Clear(); listView1.GridLines = true; //表格是否显示网格线 listView1.FullRowSelect = true; //是否选中整行 listView1.View = View.Details; //设置显示方式 listView1.Scrollable = true; //是否自动显示滚动条 listView1.MultiSelect = false; //是否可以选择多行 //没有导入数据的情况 if (subjects == null) { listView1.Columns.Add("没有导入数据", 150, System.Windows.Forms.HorizontalAlignment.Center); return; } //正常导入后 //Order.Orderby(tables, new int[] { 1 }, 1); total = new object[names.Length - 1, 3]; gra_ave = new object[8, 2]; y_pass_per = new object[8, 2]; s_pass_per = new object[8, 2]; e_pass_per = new object[8, 2]; for (int i = 0; i < 8; i++) { stu_num[i] = 0; y_pass_num[i] = 0; s_pass_num[i] = 0; e_pass_num[i] = 0; gra_total[i] = 0; gra_ave[i, 0] = i + 1; y_pass_per[i, 0] = i + 1; y_pass_per[i, 1] = 0; s_pass_per[i, 0] = i + 1; s_pass_per[i, 1] = 0; e_pass_per[i, 0] = i + 1; e_pass_per[i, 1] = 0; } for (int i = 0; i < subjects.Length; i++) { listView1.Columns.Add(subjects[i], 60, System.Windows.Forms.HorizontalAlignment.Center); } for (int i = 1; i < names.Length; i++) { ListViewItem item = new ListViewItem(); item.SubItems.Clear(); //将名字添加进去 item.SubItems[0].Text = names[i]; //统计总成绩 total[i - 1, 0] = names[i]; total[i - 1, 1] = 0; total[i - 1, 2] = 0; //计算班级人数 stu_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++; //textBox1.Text = "?"; //textBox1.Show(); for (int k = 0; k < subjects.Length - 1; k++) { item.SubItems.Add(tables[i - 1, k].ToString()); if (k != 0) { if (k == 1) { //及格人数统计 if (int.Parse(tables[i - 1, k].ToString()) >= 90) { y_pass_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++; } } else if (k == 2) { if (int.Parse(tables[i - 1, k].ToString()) >= 90) { s_pass_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++; } } else if (k == 3) { if (int.Parse(tables[i - 1, k].ToString()) >= 90) { e_pass_num[int.Parse(tables[i - 1, 0].ToString()) - 1]++; } } total[i - 1, 2] = int.Parse(total[i - 1, 2].ToString()) + int.Parse(tables[i - 1, k].ToString()); } total[i - 1, 1] = int.Parse(tables[i - 1, 0].ToString()); } listView1.Items.Add(item); } //统计班级平均分 for (int i = 0; i < names.Length - 1; i++) { gra_total[int.Parse(total[i, 1].ToString()) - 1] += int.Parse(total[i, 2].ToString()); } for (int i = 0; i < 8; i++) { gra_ave[i, 1] = gra_total[i] / stu_num[i]; y_pass_per[i, 1] = Math.Round((float)y_pass_num[i] / stu_num[i], 2); s_pass_per[i, 1] = Math.Round((float)s_pass_num[i] / stu_num[i], 2); e_pass_per[i, 1] = Math.Round((float)e_pass_num[i] / stu_num[i], 2); } }
public ArrayDataReader(object[,] data) { _data = new List <object[, ]>(); _data.Add(data); }
public void insertPFA(string filepath, string outFile) { xlWorkBook = xlApp.Workbooks.Open(filepath, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(SHEET); // second sheet for this file readTypes(xlWorkSheet); Excel.Range range = xlWorkSheet.UsedRange; object[,] cpnyColumn = (object[, ])range.Columns[Columns.COMPANY, Type.Missing].Value; object[,] cprColumn = (object[, ])range.Columns[Columns.CPR, Type.Missing].Value; object[,] typeColumn = (object[, ])range.Columns[Columns.TYPE, Type.Missing].Value; object[,] amountColumn = (object[, ])range.Columns[Columns.AMOUNT, Type.Missing].Value; int row = FROM_LINE; // read row by row while (row < cpnyColumn.Length) { string companyName = (string)cpnyColumn[row, 1]; Dictionary <string, List <double> > thisCompany; List <double> thisCPR; // checks if company already exists, if not, we create it if (!companies.ContainsKey(companyName)) { Console.WriteLine("new company " + companyName); thisCompany = new Dictionary <string, List <double> >(); companies.Add(companyName, thisCompany); } // checks if cpr already exists, if not we create it and put all values to 0 thisCompany = companies[companyName]; string cprValue = cprColumn[row, 1].ToString(); if (!thisCompany.ContainsKey(cprValue)) { thisCPR = new List <double>(); // put everything to 0 for (int i = 0; i < typesRef.Count; i++) { thisCPR.Add(0); } thisCompany.Add(cprValue, thisCPR); } thisCPR = thisCompany[cprValue]; // gather the type, the amount and put it in the list string typeName = (string)typeColumn[row, 1]; double amount = (double)amountColumn[row, 1]; thisCPR[typesRef[typeName]] += amount; row++; } xlWorkBook.Close(); //insert obtained data into outputfile xlWorkBook = xlApp.Workbooks.Open(outFile, 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(SHEET); // first sheet for this file Boolean _continue = true; row = 5; // check the file befor deciding from where to start!! foreach (Dictionary <string, List <double> > nCompany in companies.Values) { foreach (string cpr in nCompany.Keys) { xlWorkSheet.Cells[row, 2] = cpr; row++; } //////////////////////remember me//////////////// } xlWorkBook.SaveAs(outFile, Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); xlWorkBook.Close(); }
private void CreateColumnsAndData() { List<object[,]> data = new List<object[,]>(); int numberOfRows = 0; int maxColumns = 0; foreach (AnalyseEverythingBaseViewModel item in ItemsToAnalyse) { if (!item.Method.Loaded) { item.Method.LoadData(); } IUpdateAngle updateAngle = item.Method as IUpdateAngle; if (updateAngle != null) { updateAngle.SelectedAngleOption = SelectedAngleOption; } IUpdateTValue tValue = item.Method as IUpdateTValue; if (tValue != null) { tValue.TValue = TValue; } IUpdateFrequency updateFrequency = item.Method as IUpdateFrequency; if (updateFrequency != null) { updateFrequency.SelectedFrequencyType = SelectedFrequencyType; } object[,] methodData = item.Method.ExportMeanResults(); if (methodData == null) { continue; } numberOfRows += methodData.Length + 3; int columnCount = methodData.GetLength(1); if (columnCount > maxColumns) { maxColumns = columnCount; } data.Add(methodData); } ObservableCollection<DataGridColumn> columns = new ObservableCollection<DataGridColumn>(); for (int column = 0; column < maxColumns; column++) { DataGridTextColumn currentColumn = new DataGridTextColumn(); currentColumn.Binding = new Binding("[" + column + "]"); columns.Add(currentColumn); } int rowCounter = 0; ObservableCollection<object[]> columnData = new ObservableCollection<object[]>(); foreach (object[,] methodData in data) { int rowCount = methodData.GetLength(0); int columnCount = methodData.GetLength(1); for (int i = 0; i < rowCount; i++) { object[] currentRow = new object[columnCount]; for (int j = 0; j < columnCount; j++) { currentRow[j] = methodData[i, j]; } columnData.Add(currentRow); } } Columns = columns; ColumnData = columnData; object[,] finalData = new object[numberOfRows, maxColumns]; //int rowCounter = 0; foreach (object[,] methodData in data) { int rowCount = methodData.GetLength(0); int columnCount = methodData.GetLength(1); for (int i = 0; i < rowCount; i++) { for (int j = 0; j < columnCount; j++) { finalData[i + rowCounter, j] = methodData[i, j]; } } rowCounter += rowCount; rowCounter += 1; finalData[rowCounter, 0] = "--------------------------------------------"; rowCounter += 2; } FinalData = finalData; }
static ADAMStoreCtx() { bool flag; object[,] objArray = new object[3, 2]; objArray[0, 0] = "ms-DS-UserPasswordNotRequired"; objArray[0, 1] = "FALSE"; objArray[1, 0] = "msDS-UserDontExpirePassword"; objArray[1, 1] = "FALSE"; objArray[2, 0] = "ms-DS-UserEncryptedTextPasswordAllowed"; objArray[2, 1] = "FALSE"; ADAMStoreCtx.PresenceStateTable = objArray; object[,] fromLdapConverterDelegate = new object[39, 4]; fromLdapConverterDelegate[0, 0] = "Principal.Description"; fromLdapConverterDelegate[0, 1] = "description"; fromLdapConverterDelegate[0, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[0, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[1, 0] = "Principal.DisplayName"; fromLdapConverterDelegate[1, 1] = "displayName"; fromLdapConverterDelegate[1, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[1, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[2, 0] = "Principal.DistinguishedName"; fromLdapConverterDelegate[2, 1] = "distinguishedName"; fromLdapConverterDelegate[2, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[2, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[3, 0] = "Principal.Sid"; fromLdapConverterDelegate[3, 1] = "objectSid"; fromLdapConverterDelegate[3, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.SidFromLdapConverter); fromLdapConverterDelegate[4, 0] = "Principal.SamAccountName"; fromLdapConverterDelegate[4, 1] = "name"; fromLdapConverterDelegate[5, 0] = "Principal.UserPrincipalName"; fromLdapConverterDelegate[5, 1] = "userPrincipalName"; fromLdapConverterDelegate[5, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[5, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[6, 0] = "Principal.Guid"; fromLdapConverterDelegate[6, 1] = "objectGuid"; fromLdapConverterDelegate[6, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GuidFromLdapConverter); fromLdapConverterDelegate[7, 0] = "Principal.StructuralObjectClass"; fromLdapConverterDelegate[7, 1] = "objectClass"; fromLdapConverterDelegate[7, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.ObjectClassFromLdapConverter); fromLdapConverterDelegate[8, 0] = "Principal.Name"; fromLdapConverterDelegate[8, 1] = "name"; fromLdapConverterDelegate[8, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[8, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[9, 0] = "Principal.ExtensionCache"; fromLdapConverterDelegate[9, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.ExtensionCacheToLdapConverter); fromLdapConverterDelegate[10, 0] = "AuthenticablePrincipal.Enabled"; fromLdapConverterDelegate[10, 1] = "msDS-UserAccountDisabled"; fromLdapConverterDelegate[10, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.AcctDisabledFromLdapConverter); fromLdapConverterDelegate[10, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.AcctDisabledToLdapConverter); fromLdapConverterDelegate[11, 0] = "AuthenticablePrincipal.Certificates"; fromLdapConverterDelegate[11, 1] = "userCertificate"; fromLdapConverterDelegate[11, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.CertFromLdapConverter); fromLdapConverterDelegate[11, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.CertToLdap); fromLdapConverterDelegate[12, 0] = "GroupPrincipal.IsSecurityGroup"; fromLdapConverterDelegate[12, 1] = "groupType"; fromLdapConverterDelegate[12, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GroupTypeFromLdapConverter); fromLdapConverterDelegate[12, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.GroupTypeToLdapConverter); fromLdapConverterDelegate[13, 0] = "GroupPrincipal.GroupScope"; fromLdapConverterDelegate[13, 1] = "groupType"; fromLdapConverterDelegate[13, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GroupTypeFromLdapConverter); fromLdapConverterDelegate[13, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.GroupTypeToLdapConverter); fromLdapConverterDelegate[14, 0] = "UserPrincipal.GivenName"; fromLdapConverterDelegate[14, 1] = "givenName"; fromLdapConverterDelegate[14, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[14, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[15, 0] = "UserPrincipal.MiddleName"; fromLdapConverterDelegate[15, 1] = "middleName"; fromLdapConverterDelegate[15, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[15, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[16, 0] = "UserPrincipal.Surname"; fromLdapConverterDelegate[16, 1] = "sn"; fromLdapConverterDelegate[16, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[16, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[17, 0] = "UserPrincipal.EmailAddress"; fromLdapConverterDelegate[17, 1] = "mail"; fromLdapConverterDelegate[17, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[17, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[18, 0] = "UserPrincipal.VoiceTelephoneNumber"; fromLdapConverterDelegate[18, 1] = "telephoneNumber"; fromLdapConverterDelegate[18, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[18, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[19, 0] = "UserPrincipal.EmployeeId"; fromLdapConverterDelegate[19, 1] = "employeeID"; fromLdapConverterDelegate[19, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.StringFromLdapConverter); fromLdapConverterDelegate[19, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.StringToLdapConverter); fromLdapConverterDelegate[20, 0] = "ComputerPrincipal.ServicePrincipalNames"; fromLdapConverterDelegate[20, 1] = "servicePrincipalName"; fromLdapConverterDelegate[20, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.MultiStringFromLdapConverter); fromLdapConverterDelegate[20, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.MultiStringToLdapConverter); fromLdapConverterDelegate[21, 0] = "AuthenticablePrincipal.AccountInfo.AccountLockoutTime"; fromLdapConverterDelegate[21, 1] = "lockoutTime"; fromLdapConverterDelegate[21, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GenericDateTimeFromLdapConverter); fromLdapConverterDelegate[22, 0] = "AuthenticablePrincipal.AccountInfo.LastLogon"; fromLdapConverterDelegate[22, 1] = "lastLogon"; fromLdapConverterDelegate[22, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.LastLogonFromLdapConverter); fromLdapConverterDelegate[23, 0] = "AuthenticablePrincipal.AccountInfo.LastLogon"; fromLdapConverterDelegate[23, 1] = "lastLogonTimestamp"; fromLdapConverterDelegate[23, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.LastLogonFromLdapConverter); fromLdapConverterDelegate[24, 0] = "AuthenticablePrincipal.AccountInfo.PermittedWorkstations"; fromLdapConverterDelegate[24, 1] = "userWorkstations"; fromLdapConverterDelegate[25, 0] = "AuthenticablePrincipal.AccountInfo.PermittedLogonTimes"; fromLdapConverterDelegate[25, 1] = "logonHours"; fromLdapConverterDelegate[26, 0] = "AuthenticablePrincipal.AccountInfo.AccountExpirationDate"; fromLdapConverterDelegate[26, 1] = "accountExpires"; fromLdapConverterDelegate[26, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.AcctExpirFromLdapConverter); fromLdapConverterDelegate[26, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.AcctExpirToLdapConverter); fromLdapConverterDelegate[27, 0] = "AuthenticablePrincipal.AccountInfo.SmartcardLogonRequired"; fromLdapConverterDelegate[27, 1] = "userAccountControl"; fromLdapConverterDelegate[28, 0] = "AuthenticablePrincipal.AccountInfo.DelegationPermitted"; fromLdapConverterDelegate[28, 1] = "userAccountControl"; fromLdapConverterDelegate[29, 0] = "AuthenticablePrincipal.AccountInfo.BadLogonCount"; fromLdapConverterDelegate[29, 1] = "badPwdCount"; fromLdapConverterDelegate[29, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.IntFromLdapConverter); fromLdapConverterDelegate[30, 0] = "AuthenticablePrincipal.AccountInfo.HomeDirectory"; fromLdapConverterDelegate[30, 1] = "homeDirectory"; fromLdapConverterDelegate[31, 0] = "AuthenticablePrincipal.AccountInfo.HomeDrive"; fromLdapConverterDelegate[31, 1] = "homeDrive"; fromLdapConverterDelegate[32, 0] = "AuthenticablePrincipal.AccountInfo.ScriptPath"; fromLdapConverterDelegate[32, 1] = "scriptPath"; fromLdapConverterDelegate[33, 0] = "AuthenticablePrincipal.PasswordInfo.LastPasswordSet"; fromLdapConverterDelegate[33, 1] = "pwdLastSet"; fromLdapConverterDelegate[33, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GenericDateTimeFromLdapConverter); fromLdapConverterDelegate[34, 0] = "AuthenticablePrincipal.PasswordInfo.LastBadPasswordAttempt"; fromLdapConverterDelegate[34, 1] = "badPasswordTime"; fromLdapConverterDelegate[34, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.GenericDateTimeFromLdapConverter); fromLdapConverterDelegate[35, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNotRequired"; fromLdapConverterDelegate[35, 1] = "ms-DS-UserPasswordNotRequired"; fromLdapConverterDelegate[35, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.BoolFromLdapConverter); fromLdapConverterDelegate[35, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.BoolToLdapConverter); fromLdapConverterDelegate[36, 0] = "AuthenticablePrincipal.PasswordInfo.PasswordNeverExpires"; fromLdapConverterDelegate[36, 1] = "msDS-UserDontExpirePassword"; fromLdapConverterDelegate[36, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.BoolFromLdapConverter); fromLdapConverterDelegate[36, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.BoolToLdapConverter); fromLdapConverterDelegate[37, 0] = "AuthenticablePrincipal.PasswordInfo.UserCannotChangePassword"; fromLdapConverterDelegate[37, 1] = "ntSecurityDescriptor"; fromLdapConverterDelegate[37, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.CannotChangePwdToLdapConverter); fromLdapConverterDelegate[38, 0] = "AuthenticablePrincipal.PasswordInfo.AllowReversiblePasswordEncryption"; fromLdapConverterDelegate[38, 1] = "ms-DS-UserEncryptedTextPasswordAllowed"; fromLdapConverterDelegate[38, 2] = new ADStoreCtx.FromLdapConverterDelegate(ADStoreCtx.BoolFromLdapConverter); fromLdapConverterDelegate[38, 3] = new ADStoreCtx.ToLdapConverterDelegate(ADStoreCtx.BoolToLdapConverter); ADAMStoreCtx.propertyMappingTableRaw = fromLdapConverterDelegate; object[,] filterConverterDelegate = new object[37, 3]; filterConverterDelegate[0, 0] = typeof(DescriptionFilter); filterConverterDelegate[0, 1] = "description"; filterConverterDelegate[0, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[1, 0] = typeof(DisplayNameFilter); filterConverterDelegate[1, 1] = "displayName"; filterConverterDelegate[1, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[2, 0] = typeof(IdentityClaimFilter); filterConverterDelegate[2, 1] = ""; filterConverterDelegate[2, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.IdentityClaimConverter); filterConverterDelegate[3, 0] = typeof(DistinguishedNameFilter); filterConverterDelegate[3, 1] = "distinguishedName"; filterConverterDelegate[3, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[4, 0] = typeof(GuidFilter); filterConverterDelegate[4, 1] = "objectGuid"; filterConverterDelegate[4, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.GuidConverter); filterConverterDelegate[5, 0] = typeof(UserPrincipalNameFilter); filterConverterDelegate[5, 1] = "userPrincipalName"; filterConverterDelegate[5, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[6, 0] = typeof(StructuralObjectClassFilter); filterConverterDelegate[6, 1] = "objectClass"; filterConverterDelegate[6, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[7, 0] = typeof(NameFilter); filterConverterDelegate[7, 1] = "name"; filterConverterDelegate[7, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[8, 0] = typeof(CertificateFilter); filterConverterDelegate[8, 1] = ""; filterConverterDelegate[8, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.CertificateConverter); filterConverterDelegate[9, 0] = typeof(AuthPrincEnabledFilter); filterConverterDelegate[9, 1] = "msDS-UserAccountDisabled"; filterConverterDelegate[9, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.AcctDisabledConverter); filterConverterDelegate[10, 0] = typeof(PermittedWorkstationFilter); filterConverterDelegate[10, 1] = "userWorkstations"; filterConverterDelegate[10, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[11, 0] = typeof(PermittedLogonTimesFilter); filterConverterDelegate[11, 1] = "logonHours"; filterConverterDelegate[11, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.BinaryConverter); filterConverterDelegate[12, 0] = typeof(ExpirationDateFilter); filterConverterDelegate[12, 1] = "accountExpires"; filterConverterDelegate[12, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.ExpirationDateConverter); filterConverterDelegate[13, 0] = typeof(SmartcardLogonRequiredFilter); filterConverterDelegate[13, 1] = "userAccountControl"; filterConverterDelegate[13, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.UserAccountControlConverter); filterConverterDelegate[14, 0] = typeof(DelegationPermittedFilter); filterConverterDelegate[14, 1] = "userAccountControl"; filterConverterDelegate[14, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.UserAccountControlConverter); filterConverterDelegate[15, 0] = typeof(HomeDirectoryFilter); filterConverterDelegate[15, 1] = "homeDirectory"; filterConverterDelegate[15, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[16, 0] = typeof(HomeDriveFilter); filterConverterDelegate[16, 1] = "homeDrive"; filterConverterDelegate[16, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[17, 0] = typeof(ScriptPathFilter); filterConverterDelegate[17, 1] = "scriptPath"; filterConverterDelegate[17, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[18, 0] = typeof(PasswordNotRequiredFilter); filterConverterDelegate[18, 1] = "ms-DS-UserPasswordNotRequired"; filterConverterDelegate[18, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValueBoolConverter); filterConverterDelegate[19, 0] = typeof(PasswordNeverExpiresFilter); filterConverterDelegate[19, 1] = "msDS-UserDontExpirePassword"; filterConverterDelegate[19, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValueBoolConverter); filterConverterDelegate[20, 0] = typeof(CannotChangePasswordFilter); filterConverterDelegate[20, 1] = "userAccountControl"; filterConverterDelegate[20, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.UserAccountControlConverter); filterConverterDelegate[21, 0] = typeof(AllowReversiblePasswordEncryptionFilter); filterConverterDelegate[21, 1] = "ms-DS-UserEncryptedTextPasswordAllowed"; filterConverterDelegate[21, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValueBoolConverter); filterConverterDelegate[22, 0] = typeof(GivenNameFilter); filterConverterDelegate[22, 1] = "givenName"; filterConverterDelegate[22, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[23, 0] = typeof(MiddleNameFilter); filterConverterDelegate[23, 1] = "middleName"; filterConverterDelegate[23, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[24, 0] = typeof(SurnameFilter); filterConverterDelegate[24, 1] = "sn"; filterConverterDelegate[24, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[25, 0] = typeof(EmailAddressFilter); filterConverterDelegate[25, 1] = "mail"; filterConverterDelegate[25, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[26, 0] = typeof(VoiceTelephoneNumberFilter); filterConverterDelegate[26, 1] = "telephoneNumber"; filterConverterDelegate[26, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[27, 0] = typeof(EmployeeIDFilter); filterConverterDelegate[27, 1] = "employeeID"; filterConverterDelegate[27, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[28, 0] = typeof(GroupIsSecurityGroupFilter); filterConverterDelegate[28, 1] = "groupType"; filterConverterDelegate[28, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.GroupTypeConverter); filterConverterDelegate[29, 0] = typeof(GroupScopeFilter); filterConverterDelegate[29, 1] = "groupType"; filterConverterDelegate[29, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.GroupTypeConverter); filterConverterDelegate[30, 0] = typeof(ServicePrincipalNameFilter); filterConverterDelegate[30, 1] = "servicePrincipalName"; filterConverterDelegate[30, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.StringConverter); filterConverterDelegate[31, 0] = typeof(ExtensionCacheFilter); filterConverterDelegate[31, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.ExtensionCacheConverter); filterConverterDelegate[32, 0] = typeof(BadPasswordAttemptFilter); filterConverterDelegate[32, 1] = "badPasswordTime"; filterConverterDelegate[32, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter); filterConverterDelegate[33, 0] = typeof(ExpiredAccountFilter); filterConverterDelegate[33, 1] = "accountExpires"; filterConverterDelegate[33, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.MatchingDateTimeConverter); filterConverterDelegate[34, 0] = typeof(LastLogonTimeFilter); filterConverterDelegate[34, 1] = "lastLogonTimestamp"; filterConverterDelegate[34, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter); filterConverterDelegate[35, 0] = typeof(LockoutTimeFilter); filterConverterDelegate[35, 1] = "lockoutTime"; filterConverterDelegate[35, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter); filterConverterDelegate[36, 0] = typeof(PasswordSetTimeFilter); filterConverterDelegate[36, 1] = "pwdLastSet"; filterConverterDelegate[36, 2] = new ADStoreCtx.FilterConverterDelegate(ADStoreCtx.DefaultValutMatchingDateTimeConverter); ADAMStoreCtx.filterPropertiesTableRaw = filterConverterDelegate; ADStoreCtx.LoadFilterMappingTable(1, ADAMStoreCtx.filterPropertiesTableRaw); ADStoreCtx.LoadPropertyMappingTable(1, ADAMStoreCtx.propertyMappingTableRaw); if (ADStoreCtx.NonPresentAttrDefaultStateMapping == null) { ADStoreCtx.NonPresentAttrDefaultStateMapping = new Dictionary<string, bool>(); } for (int i = 0; i < ADAMStoreCtx.PresenceStateTable.GetLength(0); i++) { string presenceStateTable = ADAMStoreCtx.PresenceStateTable[i, 0] as string; string str = ADAMStoreCtx.PresenceStateTable[i, 1] as string; Dictionary<string, bool> nonPresentAttrDefaultStateMapping = ADStoreCtx.NonPresentAttrDefaultStateMapping; string str1 = presenceStateTable; if (str == "FALSE") { flag = false; } else { flag = true; } nonPresentAttrDefaultStateMapping.Add(str1, flag); } }
private void LoadExcelFile(string fileName) { System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; ShowLoadingScreen(); ClearDataGridView(); tempDataTable = new DataTable(); postepLabel.Text += "\nOtwieranie pliku excel..."; Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(fileName); Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1]; Excel.Range xlRange = xlWorksheet.UsedRange; int rowCount = xlRange.Rows.Count; int colCount = xlRange.Columns.Count; if (rowCount > 0 && colCount > 0) { tempDataTable.Columns.Add("Name"); tempDataTable.Columns.Add("Pos."); for (int i = 0; i <= colCount - 3; i++) { String czasPomiaru = ""; if (i < 10) { czasPomiaru = "0" + i + ":00"; } else { czasPomiaru = i + ":00"; } tempDataTable.Columns.Add(czasPomiaru); } tempDataTable.Columns.Add("Średnia arytmetyczna z odczytów"); tempDataTable.Columns.Add("Wartość temperatury przy maksymalnym przekroczeniu dopuszczalnej temperatury"); tempDataTable.Columns.Add("Czas trwania maksymalnego przekroczenia temperatury"); tempDataTable.Columns.Add("Liczba wszystkich przypadków przekroczenia maksymalnej dopuszczalnej temperatury"); tempDataTable.Columns.Add("Sumaryczny czas trwania wszystkich przypadków przekroczenia maksymalnej dopuszczalnej temperatury"); tempDataTable.Columns.Add("Procentowy udział czasu przechowywania środka spożywczego poza dopuszczalnym zakresem temperatur"); tempDataTable.Columns.Add("Przekroczenie"); tempDataTable.Columns.Add("Alarm"); postepLabel.Text += "\nOdczytywanie informacji nagłówkowych..."; object[,] values = (object[, ])xlRange.Value2; dataOdczytu = values[1, 1].ToString(); String[] tempStringArray = dataOdczytu.Split(' '); dataOdczytu = tempStringArray[tempStringArray.Length - 1]; nazwaSklepu = values[2, 1].ToString(); tempStringArray = nazwaSklepu.Split(' '); nazwaSklepu = tempStringArray[tempStringArray.Length - 1]; sklepID = -1; naglowekID = WygenerujNaglowek(ref sklepID); if (naglowekID >= 0 && sklepID >= 0) { postepLabel.Text += "\nOdczytywanie danych..."; ShowProgressBar(rowCount); for (int i = 7; i <= rowCount; i++) { String nazwaUrzadzenia = values[i, 1].ToString(); String modulUrzadzenia = values[i, 2].ToString(); tempDataTable.Rows.Add(); tempDataTable.Rows[i - 7][0] = nazwaUrzadzenia; tempDataTable.Rows[i - 7][1] = modulUrzadzenia; for (int j = 3; j <= colCount; j++) { String czasPomiaru = ""; if (j - 3 < 10) { czasPomiaru = "0" + (j - 3) + ":00"; } else { czasPomiaru = j - 3 + ":00"; } String cellResult = values[i, j].ToString(); String stan = ""; Decimal?wartosc = 0; if (cellResult[cellResult.Length - 1] == '!') { stan = "alarm"; cellResult = cellResult.Replace('!', '\0'); } if (cellResult[cellResult.Length - 1] == '*') { stan = "defrost"; wartosc = null; } else { wartosc = Convert.ToDecimal(cellResult.Replace(',', '.')); } tempDataTable.Rows[i - 7][j - 1] = cellResult; ZapiszOdczyt(sklepID, naglowekID, nazwaUrzadzenia, modulUrzadzenia, czasPomiaru, wartosc, stan); } progressBar.Value++; } } dataGridView.DataSource = tempDataTable; } else { MessageBox.Show("Wczytywany plik ma 0 wierszy lub 0 kolumn.", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error); } postepLabel.Text += "\nZamykanie pliku excel..."; ustawNazwy(); xlWorkbook.Close(false, null, null); xlApp.Quit(); panel.Dispose(); System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default; }
public void CreateAmortisedSwapTest() { object[,] swapTermsList = new object[, ] { { "SwapReferenceIdentifier", "SWAP-1" }, { "EffectiveDate", Convert.ToDateTime("15/05/2009") }, { "TerminationDate", Convert.ToDateTime("15/05/2014") }, { "AdjustCalculationDates", true }, { "BasePartyPaysRecievesInd", "Pays" }, { "CounterpartyName", "Telstra" }, { "QuotedCurrencyPair", "AUD-AUD" }, { "NotionalAmount", 1000000 }, { "NotionalCurrency", "AUD" }, { "PayReceiveSpotRate", 1 }, { "hasInitialExchange", false }, { "hasFinallExchange", false }, { "principleExchangeBusinessCenters", "Sydney" }, { "principleExchangeAdjustementConvention", "MODFOLLOWING" } }; object[,] payLegTermsList = new object[, ] { { "StreamType", "Fixed" }, { "NotionalAmount", 1000000.00 }, { "Currency", "AUD" }, { "ScheduleGeneration", "Forward" }, { "BusinessCenters", "Sydney" }, { "CouponPeriod", "6m" }, { "RollDay", "1" }, { "CouponDateAdjustment", "FOLLOWING" }, { "DayCountConvention", "ACT/365.FIXED" }, { "DiscountingType", "Standard" }, { "DiscountCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" }, { "FixedOrObservedRate", 0.06 }, { "ObservedRateSpecified", false }, { "ForwardCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" }, { "FixingDateBusinessCenters", "Sydney" }, { "FixingDateResetInterval", "0D" }, { "FixingDateAdjustmentConvention", "NONE" }, { "RateIndexName", "AUD-LIBOR-BBA" }, { "RateIndexTenor", "6m" }, { "Spread", 0.0022 } }; object[,] receiveLegTermsList = new object[, ] { { "StreamType", "Floating" }, { "NotionalAmount", 1000000 }, { "Currency", "AUD" }, { "ScheduleGeneration", "Forward" }, { "BusinessCenters", "Sydney" }, { "CouponPeriod", "6m" }, { "RollDay", "1" }, { "CouponDateAdjustment", "FOLLOWING" }, { "DayCountConvention", "ACT/365.FIXED" }, { "DiscountingType", "Standard" }, { "DiscountCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" }, { "FixedOrObservedRate", 0 }, { "ObservedRateSpecified", false }, { "ForwardCurveReference", "RateCurve.AUD-LIBOR-BBA-3M" }, { "FixingDateBusinessCenters", "Sydney" }, { "FixingDateResetInterval", "0D" }, { "FixingDateAdjustmentConvention", "NONE" }, { "RateIndexName", "AUD-LIBOR-BBA" }, { "RateIndexTenor", "6m" }, { "Spread", 0.0007 } }; object[,] payLegAmortisationStepSchedule = null; // TODO: Initialize to an appropriate value object[,] receiveLegAmortisationStepSchedule = null; // TODO: Initialize to an appropriate value object[,] payCouponStepSchedule = null; // TODO: Initialize to an appropriate value object[,] receiveCouponStepSchedule = null; // TODO: Initialize to an appropriate value string expected = "SWAP-1"; string actual; actual = IRSwap.CreateAmortisedSwap(swapTermsList, payLegTermsList, receiveLegTermsList, payLegAmortisationStepSchedule, receiveLegAmortisationStepSchedule, payCouponStepSchedule, receiveCouponStepSchedule); Assert.AreEqual(expected, actual); }
/// <summary> /// Loads the command configuration from the specified file. /// </summary> /// <param name="fileName">The file name.</param> public void Load(string fileName) { // Open the XML document at the specified file. XDocument document = XDocument.Load(fileName); // Set the command configuration. this.id = Guid.Parse(document.Root.Attribute(PlCommand.xmlId).Value); this.command = document.Root.Element(PlCommand.xmlCommand).Value; // Get the parameters element. XElement parameters = document.Root.Element(PlCommand.xmlParameters); // Set the parameters configuration. int parametersCount = int.Parse(parameters.Attribute(PlCommand.xmlParametersCount).Value); int setsCount = int.Parse(parameters.Attribute(PlCommand.xmlSetsCount).Value); // If the parameters are not zero, create the parameteres. if ((parametersCount > 0) && (setsCount > 0)) { // Resize the parameters this.ResizeParameters(parametersCount, setsCount); // Parse the parameters. int indexParam = 0; foreach (XElement parameter in parameters.Elements(PlCommand.xmlParameter)) { int indexSet = 0; foreach (XElement set in parameter.Elements(PlCommand.xmlSet)) { this.parameters[indexParam, indexSet++] = set.Value; } indexParam++; } } else this.parameters = null; }
private void LoadSourceFile() { _partNumber = GetStringCell(BendSheetDataMap.PART_NUMBER); _inputData = _engine.GetRange(BendSheetDataMap.INPUT_DATA[0], BendSheetDataMap.INPUT_DATA[1]); _drawingCoordinates = _engine.GetRange(BendSheetDataMap.DRAWING_COORDINATES[0], BendSheetDataMap.DRAWING_COORDINATES[1]); _autoBendSheet = _engine.GetRange(BendSheetDataMap.AUTO_BEND_SHEET[0], BendSheetDataMap.AUTO_BEND_SHEET[1]); _customer = GetStringCell(BendSheetDataMap.CUSTOMER); _customerPartNumber = GetStringCell(BendSheetDataMap.CUSTOMER_PART_NUMBER); _customerRevisionLevel = GetStringCell(BendSheetDataMap.CUSTOMER_REVISION_LEVEL); _notes = GetStringCell(BendSheetDataMap.NOTES); _cablePN = GetStringCell(BendSheetDataMap.CABLE_PN); _cableDescription = GetStringCell(BendSheetDataMap.CABLE_DESCRIPTION); _asOfDate = GetStringCell(BendSheetDataMap.AS_OF_DATE); _firstEnd = GetStringCell(BendSheetDataMap.FIRST_END); _secondEnd = GetStringCell(BendSheetDataMap.SECOND_END); _firstStrip = GetStringCell(BendSheetDataMap.FIRST_STRIP); _secondStrip = GetStringCell(BendSheetDataMap.SECOND_STRIP); _bendRadiusCL = GetStringCell(BendSheetDataMap.BEND_RADIUS_CL); _firstEndConnector = GetStringCell(BendSheetDataMap.FIRST_END_CONNECTOR); _secondEndConnector = GetStringCell(BendSheetDataMap.SECOND_END_CONNECTOR); _cableDiameter = GetStringCell(BendSheetDataMap.CABLE_DIAMETER); _numberOfCoordinates = GetStringCell(BendSheetDataMap.NUMBER_OF_COORDINATES); _conversionFactor = GetStringCell(BendSheetDataMap.CONVERSION_FACTOR); }
private void Clear() { selectedCharacterRow = moveRow; selectedCharacterCol = moveCol; clearMoveOptions(); rowPlot.Clear(); colPlot.Clear(); index = 0; position = null; position = new object[15, 15]; //Reenables the mouse once the animation is done and the user can't screw things up. this.IsHitTestVisible = true; //Sets the cursor back to the normal one. Mouse.OverrideCursor = null; if (tutFirstMoveExitClicked) { hero1MoveCheck(); End_Turn.IsEnabled = true; clearMoveOptions(); for (int r = 0; r < numRows; r++) { for (int c = 0; c < numCols; c++) { boardspaces[r, c].BorderThickness = new Thickness(0); } } } }
private int spreadSheetValsDetect(DataGridView ExcelDataVals) { List <string> deConstructerStr = new List <string>(); List <string> deConstructerStr2 = new List <string>(); //ExcelDataVals.Rows.RemoveAt(11); //remove index column Boolean OccuranceFilter = false; int index = 0; MyApp = new Excel.Application(); //store value main excel window value in ProcessExcelVars class hWnd = MyApp.Hwnd; PartsListClass.Hwind = hWnd; MyApp.Visible = false; MyBook = MyApp.Workbooks.Open(ExcelPath); MySheet = (Excel.Worksheet)MyBook.Sheets[1]; // Explict cast is not required here lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; lastCol = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column; //Create a new write range for the spreadsheet entries to be added too int StartCellRow = 1; int LasttCellRow = lastRow; //Get Excel value range of cells Excel.Range CellStart = (Excel.Range)MySheet.Cells[StartCellRow, 1]; Excel.Range CellEnd = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol]; Excel.Range MySheetRng = MySheet.get_Range(CellStart, CellEnd); //Store values inside object array object[,] data = MySheetRng.Cells.Value2; OccuranceFilter = deConstructerStr.SequenceEqual(deConstructerStr2); for (int i = 0; i < lastRow; i++) { for (int j = 0; j < lastCol; j++) { deConstructerStr.Add((data[i + 1, 1 + j] ?? String.Empty).ToString()); deConstructerStr2.Add((ExcelDataVals.CurrentRow.Cells[j].Value ?? String.Empty).ToString()); } } //Quit Excel application and release all references //and allow Garbage collector to handle the cleaning process MyBook.Close(false, Type.Missing, Type.Missing); MyApp.Quit(); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); Marshal.FinalReleaseComObject(MySheet); Marshal.FinalReleaseComObject(MyBook); Marshal.FinalReleaseComObject(MyApp); MyApp = null; MyBook = null; MySheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); //Kill excel process that was ctreated in memory KillProcessByMainWindows(hWnd); return(0); }
public override void Do() { backupData = Grid.GetRangeData(base.Range); Debug.Assert(backupData != null); base.Grid.SetRangeData(base.Range, data); Grid.SelectRange(base.Range); }
static void Main(string[] args) { Microsoft.Office.Interop.Excel.Application app_xls = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Word.Application app_doc = new Microsoft.Office.Interop.Word.Application(); Microsoft.Office.Interop.Excel.Workbook wb_result = app_xls.Workbooks.Open(StartupPath + "志愿者报名.xlsx", Editable: true); Worksheet ws_result = wb_result.Sheets["auto"]; int ws_result_StartEditingRow = ws_result.UsedRange.Rows.Count + 1; Console.WriteLine("wb_result Start writing from Row " + ws_result_StartEditingRow); Microsoft.Office.Interop.Excel.Range xls_names = ws_result.UsedRange.Columns[1]; object[,] xls_names_value = null; if (ws_result.UsedRange.Rows.Count > 1) { xls_names_value = (object[, ])xls_names.get_Value(); } int counting = GetXls().Count(); try { foreach (FileInfo xls_fi in GetXls()) { Console.WriteLine("******************* " + (counting--) + " *****************"); int xlsAnalyzed = 0; if (xls_names_value != null) { foreach (var item in xls_names_value) { if (item != null && item.ToString().Contains(xls_fi.Name)) { xlsAnalyzed = 1; break; } } } if (xlsAnalyzed == 1) { continue; } //else start analyzing xls string xls = xls_fi.FullName; Microsoft.Office.Interop.Excel.Workbook wb_single = app_xls.Workbooks.Open(xls, ReadOnly: true); Worksheet ws_raw = wb_single.Sheets[1]; //only 1 sheet //set xls name ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[ws_result_StartEditingRow, 1]).set_Value(Missing.Value, wb_single.Name.ToString()); //copy single to result for (int i = 4; i <= 25; i++) { string c = ((Microsoft.Office.Interop.Excel.Range)ws_raw.Cells[i, 4]).Text; if (c == "") { c = ((Microsoft.Office.Interop.Excel.Range)ws_raw.Cells[i - 1, 3]).Text; } Console.WriteLine(c); ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[ws_result_StartEditingRow, i - 2]).set_Value(Missing.Value, c); } string doc = GetDoc_ByXlsName(wb_single.Name); Microsoft.Office.Interop.Excel.Range Cell_DocFileName = ws_result.Cells[ws_result_StartEditingRow, 27]; if (doc == null) { Cell_DocFileName.set_Value(Missing.Value, "DocNotFound"); } else { Document document = app_doc.Documents.Open(doc, ReadOnly: true); Cell_DocFileName.set_Value(Missing.Value, document.Name); int count = document.FormFields.Count; for (int i = 1; i <= count; i++) { try //for Exception "对象已被删除。" { FormField ff = document.FormFields[i]; string name = ff.Name; string value = ff.Result; Console.WriteLine("{0}, {1}", name, value); //Console.Write(text + "\t"); // ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[1, i + 27]).set_Value(Missing.Value, name); ((Microsoft.Office.Interop.Excel.Range)ws_result.Cells[ws_result_StartEditingRow, i + 27]).set_Value(Missing.Value, value); } catch (Exception e) { Console.WriteLine(e.Message); } } } wb_single.Close(SaveChanges: false); ws_result_StartEditingRow++; } } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } finally { wb_result.Save(); wb_result.Close(SaveChanges: true); app_doc.Quit(); app_xls.Quit(); Console.WriteLine("Done!"); Console.ReadLine(); } }
/// <summary> /// Generate KLOC report document /// </summary> /// <param name="workbook">Workbook name</param> /// <param name="sheetName">Sheet Name</param> /// <param name="reason">Reason for change</param> /// <returns></returns> /// 2019/07/13, Vinoth N, Initial Version private void PrepareKLOCReport(Excel.Workbook workbook, string sheetName, string reason) { List <string> files = new List <string>(); try { Excel.Worksheet worksheet = null; var ChangeCollection = LineCollection.Where(p => (p.AllCount > 0)).ToList(); foreach (var collecion in ChangeCollection) { collecion.ModType = "N"; } worksheet = workbook.Sheets[2]; Excel.Range usedrange = worksheet.UsedRange; usedrange.Rows.AutoFit(); var sheet = (Excel.Worksheet)workbook.Worksheets.Item[2]; try { sheet.Name = sheetName; } catch (Exception ex) { MessageBox.Show("Sheet name has unsupported format: " + sheetName + ". Please change the project name"); LogModel.Log(ex.Message); LogModel.Log(ex.StackTrace); } //Get the rows and fill the data if (worksheet.Rows != null) { int colNo = worksheet.UsedRange.Columns.Count; int rowNo = worksheet.UsedRange.Rows.Count; object[,] array = worksheet.UsedRange.Rows.Value; int rowCount = LineCollection.Count(); if (rowCount > 0) { int rowInx = 6; foreach (CounterModel lines in ChangeCollection) { //append new row RunProgressbar(ChangeCollection.IndexOf(lines) + 1, ChangeCollection.Count - 1, lines); Excel.Range line = (Excel.Range)worksheet.Rows[rowInx]; worksheet.UsedRange.Cells[rowInx, 3] = lines.FileName.ToString(); if (lines.FunctionName != null) { worksheet.UsedRange.Cells[rowInx, 4] = ParseFunctionName(lines.FunctionName.ToString()); } worksheet.UsedRange.Cells[rowInx, 7] = reason != null?reason.ToString() : ""; worksheet.UsedRange.Cells[rowInx, 6] = "-"; worksheet.UsedRange.Cells[rowInx, 5] = lines.Description != null?lines.Description.ToString() : ""; worksheet.UsedRange.Cells[rowInx, 8] = "-"; worksheet.UsedRange.Cells[rowInx, 9] = "-"; worksheet.UsedRange.Cells[rowInx, 12] = "-"; worksheet.UsedRange.Cells[rowInx, 13] = "-"; worksheet.UsedRange.Cells[rowInx, 12] = "N"; if (lines.IsGUI == true) { worksheet.UsedRange.Cells[rowInx, 13] = "G"; } else { worksheet.UsedRange.Cells[rowInx, 13] = "L"; } worksheet.UsedRange.Cells[rowInx, 14] = lines.AllCount; worksheet.UsedRange.Cells[rowInx, 15] = lines.AddCount; worksheet.UsedRange.Cells[rowInx, 16] = lines.ModCount; worksheet.UsedRange.Cells[rowInx, 17] = lines.DelCount; rowInx++; } } } } catch (Exception ex) { LogModel.Log(ex.Message); LogModel.Log(ex.StackTrace); throw new FileNotFoundException("Couldn't find your folder ! "); } }
static void Main(string[] args) { // Создание объекта склад Console.WriteLine("Введите имя склада:"); Warehouse w_Warehouse = new Warehouse(Console.ReadLine()); Console.WriteLine("Склад " + w_Warehouse.GetSetName); // Главное меню с вызовами соответствующих функций while (true) { try { Console.WriteLine("\nСклад " + w_Warehouse.GetSetName + "\nМеню\n" + "1. Добавить палеты в склад\n" + "2. Удалить палеты из склада\n" + "3. Добавить коробки в заданную палету\n" + "4. Удалить коробки из заданной палеты\n" + "5. Содержимое склада\n" + "6. Содержимое заданной палеты\n" + "7. Группировка палет\n" + "8. Вывести 3 палеты\n" + "9. Добавить данные в склад из файла\n" + "10. Записать данные из склада в файл\n" + "11. Выход\n"); int i_MenuItem = 0; if (!int.TryParse(Console.ReadLine(), out i_MenuItem)) { throw new ApplicationException("Введите корректный пункт меню."); } switch (i_MenuItem) { case 1: Console.WriteLine("1. Добавить палеты в склад"); // Массив значений object[,] o_Information = null; // Заполнение информации пользователем Menu.MenuItem1(o_Information); // Добавление w_Warehouse.AddPallets(o_Information); Console.WriteLine("Добавление завершено"); break; case 2: Console.WriteLine("2. Удалить палеты из склада"); // Массив id Guid[] g_Ids = null; // Заполнение информации пользователем Menu.MenuItem2(g_Ids); // Удаление w_Warehouse.DeletePallets(g_Ids); Console.WriteLine("Удаление завершено"); break; case 3: Console.WriteLine("3. Добавить коробки в заданную палету"); o_Information = null; // Заполнение информации пользователем Guid g_Id = Menu.MenuItem3(o_Information); // Добавление w_Warehouse.AddBoxesInPallet(g_Id, o_Information); Console.WriteLine("Добавление завершено"); break; case 4: Console.WriteLine("4. Удалить коробки из заданной палеты"); g_Ids = null; // Заполнение информации пользователем g_Id = Menu.MenuItem4(g_Ids); // Удаление w_Warehouse.DeleteBoxesInPallet(g_Id, g_Ids); Console.WriteLine("Удаление завершено"); break; case 5: Console.WriteLine("5. Содержимое склада"); OutputInfo.OutputAllPallet(w_Warehouse.GetPallets); break; case 6: Console.WriteLine("6. Содержимое заданной палеты"); Console.WriteLine("Введите id палеты:"); g_Id = new Guid(Console.ReadLine()); OutputInfo.OutputPallet(g_Id, w_Warehouse.GetPallets); break; case 7: Console.WriteLine("7. Группировка палет"); OutputInfo.GroupPallets(w_Warehouse.GetPallets); break; case 8: Console.WriteLine("8. Вывести 3 палеты"); OutputInfo.OutputTreePallets(w_Warehouse.GetPallets); break; case 9: Console.WriteLine("9. Добавить данные в склад из файла"); Console.WriteLine("Введите полный путь к файлу:"); string s_Path = Console.ReadLine(); GetSetInfoFromFile.ReadFile(s_Path, w_Warehouse); Console.WriteLine("Данные добавлены в склад"); break; case 10: Console.WriteLine("10. Записать данные из склада в файл"); Console.WriteLine("Введите полный путь к файлу:"); s_Path = Console.ReadLine(); GetSetInfoFromFile.WriteFile(s_Path, w_Warehouse); Console.WriteLine("Данные записаны в файл"); break; case 11: Console.WriteLine("11. Выход"); return; default: Console.WriteLine("Введите корректный пункт меню."); break; } } catch (ApplicationException e_Ex) { Console.WriteLine(e_Ex.Message); } catch (FormatException) { Console.WriteLine("Введите корректное значение."); } catch (Exception e_Ex) { Console.WriteLine("Код ошибки: {0}. Обратитесь в службу поддержки.", Math.Abs(e_Ex.HResult)); } } }
public void OnButtonPressed(IRibbonControl control) { //MessageBox.Show("Hello from control " + control.Id); string str=FirstAddIn.MyGetHostname(); var UIHandler = new Action<object>((o) => { ctrl.ShowDialog(); }); ExcelAsyncUtil.QueueAsMacro(() => { refCell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell); }); if (waitSet) //avoid double submission { ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler)); return; } else { waitSet = true; } var wait = new ManualResetEvent(false); var handler = new EventHandler((o, e) => { cr = (TestWinForm.UserControl1.CtrlmRequest)o; result = MakeArrayetest(cr.row, cr.col); waitSet = false; wait.Set(); }); ctrl.registerCallback(handler); ThreadPool.QueueUserWorkItem(new WaitCallback(UIHandler)); //For simplicity, we implement the wait here wait.WaitOne(); //ExcelReference cell = ExcelAsyncUtil.QueueAsMacro(() =>XlCall.Excel(XlCall.xlfActiveCell); //ExcelReference caller = XlCall.Excel(XlCall.xlfCaller) as ExcelReference; //MessageBox.Show("Active cell:" + cell.RowFirst+","+cell.ColumnFirst); //var activeCell = new ExcelReference(1, 1); ExcelAsyncUtil.QueueAsMacro(() => { //ExcelReference cell = (ExcelReference)XlCall.Excel(XlCall.xlfActiveCell); ExcelReference cell = refCell; int testRowSize = cr.row; int testColSize = cr.col; var activeCell = new ExcelReference(cell.RowFirst,testRowSize+cell.RowFirst-1, cell.ColumnLast ,cell.ColumnLast + testColSize-1); //object[,] o = new object[testRowSize, testColSize]; //for (int i = 0; i < testRowSize; i++) //{ // o[i, 0] = i; // o[i, 1] = "test" + i; // o[i, 2] = DateTime.Now; // o[i, 3] = "" + i + ",3"; // o[i, 4] = "" + i + ",4"; //} activeCell.SetValue(result); XlCall.Excel(XlCall.xlcSelect, activeCell); }); }
public string punchy(int number1, string letter1, char value1) { object[,] theArray = { { 1, "a", 3 }, { 1, "b", 4 }, { 2, "b", 0 }, { 2, "a", 0 }, { 3, "a", "b" }, { 2, "a", 0 }, { 5, "a", "a" }, { 2, "a", 0 }, { 2, "b", 0 }, { 7, 0, 0 } }; object v = theArray[2, 1]; Debug.WriteLine(v); // Problem J3 - Punchy - 2010 // What I am attempting to do to solve the question // 1. Take in the desired input, To me a nested array seems to make the most sense as an input // 2. Loop through each array within the nested array. Each array will be formated like this [number, letter, value] following the format of the sample input. // 3. Each element of the array will then be inputed into the logic of the method/function // 4. The logic of the function will run based on the number of arrays there are updating the values of A & B each loop or outputting to the console. int x = 0; int y = 0; int function(int number, string letter, char value) { int A = 1; int B = 2; if (number == 1) { if (letter == "A" | letter == "a") { string inBetween = Char.ToString(value); A = int.Parse(inBetween); x = A; Debug.WriteLine(inBetween); Debug.WriteLine(value); Debug.WriteLine(A); Debug.WriteLine(x); return(A); } else { string inBetween = Char.ToString(value); B = int.Parse(inBetween); x = B; return(B); } } else if (number == 2) { if (letter == "A" | letter == "a") { Debug.WriteLine(A); x = A; return(A); } else { Debug.WriteLine(B); y = B; return(B); } } else { string inBetween = Char.ToString(value); if (number == 3) { // string inBetween = Char.ToString(value); // A = int.Parse(inBetween); if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B") { A = A + B; Debug.WriteLine(A); x = A; return(A); } else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a") { B = A + B; y = B; Debug.WriteLine(B); return(B); } else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A") { A = A + A; x = A; Debug.WriteLine(A); return(A); } else { B = B + B; y = B; Debug.WriteLine(B); return(B); } } else if (number == 4) { if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B") { A = A * B; Debug.WriteLine(A); x = A; return(A); } else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a") { B = A * B; y = B; Debug.WriteLine(B); return(B); } else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A") { A = A * A; x = A; Debug.WriteLine(A); return(A); } else { B = B * B; y = B; Debug.WriteLine(B); return(B); } } else if (number == 5) { if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B") { A = A - B; Debug.WriteLine(A); x = A; return(A); } else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a") { B = A - B; y = B; Debug.WriteLine(B); return(B); } else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A") { A = A - A; x = A; Debug.WriteLine(A); return(A); } else { B = B - B; y = B; Debug.WriteLine(B); return(B); } } else if (number == 6) { if (letter == "A" | letter == "a" && inBetween == "b" | inBetween == "B") { A = A / B; Debug.WriteLine(A); x = A; return(A); } else if (letter == "B" | letter == "B" && inBetween == "a" | inBetween == "a") { B = A / B; y = B; Debug.WriteLine(B); return(B); } else if (letter == "A" | letter == "a" && inBetween == "a" | inBetween == "A") { A = A / A; x = A; Debug.WriteLine(A); return(A); } else { B = B / B; y = B; Debug.WriteLine(B); return(B); } } else { // Would like to return 7 to finish the loop in-case the loop doesn't stop as intended return(7); } } } // Ideally I would have a while/for each loop running and inputing each value from the nested array into the function parameters, and repeating until there is no more arrays to loop through function(number1, letter1, value1); return("This is the number: " + number1 + " this is the string: " + letter1 + " this is the char: " + value1 + " this is A: " + x + " This is B: " + y); }
//public DataTable ReadExcelValues(string locationStr, string keyWord, int searchOption, int wordSearchFilter) public DataTable ReadExcelValues(string locationStr, string keyWord, int searchOption, int wordSearchFilter, int SelectSearchMode) { //array for storing the filtered results datatable! int newRowIndex = 0; //declaring filtering flags Boolean KeywordFilter = false; Boolean CabinetLocFilter = false; Boolean contains = false; //declare new table for storing searched values DataTable excelSearchVars = new DataTable(); excelSearchVars.Clear(); //clear excel table which stores search results //Add columns to the data and display in spreadsheet excelSearchVars.Columns.Add("Part"); excelSearchVars.Columns.Add("Pack"); excelSearchVars.Columns.Add("Cabinet"); excelSearchVars.Columns.Add("Row"); excelSearchVars.Columns.Add("Drawer"); excelSearchVars.Columns.Add("Section"); excelSearchVars.Columns.Add("Part Info"); excelSearchVars.Columns.Add("Supplier"); excelSearchVars.Columns.Add("Alt Parts"); excelSearchVars.Columns.Add("SMD Marking"); excelSearchVars.Columns.Add("Quantity"); excelSearchVars.Columns.Add("Index"); //open and create new excel data table based on search results if (ExcelPath != null && ExcelPath != string.Empty) { MyApp = new Excel.Application(); //store value main excel window value in ProcessExcelVars class hWnd = MyApp.Hwnd; PartsListClass.Hwind = hWnd; MyApp.Visible = false; MyBook = MyApp.Workbooks.Open(ExcelPath); MySheet = (Excel.Worksheet)MyBook.Sheets[1]; // Explict cast is not required here lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; lastCol = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column; //Create a new write range for the spreadsheet entries to be added too int StartCellRow = 1; int LasttCellRow = lastRow; //Get Excel value range of cells Excel.Range CellStart = (Excel.Range)MySheet.Cells[StartCellRow, 1]; Excel.Range CellEnd = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol]; Excel.Range MySheetRng = MySheet.get_Range(CellStart, CellEnd); //Store values inside object array object[,] data = MySheetRng.Cells.Value2; //close Excel spreadsheet MyBook.Close(false, Type.Missing, Type.Missing); MyApp.Quit(); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); Marshal.FinalReleaseComObject(MySheet); Marshal.FinalReleaseComObject(MyBook); Marshal.FinalReleaseComObject(MyApp); MyApp = null; MyBook = null; MySheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); //Kill excel process that was ctreated in memory KillProcessByMainWindows(hWnd); //Add an extra column for the index int colSize = lastCol + 1; List <string> deConstructerStr = new List <string>(); //split comma in string Char delimiter = ','; String[] cabinetCompareStr = locationStr.Split(delimiter); for (int i = 0; i < lastRow; i++) { //see what mode is selected using full filters or none. if (SelectSearchMode == 0) //will search spreadsheet based on keywords and location information { if (keyWord == "*") { KeywordFilter = true; } else { //extract either part number or part information column and convert to string string rowString = (data[i + 1, 1 + searchOption] ?? String.Empty).ToString(); //Check what option is selected for word seach filter if (wordSearchFilter == 0) //search for strings starting with keyword { contains = rowString.StartsWith(keyWord, true, ci); } else //search for strings containing keyword { contains = rowString.IndexOf(keyWord, StringComparison.OrdinalIgnoreCase) >= 0; } //check if keyword in box matches part number column on spreadsheet if (contains && !(String.IsNullOrWhiteSpace(keyWord))) { KeywordFilter = true; } else { KeywordFilter = false; } } if (cabinetCompareStr[0].ToString() != "*") { //construct an array based on number of elements selected in the form option boxes for (int j = 0; j < cabinetCompareStr.Length; j++) { //deConstructerStr.Add(ExcelSpreadVals.Rows[i][2 + j].ToString()); deConstructerStr.Add((data[i + 1, 3 + j] ?? String.Empty).ToString()); } //check if guven CabinetLocFilter = deConstructerStr.SequenceEqual(cabinetCompareStr); deConstructerStr.Clear(); //reset and clear array } else { CabinetLocFilter = true; } } //If option 1 selected search datasheet based on location information only if (SelectSearchMode == 1) { KeywordFilter = true; //construct an array based on number of elements selected in the form option boxes for (int a = 0; a < cabinetCompareStr.Length; a++) { //deConstructerStr.Add(ExcelSpreadVals.Rows[i][2 + j].ToString()); deConstructerStr.Add((data[i + 1, 3 + a] ?? String.Empty).ToString()); } //check if guven CabinetLocFilter = deConstructerStr.SequenceEqual(cabinetCompareStr); deConstructerStr.Clear(); //reset and clear array } if (CabinetLocFilter == true && KeywordFilter == true) { excelSearchVars.Rows.Add(); for (int a = 0; a < excelSearchVars.Columns.Count; a++) { if (a < lastCol) { excelSearchVars.Rows[newRowIndex][a] = data[i + 1, a + 1]; } else { excelSearchVars.Rows[newRowIndex][a] = 1 + i; //record the index } } newRowIndex++; //increment index of new table and } } } return(excelSearchVars); //return table }
public Boolean WriteFunctionTest(DataGridView ExcelDataVals, int ModeSel) { List <string> cabinetCompareStr = new List <string>(); List <string> cabinetCompareStr2 = new List <string>(); int RowIndex = 0; try { if (ExcelPath != null && ExcelPath != string.Empty) { MyApp = new Excel.Application(); //store value main excel window value in ProcessExcelVars class hWnd = MyApp.Hwnd; PartsListClass.Hwind = hWnd; MyApp.Visible = false; MyBook = MyApp.Workbooks.Open(ExcelPath); MySheet = (Excel.Worksheet)MyBook.Sheets[1]; // Explict cast is not required here lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; lastCol = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column; //Create a new write range for the spreadsheet entries to be added too int StartCellRow = 1; int LasttCellRow = lastRow; //Get Excel value range of cells Excel.Range CellStart = (Excel.Range)MySheet.Cells[StartCellRow, 1]; Excel.Range CellEnd = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol]; Excel.Range MySheetRng = MySheet.get_Range(CellStart, CellEnd); //Store values inside object array object[,] data = MySheetRng.Cells.Value2; switch (ModeSel) { case 0: //Add New entries to spreadsheet RowIndex = LasttCellRow + 1; //Write edited value to excel spreadsheet one column at a time! for (int i = 0; i < ExcelDataVals.Rows.Count; i++) { for (int j = 0; j < ExcelDataVals.Columns.Count - 1; j++) { MySheet.Cells[RowIndex, 1 + j] = ExcelDataVals.Rows[i].Cells[j].Value; //write value to spreadsheet } ++RowIndex; } break; case 1: //Edit Existing entries to spreadsheet //retrieve index adress of the modified or edited row RowIndex = Convert.ToInt32(ExcelDataVals.CurrentRow.Cells[11].Value.ToString()); //Write edited value to excel spreadsheet one column at a time! for (int i = 0; i < ExcelDataVals.CurrentRow.Cells.Count - 1; i++) { MySheet.Cells[RowIndex, 1 + i] = ExcelDataVals.CurrentRow.Cells[i].Value; //write value to spreadsheet } break; case 3: //This will store values to which the table will be sorted List <string> arrayElementsX = new List <string>(); List <string> currentRowString = new List <string>(); List <string> compareRowString = new List <string>(); List <string> newElements = new List <string>(); List <string> tempElements = new List <string>(); String[] xIndexExtract; char[] delimiter = { ',' }; ///int nextRowIndex = 1; Boolean indexOccurance = false; string indexCount = null; //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlLineStyle.xlLineStyleNone //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlLineStyle.xlLineStyleNone //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeTop).LineStyle = Excel.XlLineStyle.xlLineStyleNone //MySheetRng.Borders(Excel.XlBordersIndex.xlEdgeBottom).LineStyle = Excel.XlLineStyle.xlLineStyleNone //MySheetRng.Borders(Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlLineStyleNone //MySheetRng.Borders(Excel.XlBordersIndex.xlInsideVertical).LineStyle = Excel.XlLineStyle.xlLineStyleNone //MySheetRng.Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //get index of item from spreadsheet. RowIndex = Convert.ToInt32(ExcelDataVals.CurrentRow.Cells[11].Value.ToString()); //delete from excel spreadsheet MySheetRng = MySheetRng.Cells.Rows[RowIndex]; MySheetRng.Delete(); MyBook.Save(); //delete from datagridview ExcelDataVals.Rows.RemoveAt(ExcelDataVals.CurrentRow.Index); //update column and row information from excel spreadsheet //Get update value of rows lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; lastCol = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Column; //Get Excel value range of cells CellStart = (Excel.Range)MySheet.Cells[StartCellRow, 1]; CellEnd = (Excel.Range)MySheet.Cells[LasttCellRow, lastCol]; MySheetRng = MySheet.get_Range(CellStart, CellEnd); //Reload and find new adress index's for (int c = 0; c < ExcelDataVals.Rows.Count; c++) { for (int i = 0; i < lastRow; i++) //delete selected entries { for (int j = 0; j < lastCol; j++) { currentRowString.Add((data[i + 1, 1 + j] ?? String.Empty).ToString()); compareRowString.Add((ExcelDataVals.Rows[c].Cells[j].Value ?? String.Empty).ToString()); } indexOccurance = currentRowString.SequenceEqual(compareRowString); indexCount = (i + 1).ToString(); if (indexOccurance) { arrayElementsX.Add(c.ToString() + "," + indexCount); } currentRowString.Clear(); compareRowString.Clear(); } for (int y = 0; y < arrayElementsX.Count; y++) { //split the assorting array into pieces xIndexExtract = arrayElementsX[y].Split(delimiter); if (xIndexExtract[0] == c.ToString()) { tempElements.Add(xIndexExtract[1]); //add last index to temp array } } //check how many elements contain in temp elements if (tempElements.Count == 1) { //add contents to new Element array newElements.Add(tempElements[0]); tempElements.Clear(); } //more filtering through is required if (tempElements.Count > 1) { int index = 0; Boolean flagOccurance = false; do { if (flagOccurance == true) { flagOccurance = false; //switch flag off } //loop through newElements array and check that selected value isn't present inside for (int i = 0; i < newElements.Count; i++) { //check previous index value in newElements array if (newElements[i] == tempElements[index]) { index++; //increment index flagOccurance = true; break; //break from for loop and increment } } } while (flagOccurance); //add temp element to array newElements.Add(tempElements[index]); } tempElements.Clear(); //write new Index to following function ExcelDataVals.Rows[c].Cells[11].Value = newElements[c]; } break; } MyBook.Save(); //save quantity amount to excel spreadsheet //Quit Excel application and release all references //and allow Garbage collector to handle the cleaning process MyBook.Close(false, Type.Missing, Type.Missing); MyApp.Quit(); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); Marshal.FinalReleaseComObject(MySheet); Marshal.FinalReleaseComObject(MyBook); Marshal.FinalReleaseComObject(MyApp); MyApp = null; MyBook = null; MySheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); //Kill excel process that was ctreated in memory KillProcessByMainWindows(hWnd); } } catch (Exception ex) { //Quit Excel application and release all references //and allow Garbage collector to handle the cleaning process MyBook.Close(false, Type.Missing, Type.Missing); MyApp.Quit(); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); Marshal.FinalReleaseComObject(MySheet); Marshal.FinalReleaseComObject(MyBook); Marshal.FinalReleaseComObject(MyApp); MyApp = null; MyBook = null; MySheet = null; GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); GC.WaitForPendingFinalizers(); //Kill excel process that was ctreated in memory KillProcessByMainWindows(hWnd); } return(true); }
public void Reset() { this.Tabla = -1; this.TablaStr = ""; this.Filtros = new TableFilters(); this.NoColumnas = false; this.Reves = false; this.Claves = null; this.ClaveNavisionFormat = null; this.ClavesStr = null; this.Columnas = null; this.ColumnaStr = null; this.inserciones = null; this.actualizaciones = null; this.nombreColumnas = null; this.numeroColumnas = null; this.numeroCampos = 0; this.soloPrimeraFila = false; }
public void Execute(string fullPath, LoginInfo currentUser) { condomini.Value = null; tipoPratica.Value = null; descrizione.Value = null; nomeFile.Value = null; tipoProvenienza.Value = null; _utentiExcel = null; _userLock = string.Empty; _currentUser = currentUser; _fullPath = fullPath; if (_persistenceContext == null) { System.Collections.IDictionary args = new System.Collections.Specialized.ListDictionary(); args.Add("currentUser", _currentUser.LoginName); _persistenceContext = (IPersistenceContext)_container.Kernel.Resolve(typeof(IPersistenceContext), args); } _persistenceContext.BeginTransaction(); // Controllo se gia spesata using (StreamReader sr = new StreamReader(_fullPath)) { String line; while ((line = sr.ReadLine()) != null) { if (line.StartsWith("SpesaturaInfo")) { RiepilogoSpesatura form = new RiepilogoSpesatura(line); if (form.ShowDialog() == DialogResult.OK) { this.ShowDialog(); return; } else return; } } } IFaxSpesaturaDao spesDao = _daoFactory.GetFaxSpesaturaDao(); string checksum = Utility.GetFileChecksum(new FileInfo(_fullPath)); if (String.IsNullOrEmpty(checksum)) { log4net.MDC.Set("user", _currentUser.LoginName); _log.Fatal("FaxGest - SpesaturaUI.Execute: Checksum vuoto - File: " + _fullPath); MessageBox.Show("Errore inaspettato: Non è possibile identificare la spesatura per il file: "+ _fullPath); } else { try { object spesatura = spesDao.GetByHashCode(checksum); if (spesatura != null) { RiepilogoSpesatura form = new RiepilogoSpesatura((FaxSpesatura)spesatura); if (form.ShowDialog() == DialogResult.OK) { this.ShowDialog(); return; } else { try { _persistenceContext.RollbackAndCloseSession(); } catch{} return; } } } catch (Exception ex) { log4net.MDC.Set("user", _currentUser.LoginName); _log.Fatal("FaxGest - SpesaturaUI.Execute: Errore inaspettato durante il controllo della spesatura - Checksum: " + checksum + ", File: " + _fullPath, ex); throw (ex); } this.ShowDialog(); } }