protected void writeHeader(string header, string[] valueColumnNames, object settingsObj = null, bool positionColumns = true, bool timeColumn = false) { // write header only once if (!File.Exists(Path.Combine(ResultsFilePath, ResultsFileName))) { string[] lines = header.Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); string formattedHeader = ""; foreach (string line in lines) { if (line[0] != '#') { formattedHeader += "# " + line + "\r\n"; } else { formattedHeader += line + "\r\n"; } } if (settingsObj != null) { formattedHeader += "# === Settings ===\r\n"; formattedHeader += formatSettings(settingsObj); formattedHeader += "# ================\r\n"; } expStartTime = DateTime.Now; formattedHeader += "# Start Time: " + expStartTime.ToString("yyyy-MM-dd HH:mm:ss") + "\r\n"; // Current Absolute Position Position currPos = PositionStore.CurrentAbsolutePosition(); formattedHeader += "# Start Abs. X [µm]: " + currPos.X.ToString("F6", CultureInfo.InvariantCulture) + "\r\n"; formattedHeader += "# Start Abs. Y [µm]: " + currPos.Y.ToString("F6", CultureInfo.InvariantCulture) + "\r\n"; formattedHeader += "# Start Abs. Z [µm]: " + currPos.Z.ToString("F6", CultureInfo.InvariantCulture) + "\r\n"; appendResultsText(formattedHeader); writeColumnHeaders(valueColumnNames, positionColumns, timeColumn); bHasTimeColumn = timeColumn; } }
protected void appendResultsValues(double[] values, bool positionColumns = true) { string valueString = ""; int i = 0; if (bHasTimeColumn) { valueString += ((DateTime.Now - expStartTime).TotalMilliseconds / 1000.0).ToString("F3", CultureInfo.InvariantCulture); i++; } if (positionColumns) { // Current Position Position currPos = PositionStore.CurrentRelativePosition(); if (i > 0) { valueString += ", "; } valueString += currPos.X.ToString("F6", CultureInfo.InvariantCulture); valueString += ", " + currPos.Y.ToString("F6", CultureInfo.InvariantCulture); valueString += ", " + currPos.Z.ToString("F6", CultureInfo.InvariantCulture); i = 3; } foreach (double val in values) { if (i > 0) { valueString += ", "; } valueString += val.ToString("F6", CultureInfo.InvariantCulture); i++; } appendResultsText(valueString + "\r\n"); }