public ActionDetailRecord(ParseData firstRecord, ParseData secondRecord) { DateTime firstTime; DateTime secondTime; if (firstRecord.DateInfo < secondRecord.DateInfo) { firstTime = firstRecord.DateInfo; secondTime = secondRecord.DateInfo; } else { firstTime = secondRecord.DateInfo; secondTime = firstRecord.DateInfo; } _actionStart = firstTime; _actionName = firstRecord.Action; _totalMilliseconds = (long) (secondTime - firstTime).TotalMilliseconds; }
public Project.ParseData.correlation processData() { //File path where data is stored string filePath = "..\\..\\..\\..\\Data\\"; //File path where the life expectancy file is saved string lifeExpectancyFilePath = filePath + "LifeExpectancy_Chicago.csv"; //File path where the Socio Economic indicators file is saved string SocioEconomicIndicatorsFilePath = filePath + "SocioEconomic_Indicators_Chicago.csv"; ParseData pd = new ParseData(); // Function call to parse Life Expectancy file Project.ParseData.lifeExpectancy[] lifeExpectancyData = pd.parselifeExpectancyData(lifeExpectancyFilePath); // Function call to parse Socio Economic Indicators file Project.ParseData.SocioEconomicIndicators[] socioEconomicData = pd.parsesocioEconomicData(SocioEconomicIndicatorsFilePath); //Function call to find correlation between the data Project.ParseData.correlation corr = pd.CorrelationAnalysis(lifeExpectancyData, socioEconomicData); return corr; }
static void Main(string[] args) { string filePath = "..\\..\\..\\..\\Data\\"; int size = 0; string groceryFilePath=filePath+ "Grocery_Stores_2013.csv"; string foodInspFilePath = filePath + "Food_Inspections_2013.csv"; string buildingViolationPath = filePath + "Building_Violations.csv"; Console.WriteLine("\n\n Please wait...It may take a few minutes for the data to load"); ParseData pd = new ParseData(); // Function call to parse grocery file Project.ParseData.Grocery[] groceryStoresData = pd.parseGroceryData(groceryFilePath); // Function call to parse Food Inspection file Project.ParseData.FoodInspection[] foodInspectionData = pd.parseFoodInspection(foodInspFilePath); // Function call to parse Building Violations file Project.ParseData.BuildingViolation[] buildingViolationData = pd.parseBuildingInspection(buildingViolationPath); //Function call to Analyze data Project.ParseData.FinalAnalysis[] finalAnalysis = pd.analysisGroceryFood(groceryStoresData, foodInspectionData, buildingViolationData, ref size); pd.displayData(finalAnalysis, ref size); }
private void btn_PollStreamer_Click(object sender, RoutedEventArgs e) { this.clearContent(); if (tb_PollStreamer.Text == string.Empty) { var converter = new System.Windows.Media.BrushConverter(); var brushRed = (Brush)converter.ConvertFromString("#FF0000"); lbl_ErrorMessage.Foreground = brushRed; lbl_ErrorMessage.Content = "TEXT BOX EMEPTY"; SystemSounds.Hand.Play(); } else { ParseData classParseData = new ParseData(); string doReturnData = classParseData.getData(tb_PollStreamer.Text); var converter = new System.Windows.Media.BrushConverter(); var brushRed = (Brush)converter.ConvertFromString("#FF0000"); var brushGreen = (Brush)converter.ConvertFromString("#33FF00"); lbl_contentGetStreamer.Content = tb_PollStreamer.Text; if (doReturnData.Contains("!(LIVE)")) { lbl_StreamerStatus.Foreground = brushRed; lbl_StreamerStatus.Content = "STREAMER OFFLINE"; } else { string finalTitle = doReturnData.Split('$')[0]; string finalGame = doReturnData.Split('$')[1]; string finalViewers = doReturnData.Split('$')[2]; var finalImage = doReturnData.Split('$')[3]; lbl_contentGetTitle.Content = finalTitle; lbl_contentGetGame.Content = finalGame; lbl_contentGetViewerCount.Content = finalViewers; if (checkbox_getAvatar.IsChecked == true) { img_streamerOffline.Source = getStreamerImage(finalImage); } lbl_StreamerStatus.Foreground = brushGreen; lbl_StreamerStatus.Content = "STREAMER ONLINE"; } } tb_PollStreamer.Text = string.Empty; }
void LoadBarChart() { barChart.Series.Clear(); barChart.BackColor = Color.PowderBlue; barChart.Palette = ChartColorPalette.Fire; barChart.ChartAreas[0].BackColor = Color.Transparent; barChart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisY.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisX.LabelStyle.Angle = 45; barChart.ChartAreas[0].AxisX.LabelAutoFitMinFontSize = 5; barChart.ChartAreas[0].AxisX.IsStartedFromZero = true; barChart.ChartAreas[0].AxisX.LabelStyle.Interval = 1; barChart.ChartAreas[0].AxisX.Maximum = 80; Series series = new Series { Name = "series2", IsVisibleInLegend = false, ChartType = SeriesChartType.Column }; ParseData pd = new ParseData(); string filePath = "..\\..\\..\\..\\Data\\"; string SocioEconomicIndicatorsFilePath = filePath + "SocioEconomic_Indicators_Chicago.csv"; Project.ParseData.SocioEconomicIndicators[] socioEconomicData = pd.parsesocioEconomicData(SocioEconomicIndicatorsFilePath); double[] unemployment = new double[78]; for (int k = 0; k < socioEconomicData.Length; k++) { unemployment[k] = Convert.ToDouble(socioEconomicData[k].unemployment); } for (int i = 0; i < socioEconomicData.Length; i++) { series.Points.Add(unemployment[i]); series.Points[i].Label = unemployment[i].ToString(); series.Points[i].AxisLabel = socioEconomicData[i].communityName; series.Points[i].Color = Color.Blue; } series["PointWidth"] = (0.7).ToString(); barChart.Series.Add(series); barChart.Invalidate(); panel1.Controls.Add(barChart); }
public SimulationWrapper(ParseData dataObject) { this.Data = dataObject; }
public bool parse(List <byte[]> pages_in) { if (pages_in is null) { return(false); } pages = pages_in; if (pages.Count < MAX_PAGES) { logger.error($"EEPROM.parse: didn't receive {MAX_PAGES} pages"); return(false); } format = pages[0][63]; // corrupted EEPROM test (comms, battery, unprogrammed) if (corruptedPage(pages[0])) { logger.error("EEPROM page 0 is corrupted or unprogrammed"); return(false); } try { model = ParseData.toString(pages[0], 0, 16); serialNumber = ParseData.toString(pages[0], 16, 16); baudRate = ParseData.toUInt32(pages[0], 32); hasCooling = ParseData.toBool(pages[0], 36); hasBattery = ParseData.toBool(pages[0], 37); hasLaser = ParseData.toBool(pages[0], 38); // excitationNM = ParseData.toUInt16(pages[0], 39); // changed to FeatureMask slitSizeUM = ParseData.toUInt16(pages[0], 41); startupIntegrationTimeMS = ParseData.toUInt16(pages[0], 43); startupDetectorTemperatureDegC = ParseData.toInt16(pages[0], 45); startupTriggeringMode = ParseData.toUInt8(pages[0], 47); detectorGain = ParseData.toFloat(pages[0], 48); // "even pixels" for InGaAs detectorOffset = ParseData.toInt16(pages[0], 52); // "even pixels" for InGaAs detectorGainOdd = ParseData.toFloat(pages[0], 54); // InGaAs-only detectorOffsetOdd = ParseData.toInt16(pages[0], 58); // InGaAs-only wavecalCoeffs[0] = ParseData.toFloat(pages[1], 0); wavecalCoeffs[1] = ParseData.toFloat(pages[1], 4); wavecalCoeffs[2] = ParseData.toFloat(pages[1], 8); wavecalCoeffs[3] = ParseData.toFloat(pages[1], 12); degCToDACCoeffs[0] = ParseData.toFloat(pages[1], 16); degCToDACCoeffs[1] = ParseData.toFloat(pages[1], 20); degCToDACCoeffs[2] = ParseData.toFloat(pages[1], 24); detectorTempMax = ParseData.toInt16(pages[1], 28); detectorTempMin = ParseData.toInt16(pages[1], 30); adcToDegCCoeffs[0] = ParseData.toFloat(pages[1], 32); adcToDegCCoeffs[1] = ParseData.toFloat(pages[1], 36); adcToDegCCoeffs[2] = ParseData.toFloat(pages[1], 40); thermistorResistanceAt298K = ParseData.toInt16(pages[1], 44); thermistorBeta = ParseData.toInt16(pages[1], 46); calibrationDate = ParseData.toString(pages[1], 48, 12); calibrationBy = ParseData.toString(pages[1], 60, 3); detectorName = ParseData.toString(pages[2], 0, 16); activePixelsHoriz = ParseData.toUInt16(pages[2], 16); // note: byte 18 unused activePixelsVert = ParseData.toUInt16(pages[2], 19); minIntegrationTimeMS = ParseData.toUInt16(pages[2], 21); // will overwrite if maxIntegrationTimeMS = ParseData.toUInt16(pages[2], 23); // format >= 5 actualPixelsHoriz = ParseData.toUInt16(pages[2], 25); ROIHorizStart = ParseData.toUInt16(pages[2], 27); ROIHorizEnd = ParseData.toUInt16(pages[2], 29); ROIVertRegionStart[0] = ParseData.toUInt16(pages[2], 31); ROIVertRegionEnd[0] = ParseData.toUInt16(pages[2], 33); ROIVertRegionStart[1] = ParseData.toUInt16(pages[2], 35); ROIVertRegionEnd[1] = ParseData.toUInt16(pages[2], 37); ROIVertRegionStart[2] = ParseData.toUInt16(pages[2], 39); ROIVertRegionEnd[2] = ParseData.toUInt16(pages[2], 41); linearityCoeffs[0] = ParseData.toFloat(pages[2], 43); linearityCoeffs[1] = ParseData.toFloat(pages[2], 47); linearityCoeffs[2] = ParseData.toFloat(pages[2], 51); linearityCoeffs[3] = ParseData.toFloat(pages[2], 55); linearityCoeffs[4] = ParseData.toFloat(pages[2], 59); // deviceLifetimeOperationMinutes = ParseData.toInt32(pages[3], 0); // laserLifetimeOperationMinutes = ParseData.toInt32(pages[3], 4); // laserTemperatureMax = ParseData.toInt16(pages[3], 8); // laserTemperatureMin = ParseData.toInt16(pages[3], 10); laserPowerCoeffs[0] = ParseData.toFloat(pages[3], 12); laserPowerCoeffs[1] = ParseData.toFloat(pages[3], 16); laserPowerCoeffs[2] = ParseData.toFloat(pages[3], 20); laserPowerCoeffs[3] = ParseData.toFloat(pages[3], 24); maxLaserPowerMW = ParseData.toFloat(pages[3], 28); minLaserPowerMW = ParseData.toFloat(pages[3], 32); laserExcitationWavelengthNMFloat = ParseData.toFloat(pages[3], 36); if (format >= 5) { minIntegrationTimeMS = ParseData.toUInt32(pages[3], 40); maxIntegrationTimeMS = ParseData.toUInt32(pages[3], 44); } userData = format < 4 ? new byte[PAGE_LENGTH - 1] : new byte[PAGE_LENGTH]; Array.Copy(pages[4], userData, userData.Length); badPixelSet = new SortedSet <short>(); for (int i = 0; i < 15; i++) { short pixel = ParseData.toInt16(pages[5], i * 2); badPixels[i] = pixel; if (pixel >= 0) { badPixelSet.Add(pixel); } } badPixelList = new List <short>(badPixelSet); if (format >= 5) { productConfiguration = ParseData.toString(pages[5], 30, 16); } else { productConfiguration = ""; } if (format >= 6) { intensityCorrectionOrder = ParseData.toUInt8(pages[6], 0); uint numCoeffs = (uint)intensityCorrectionOrder + 1; if (numCoeffs > 8) { numCoeffs = 0; } intensityCorrectionCoeffs = numCoeffs > 0 ? new float[numCoeffs] : null; for (int i = 0; i < numCoeffs; ++i) { intensityCorrectionCoeffs[i] = ParseData.toFloat(pages[6], 1 + 4 * i); } } else { intensityCorrectionOrder = 0; } if (format >= 7) { avgResolution = ParseData.toFloat(pages[3], 48); } else { avgResolution = 0.0f; } if (format >= 9) { featureMask = new FeatureMask(ParseData.toUInt16(pages[0], 39)); } } catch (Exception ex) { logger.error("EEPROM: caught exception: {0}", ex.Message); return(false); } enforceReasonableDefaults(); registerAll(); return(true); }
public void RegisterEvents(BaseMode gameMode) { gameMode.PlayerConnected += (sender, e) => { var player = sender as Player; try { DateTime?expiryDate; if ((expiryDate = IsBanned(player)) != null) { if (expiryDate > DateTime.Now) { player.SendClientMessage(Color.Red, $"* Esta cuenta está prohíbida. La cuenta quedará desbloqueada en esta fecha y hora: {ParseData.ToStringDateTime((DateTime)expiryDate)}."); player.Kick(); return; } DeleteBan(player.Name); } if (Load(player, out var password)) { player.Account = AccountState.Login; player.ShowDialogLogin(password); } else { player.Account = AccountState.Register; player.ShowDialogRegister(); } } catch (MySqlException ex) { player.SendErrorMessage(ex); } }; }
public object Evaluate(string expr) { if (string.IsNullOrWhiteSpace(expr)) { return(null); } try { myData = new ParseData(expr); var state = ParseState.Start; for (myData.Tokens.Index = 0; myData.Tokens.Index < myData.Tokens.Count; ++myData.Tokens.Index) { var token = myData.Tokens[myData.Tokens.Index]; if (state == ParseState.Start) { if (myData.Tokens.LookAhead(1) == "(") { PushFunction(); state = ParseState.Start; } else if (token == ")") { PopFunction(); state = ParseState.HaveValue; } else { EvaluateWord(); state = ParseState.HaveValue; } } else if (state == ParseState.HaveValue) { if (token == ",") { ConsumeFunctionParameter(); state = ParseState.Start; } else if (token == ")") { ConsumeFunctionParameter(); PopFunction(); state = ParseState.HaveValue; } else if (token == ".") { if (IsIncompleteDecimal()) { state = ParseState.CompleteDecimal; } else { state = ParseState.CallMember; } } else { throw new InvalidOperationException("Don't know how to handle token '" + token + "'"); } } else if (state == ParseState.CompleteDecimal) { CompleteDecimal(); state = ParseState.HaveValue; } else if (state == ParseState.CallMember) { CallMember(); state = ParseState.HaveValue; } else { throw new NotImplementedException("I missed to implement a state in the parser :("); } } return(myData.Result); } catch (Exception ex) { throw new InvalidOperationException(string.Format("Failed to parse expression '{0}' at token {1}", expr, myData.Tokens.Index), ex); } finally { myData = null; } }
private void HandleAuthAccountChangeProof(ParseData data) { // TO DO BattleNetClientResources.IncomingBufferPool.FreeBuffer(data.Data); }
public abstract INode Consume(Parser parser, ParseData data, Lines lines, string scope);
public override INode Consume(Parser parser, ParseData data, Lines lines, string scope) { var current = lines.Current(); var arr = new List <string>(); var line = lines.Value().Trim(); var res = Regex.Match(line, @"\[pre(?:=([a-z ]+))?\]", RegexOptions.IgnoreCase); if (!res.Success) { lines.SetCurrent(current); return(null); } line = line.Substring(0, res.Value.Length); string lang = null; var hl = false; if (res.Groups[1].Success) { var spl = res.Groups[1].Value.Split(' '); hl = spl.Contains("highlight"); lang = spl.FirstOrDefault(x => x != "highlight"); } if (line.EndsWith("[/pre]")) { lines.Next(); arr.Add(line.Substring(0, line.Length - 6)); } else { var found = false; while (lines.Next()) { var value = lines.Value().TrimEnd(); if (value.EndsWith("[/pre]")) { var lastLine = value.Substring(0, value.Length - 6); arr.Add(lastLine); found = true; break; } else { arr.Add(value); } } if (!found) { lines.SetCurrent(current); return(null); } } // Trim blank lines from the start and end of the array for (var i = 0; i < 2; i++) { while (arr.Count > 0 && arr[0].Trim() == "") { arr.RemoveAt(0); } arr.Reverse(); } // Process highlight commands var highlight = new List <(int firstLine, int numLines, string color)>(); if (hl) { // Highlight commands get their own line so we need to keep track of which lines we're removing as we go var newArr = new List <string>(); var firstLine = 0; foreach (var srcLine in arr) { if (srcLine.StartsWith("@@")) { var match = Regex.Match(srcLine, @"^@@(?:(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z]+|\d+)(?::(\d+))?)?$", RegexOptions.IgnoreCase | RegexOptions.Multiline); if (match.Success) { var numLines = 1; var color = "#FF8000"; for (var i = 1; i < match.Groups.Count; i++) { var p = match.Groups[i].Value; if (Colours.IsValidColor(p)) { color = p; } else if (int.TryParse(p, out var iv)) { numLines = iv; } } highlight.Add((firstLine, numLines, color)); continue; } } firstLine++; newArr.Add(srcLine); } arr = newArr; // Make sure highlights don't overlap each other or go past the end of the block highlight.Add((arr.Count, 0, "")); for (var i = 0; i < highlight.Count - 1; i++) { var(currFirst, currNum, currCol) = highlight[i]; var(nextFirst, _, _) = highlight[i + 1]; var lastLine = currFirst + currNum - 1; if (lastLine >= nextFirst) { highlight[i] = (currFirst, nextFirst - currFirst, currCol); } } highlight.RemoveAll(x => x.numLines <= 0); } // Replace all tabs with 4 spaces arr = arr.Select(x => x.Replace("\t", " ")).ToList(); // Find the longest common whitespace amongst all lines (ignore blank lines) var longestWhitespace = arr.Aggregate(9999, (c, i) => { if (i.Trim().Length == 0) { return(c); } var wht = i.Length - i.TrimStart().Length; return(Math.Min(wht, c)); }); // Dedent all lines by the longest common whitespace arr = arr.Select(a => a.Substring(Math.Min(longestWhitespace, a.Length))).ToList(); var highlights = string.Join("", highlight.Select( h => $"<div class=\"line-highlight\" style=\"top: {h.firstLine}em; height: {h.numLines}em; background: {h.color};\"></div>") ); var plain = new UnprocessablePlainTextNode(String.Join("\n", arr)); var cls = string.IsNullOrWhiteSpace(lang) ? "" : $" class=\"lang-{lang}\""; var before = $"<pre{cls}><code>{highlights}"; var after = "</code></pre>"; return(new HtmlNode(before, plain, after)); }
public override INode FormatResult(Parser parser, ParseData data, State state, string scope, Dictionary <string, string> options, string text) { return(new HtmlNode("<code>", new PlainTextNode(text), "</code>")); }
public virtual INode Parse(Parser parser, ParseData data, State state, string scope) { var index = state.Index; var tokenLength = Token.Length; state.Seek(tokenLength + 1, false); var optionsString = state.ScanTo("]").Trim(); if (state.Next() != ']') { state.Seek(index, true); return(null); } var options = new Dictionary <string, string>(); if (optionsString.Length > 0) { if (optionsString[0] == '=' && AllOptionsInMain && MainOption != null) { options[MainOption] = optionsString.Substring(1); } else { if (optionsString[0] == '=') { optionsString = MainOption + optionsString; } var matches = Regex.Matches(optionsString, @"(?=\s|^)\s*([^ ]+?)=([^\s]*)\b(?!=)", RegexOptions.IgnoreCase | RegexOptions.Singleline | RegexOptions.Multiline); foreach (Match m in matches) { var name = m.Groups[1].Value.Trim(); var value = m.Groups[2].Value.Trim(); options[name] = value; } } } if (IsNested) { var stack = 1; var text = ""; while (!state.Done) { text += state.ScanTo("["); var tok = state.GetToken(); if (tok == Token) { stack++; } if (tok == "/" + Token && state.Peek(tokenLength + 3) == "[/" + Token + "]") { stack--; } if (stack == 0) { state.Seek(Token.Length + 3, false); if (!Validate(options, text)) { break; } return(FormatResult(parser, data, state, scope, options, text)); } text += state.Next(); } state.Seek(index, true); return(null); } else { var text = state.ScanTo("[/" + Token + "]"); if (state.Peek(tokenLength + 3).ToLower() == "[/" + Token + "]" && Validate(options, text)) { state.Seek(Token.Length + 3, false); return(FormatResult(parser, data, state, scope, options, text)); } else { state.Seek(index, true); return(null); } } }
//Setting properties of the bar chart void LoadBarChart() { barChart.Series.Clear(); barChart.BackColor = Color.AntiqueWhite; barChart.Palette = ChartColorPalette.BrightPastel; barChart.ChartAreas[0].BackColor = Color.Transparent; barChart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisY.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisX.LabelStyle.Angle = 45; barChart.ChartAreas[0].AxisX.LabelAutoFitMinFontSize = 5; barChart.ChartAreas[0].AxisX.IsStartedFromZero = true; barChart.ChartAreas[0].AxisX.LabelStyle.Interval = 1; barChart.ChartAreas[0].AxisX.Maximum = 3; barChart.ChartAreas[0].AxisY.Maximum = 100; barChart.ChartAreas[0].AxisY.Title = "% Life Expectancy"; barChart.ChartAreas[0].AxisX.Title = "Year"; Series series = new Series { Name = "series2", IsVisibleInLegend = false, ChartType = SeriesChartType.Line }; //reading life expectancies and populating them in line chart ParseData pd = new ParseData(); string filePath = "..\\..\\..\\..\\Data\\"; string lifeExpectancyFilePath = filePath + "LifeExpectancy_Chicago.csv"; Project.ParseData.lifeExpectancy[] lifeExpectancyData = pd.parselifeExpectancyData(lifeExpectancyFilePath); double[] expectancy_2010 = new double[78]; double[] expectancy_2000 = new double[78]; double[] expectancy_1990 = new double[78]; for (int k = 0; k < lifeExpectancyData.Length; k++) { expectancy_2010[k] = Convert.ToDouble(lifeExpectancyData[k].expectancy); } for (int k = 0; k < lifeExpectancyData.Length; k++) { expectancy_2000[k] = Convert.ToDouble(lifeExpectancyData[k].expectancy_2000); } for (int k = 0; k < lifeExpectancyData.Length; k++) { expectancy_1990[k] = Convert.ToDouble(lifeExpectancyData[k].expectancy_1990); } for (int i = 0; i < lifeExpectancyData.Length; i++) { if (lifeExpectancyData[i].communityName.Equals(value_selected)) { series.Points.Add(expectancy_1990[i]); series.Points.Add(expectancy_2000[i]); series.Points.Add(expectancy_2010[i]); series.Points[0].Label = expectancy_1990[i].ToString(); series.Points[1].Label = expectancy_2000[i].ToString(); series.Points[2].Label = expectancy_2010[i].ToString(); series.Points[0].AxisLabel = "1990"; series.Points[1].AxisLabel = "2000"; series.Points[2].AxisLabel = "2010"; } } series["PointWidth"] = (0.5).ToString(); barChart.Titles.Add(new Title("Trend of life Expectancies", Docking.Top, new Font("Verdana", 28f, FontStyle.Bold), Color.Black)); barChart.Series.Add(series); barChart.Invalidate(); panel1.Controls.Add(barChart); }
public override INode Parse(Parser parser, ParseData data, State state, string scope) { var index = state.Index; var tag = GetTag(state); if (state.ScanTo(":") != $"[{tag}" || state.Next() != ':') { state.Seek(index, true); return(null); } var str = state.ScanTo("]"); if (state.Next() != ']') { state.Seek(index, true); return(null); } var match = Regex.Match(str, @"^([^|\]]*?)(?:\|([^\]]*?))?$", RegexOptions.IgnoreCase); if (!match.Success) { state.Seek(index, true); return(null); } var content = new NodeCollection(); var image = match.Groups[1].Value; var @params = match.Groups[2].Success ? match.Groups[2].Value.Trim().Split('|') : new string[0]; var src = image; if (!image.Contains("/")) { image = System.Web.HttpUtility.HtmlDecode(image); content.Nodes.Add(new MetadataNode("WikiUpload", image)); src = System.Web.HttpUtility.HtmlAttributeEncode($"https://twhl.info/wiki/embed/{WikiRevision.CreateSlug(image)}"); } string url = null; string caption = null; var loop = false; var classes = new List <string> { "embedded", "image" }; if (ElementClass != null) { classes.Add(ElementClass); } foreach (var p in @params) { var l = p.ToLower(); if (IsClass(l)) { classes.Add(l); } else if (l == "loop") { loop = true; } else if (l.Length > 4 && l.Substring(0, 4) == "url:") { url = p.Substring(4).Trim(); } else { caption = p.Trim(); } } if (tag == "img" && url != null && ValidateUrl(url)) { if (Regex.IsMatch(url, @"^[a-z]{2,10}://", RegexOptions.IgnoreCase)) { url = System.Web.HttpUtility.HtmlDecode(url); content.Nodes.Add(new MetadataNode("WikiLink", url)); url = System.Web.HttpUtility.HtmlAttributeEncode($"https://twhl.info/wiki/page/{WikiRevision.CreateSlug(url)}"); } } else { url = ""; } var el = "span"; // Non-inline images should eat any whitespace after them if (!classes.Contains("inline")) { state.SkipWhitespace(); el = "div"; } var embed = GetEmbedObject(tag, src, caption, loop); if (embed != null) { content.Nodes.Add(embed); } if (caption != null) { content.Nodes.Add(new HtmlNode("<span class=\"caption\">", new PlainTextNode(caption), "</span>") { PlainAfter = "\n" }); } var before = $" <{el} class=\"{string.Join(" ", classes)}\"" + (caption?.Length > 0 ? $" title=\"{caption}\"" : "") + ">" + (url.Length > 0 ? "<a href=\"" + System.Web.HttpUtility.HtmlAttributeEncode(url) + "\">" : "") + "<span class=\"caption-panel\">"; var after = "</span>" + (url.Length > 0 ? "</a>" : "") + $"</{el}> "; return(new HtmlNode(before, content, after)); }
private ParseData ParseVerse(string reference, bool select) { #if DEMO if (searchExpired) { ResetBibleVerses(); new DemoVersionOnly("Bible searching").ShowDialog(); return(null); } #endif if (Program.Presenter.bwBibleInit.IsBusy) { return(null); } loadingSuspendCount++; string bibVersion = Program.ConfigHelper.BiblePrimaryTranslation; string text = reference; ParseData pd = new ParseData(); int state = 0; // TODO: redo this code to be a real FSM like it should be foreach (char c in text) { if (c == '\'' || c == '*' || c == '%') { continue; } #region IsSeperator if (char.IsSeparator(c) || char.IsWhiteSpace(c) || char.IsPunctuation(c)) { switch (state) { case 0: if (pd.book.Length == 0) { continue; } if (pd.book.Length > 0 && pd.book.Length < 3 && char.IsDigit(pd.book, 0)) { pd.book = pd.book.Trim() + c.ToString(); continue; } state++; break; case 1: if (pd.chap.Length == 0) { continue; } state++; break; case 2: if (pd.verse.Length == 0) { continue; } state++; if (c == '-') { state++; } break; case 3: if (c == '-') { state++; } else { continue; } break; case 4: if (pd.endVerse.Length == 0) { continue; } goto label_Finish; default: break; } } #endregion #region Is Letter else if (char.IsLetter(c)) { switch (state) { case 0: pd.book += c.ToString(); break; case 1: if (pd.chap.Length != 0) { break; } if (pd.book.Length == 0) { pd.book += c.ToString(); } else { pd.book += " " + c; } state = 0; break; case 2: if (pd.verse.Length == 0) { continue; } goto label_Finish; default: break; } } #endregion #region Is Digit else if (char.IsDigit(c)) { switch (state) { case 0: if (pd.book.Length == 0) { pd.book += c.ToString() + " "; } else { state++; pd.chap = c.ToString(); } break; case 1: pd.chap += c.ToString(); break; case 2: pd.verse += c.ToString(); break; case 4: pd.endVerse += c.ToString(); break; default: break; } } #endregion } label_Finish: if (select) { if (pd.book.Length > 0) { dvBibBooks.RowFilter = "(VersionId = '" + bibVersion + "') AND " + "(MappingBook LIKE '" + pd.book + "*' OR " + "Book LIKE '" + pd.book + "*' OR " + "DisplayBook LIKE '" + pd.book + "*')"; UpdateBookList(); lbBibleBook.SelectedIndex = 0; UpdateChapterList(); if (pd.chap.Length > 0) { int chap = int.Parse(pd.chap); if (lbBibleChapter.Items.Count < chap) { lbBibleChapter.SelectedIndex = -1; } else { lbBibleChapter.SelectedIndex = chap - 1; UpdateVerseList(); if (pd.verse.Length > 0) { int v = int.Parse(pd.verse); if (lbBibleVerse.Items.Count < v) { lbBibleVerse.SelectedIndex = -1; } else { lbBibleVerse.SelectedIndex = v - 1; UpdateStartButtons(); } } } } else { lbBibleVerse.Items.Clear(); } } else { ResetBibleVerses(); } } loadingSuspendCount--; return(pd); }
private void HandleChatEvent(ParseData data) { DataReader dr = new DataReader(data.Data); ChatEventType type = (ChatEventType)dr.ReadInt32(); int flags = dr.ReadInt32(); int ping = dr.ReadInt32(); dr.Seek(12); string user = dr.ReadCString(); byte[] userInfo = dr.ReadNullTerminatedByteArray(); string text = Encoding.ASCII.GetString(userInfo); switch (type) { case ChatEventType.UserInChannel: case ChatEventType.UserJoinedChannel: ChatUser newUser = new ChatUser(user, ping, (UserFlags)flags, UserStats.Parse(user, userInfo)); if (m_namesToUsers.ContainsKey(user)) { m_namesToUsers.Remove(user); } m_namesToUsers.Add(user, newUser); UserEventArgs uArgs = new UserEventArgs(type, newUser); HandleUserChatEvent(uArgs); break; case ChatEventType.UserFlagsChanged: if (m_namesToUsers.ContainsKey(user)) { ChatUser changedUser = m_namesToUsers[user]; changedUser.Flags = (UserFlags)flags; UserEventArgs updatedArgs = new UserEventArgs(type, changedUser); HandleUserChatEvent(updatedArgs); } else if (m_channelName.Equals("The Void", StringComparison.OrdinalIgnoreCase)) { ChatUser voidUser = new ChatUser(user, ping, (UserFlags)flags, UserStats.Parse(user, userInfo)); m_namesToUsers.Add(user, voidUser); UserEventArgs voidArgs = new UserEventArgs(type, voidUser); HandleUserChatEvent(voidArgs); } break; case ChatEventType.UserLeftChannel: if (m_namesToUsers.ContainsKey(user)) { ChatUser goneUser = m_namesToUsers[user]; UserEventArgs leftArgs = new UserEventArgs(type, goneUser); HandleUserChatEvent(leftArgs); } break; case ChatEventType.Emote: case ChatEventType.Talk: case ChatEventType.WhisperReceived: case ChatEventType.WhisperSent: ChatMessageEventArgs cmArgs = new ChatMessageEventArgs(type, (UserFlags)flags, user, Encoding.UTF8.GetString(userInfo)); HandleChatMessageEvent(cmArgs); break; case ChatEventType.NewChannelJoined: ServerChatEventArgs joinArgs = new ServerChatEventArgs(type, flags, text); m_channelName = text; m_namesToUsers.Clear(); OnJoinedChannel(joinArgs); break; case ChatEventType.Broadcast: case ChatEventType.ChannelDNE: case ChatEventType.ChannelFull: case ChatEventType.ChannelRestricted: case ChatEventType.Error: case ChatEventType.Information: ServerChatEventArgs scArgs = new ServerChatEventArgs(type, flags, text); HandleServerChatEvent(scArgs); break; } BattleNetClientResources.IncomingBufferPool.FreeBuffer(data.Data); }
/// <summary> /// Converts lines into list items for a given prefix until the prefix no longer matches a line /// </summary> private IEnumerable <ListItemNode> CreateListItems(ListItemNode lastItemNode, string prefix, Parser parser, ParseData data, Lines lines, string scope) { do { var value = lines.Value().TrimEnd(); if (!value.StartsWith(prefix)) { // No longer valid for this list lines.Back(); yield break; } value = value.Substring(prefix.Length); // strip the prefix off the line // Possibilities: // empty string : not valid - stop parsing // first character is whitespace : trim and create list item // first character is list token, second character is whitespace: create sublist // anything else : not valid - stop parsing if (value.Length > 1 && value[0] == ' ' && prefix.Length > 0) // don't allow this if we're parsing at level 0 { // List item value = value.Trim(); var pt = parser.ParseTags(data, value.Trim(), scope, "inline"); lastItemNode = new ListItemNode(pt); yield return(lastItemNode); } else if (value.Length > 2 && IsListToken(value[0]) && value[1] == ' ' && lastItemNode != null) { // Sublist var tag = IsSortedToken(value[0]) ? "ol" : "ul"; var sublist = new ListNode(tag, CreateListItems(lastItemNode, prefix + value[0], parser, data, lines, scope)); lastItemNode.Subtrees.Add(sublist); } else { // Cannot parse this line, list is complete lines.Back(); yield break; } } while (lines.Next()); }
private void HandleWarcraftRequestLadderMap(ParseData data, DataReader dr) { BattleNetClientResources.IncomingBufferPool.FreeBuffer(data.Data); }
public override INode Parse(Parser parser, ParseData data, State state, string scope) { var index = state.Index; if (state.ScanTo(":") != "[youtube" || state.Next() != ':') { state.Seek(index, true); return(null); } var str = state.ScanTo("]"); if (state.Next() != ']') { state.Seek(index, true); return(null); } var regs = Regex.Match(str, @"^([^|\]]*?)(?:\|([^\]]*?))?$", RegexOptions.IgnoreCase); if (!regs.Success) { state.Seek(index, true); return(null); } var id = regs.Groups[1].Value; var @params = regs.Groups[2].Value.Trim().Split('|'); if (!ValidateID(id)) { state.Seek(index, true); return(null); } state.SkipWhitespace(); string caption = null; var classes = new List <string> { "embedded", "video" }; if (ElementClass != null) { classes.Add(ElementClass); } foreach (var p in @params) { var l = p.ToLower(); if (IsClass(l)) { classes.Add(l); } else { caption = p.Trim(); } } var captionNode = new HtmlNode( caption != null ? "<span class=\"caption\">" : "", new PlainTextNode(caption ?? ""), caption != null ? "</span>" : "" ) { PlainBefore = "[YouTube video] ", PlainAfter = "\n" }; var before = $"<div class=\"{string.Join(" ", classes)}\">" + $" <div class=\"caption-panel\">" + $" <div class=\"video-container caption-body\">" + $" <div class=\"video-content\">" + $" <div class=\"uninitialised\" data-youtube-id=\"{id}\" style=\"background-image: url('https://i.ytimg.com/vi/{id}/hqdefault.jpg');\"></div>" + $" </div>" + $" </div>"; var after = $"</div></div>"; return(new HtmlNode(before, captionNode, after)); }
private void HandleAuthInfo(ParseData data) { try { DataReader dr = new DataReader(data.Data); if (m_pingPck != null) { Send(m_pingPck); m_pingPck = null; } m_received0x50 = true; m_loginType = dr.ReadUInt32(); m_srvToken = dr.ReadUInt32(); m_udpVal = dr.ReadUInt32(); m_mpqFiletime = dr.ReadInt64(); m_versioningFilename = dr.ReadCString(); m_usingLockdown = m_versioningFilename.StartsWith("LOCKDOWN", StringComparison.OrdinalIgnoreCase); int crResult = -1, exeVer = -1; string exeInfo = null; if (!m_usingLockdown) { m_valString = dr.ReadCString(); int mpqNum = CheckRevision.ExtractMPQNumber(m_versioningFilename); crResult = CheckRevision.DoCheckRevision(m_valString, new string[] { m_settings.GameExe, m_settings.GameFile2, m_settings.GameFile3 }, mpqNum); exeVer = CheckRevision.GetExeInfo(m_settings.GameExe, out exeInfo); } else { m_ldValStr = dr.ReadNullTerminatedByteArray(); string dllName = m_versioningFilename.Replace(".mpq", ".dll"); BnFtpVersion1Request req = new BnFtpVersion1Request(m_settings.Client, m_versioningFilename, null); req.Server = m_settings.Gateway.ServerHost; req.LocalFileName = Path.Combine(Path.GetTempPath(), m_versioningFilename); req.ExecuteRequest(); string ldPath = null; using (MpqArchive arch = MpqServices.OpenArchive(req.LocalFileName)) { if (arch.ContainsFile(dllName)) { ldPath = Path.Combine(Path.GetTempPath(), dllName); arch.SaveToPath(dllName, Path.GetTempPath(), false); } } m_ldDigest = CheckRevision.DoLockdownCheckRevision(m_ldValStr, new string[] { m_settings.GameExe, m_settings.GameFile2, m_settings.GameFile3 }, ldPath, m_settings.ImageFile, ref exeVer, ref crResult); } m_prodCode = m_settings.Client; if (m_prodCode == "WAR3" || m_prodCode == "W3XP") { m_w3srv = dr.ReadByteArray(128); if (!NLS.ValidateServerSignature(m_w3srv, RemoteEP.Address.GetAddressBytes())) { OnError(new ErrorEventArgs(ErrorType.Warcraft3ServerValidationFailure, Strings.War3ServerValidationFailed, false)); //Close(); //return; } } BattleNetClientResources.IncomingBufferPool.FreeBuffer(data.Data); CdKey key1, key2 = null; key1 = new CdKey(m_settings.CdKey1); if (m_prodCode == "D2XP" || m_prodCode == "W3XP") { key2 = new CdKey(m_settings.CdKey2); } m_clientToken = unchecked ((uint)new Random().Next()); byte[] key1Hash = key1.GetHash(m_clientToken, m_srvToken); if (m_warden != null) { try { if (!m_warden.InitWarden(BitConverter.ToInt32(key1Hash, 0))) { m_warden.UninitWarden(); OnError(new ErrorEventArgs(ErrorType.WardenModuleFailure, "The Warden module failed to initialize. You will not be immediately disconnected; however, you may be disconnected after a short period of time.", false)); m_warden = null; } } catch (Win32Exception we) { OnError(new ErrorEventArgs(ErrorType.WardenModuleFailure, "The Warden module failed to initialize. You will not be immediately disconnected; however, you may be disconnected after a short period of time.", false)); OnError(new ErrorEventArgs(ErrorType.WardenModuleFailure, string.Format(CultureInfo.CurrentCulture, "Additional information: {0}", we.Message), false)); m_warden.UninitWarden(); m_warden = null; } } BncsPacket pck0x51 = new BncsPacket((byte)BncsPacketId.AuthCheck); pck0x51.Insert(m_clientToken); pck0x51.Insert(exeVer); pck0x51.Insert(crResult); if (m_prodCode == "D2XP" || m_prodCode == "W3XP") { pck0x51.Insert(2); } else { pck0x51.Insert(1); } pck0x51.Insert(false); pck0x51.Insert(key1.Key.Length); pck0x51.Insert(key1.Product); pck0x51.Insert(key1.Value1); pck0x51.Insert(0); pck0x51.Insert(key1Hash); if (key2 != null) { pck0x51.Insert(key2.Key.Length); pck0x51.Insert(key2.Product); pck0x51.Insert(key2.Value1); pck0x51.Insert(0); pck0x51.Insert(key2.GetHash(m_clientToken, m_srvToken)); } if (m_usingLockdown) { pck0x51.InsertByteArray(m_ldDigest); pck0x51.InsertByte(0); } else { pck0x51.InsertCString(exeInfo); } pck0x51.InsertCString(m_settings.CdKeyOwner); Send(pck0x51); } catch (Exception ex) { OnError(new ErrorEventArgs(ErrorType.General, "There was an error while initializing your client. Refer to the exception message for more information.\n" + ex.ToString(), true)); Close(); } }
//Setting properties of the bar chart void LoadBarChart() { barChart.Series.Clear(); barChart.BackColor = Color.PowderBlue; barChart.Palette = ChartColorPalette.Fire; barChart.ChartAreas[0].BackColor = Color.Transparent; barChart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisY.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisX.LabelStyle.Angle = 45; barChart.ChartAreas[0].AxisX.LabelAutoFitMinFontSize = 5; barChart.ChartAreas[0].AxisX.IsStartedFromZero = true; barChart.ChartAreas[0].AxisX.LabelStyle.Interval = 1; barChart.ChartAreas[0].AxisX.Maximum = 80; barChart.ChartAreas[0].AxisY.Title = "Per Capita Incomes"; barChart.ChartAreas[0].AxisX.Title = "Community Name"; Series series = new Series { Name = "series2", IsVisibleInLegend = false, ChartType = SeriesChartType.Column }; //reading socio economic indicators and populating them in bar chart ParseData pd = new ParseData(); string filePath = "..\\..\\..\\..\\Data\\"; string SocioEconomicIndicatorsFilePath = filePath + "SocioEconomic_Indicators_Chicago.csv"; Project.ParseData.SocioEconomicIndicators[] socioEconomicData = pd.parsesocioEconomicData(SocioEconomicIndicatorsFilePath); double[] perCapitaIncome = new double[78]; for (int k = 0; k < socioEconomicData.Length; k++) { perCapitaIncome[k] = Convert.ToDouble(socioEconomicData[k].perCapitaIncome); } for (int i = 0; i < socioEconomicData.Length; i++) { series.Points.Add(perCapitaIncome[i]); series.Points[i].Label = perCapitaIncome[i].ToString(); series.Points[i].AxisLabel = socioEconomicData[i].communityName; series.Points[i].Color = Color.DarkSlateGray; } series["PointWidth"] = (0.7).ToString(); barChart.Titles.Add(new Title("Per Capita Incomes of different communities in Chicago", Docking.Top, new Font("Verdana", 28f, FontStyle.Bold), Color.Black)); barChart.Series.Add(series); barChart.Invalidate(); panel1.Controls.Add(barChart); }
// Drop Down to select different communities private void ComboBox_Loaded(object sender, RoutedEventArgs e) { List<string> data = new List<string>(); ParseData pd = new ParseData(); string filePath = "..\\..\\..\\..\\Data\\"; string lifeExpectancyFilePath = filePath + "LifeExpectancy_Chicago.csv"; Project.ParseData.lifeExpectancy[] lifeExpectancyData = pd.parselifeExpectancyData(lifeExpectancyFilePath); data.Add("Community Name"); //Added different coummunities to drop down for (int i = 0; i < lifeExpectancyData.Length; i++) { data.Add(lifeExpectancyData[i].communityName); } var comboBox = sender as System.Windows.Controls.ComboBox; comboBox.ItemsSource = data; comboBox.SelectedIndex = 0; }
public Task <string> Parse([FromBody] ParseData data) { return(MediaWikis.Create(data.Wiki, _identity).Parse(data.Text, data.Title)); }
//Setting properties of the pie chart void LoadPieChart() { pieChart.Series.Clear(); pieChart.Palette = ChartColorPalette.Fire; pieChart.BackColor = Color.LightYellow; pieChart.ChartAreas[0].BackColor = Color.Transparent; Series series = new Series { Name = "Socio Economic Indicators", IsVisibleInLegend = true, ChartType = SeriesChartType.Pie }; pieChart.Series.Add(series); //reading life expectancies and populating them in pie chart ParseData pd = new ParseData(); string filePath = "..\\..\\..\\..\\Data\\"; string SocioEconomicIndicatorsFilePath = filePath + "SocioEconomic_Indicators_Chicago.csv"; Project.ParseData.SocioEconomicIndicators[] socioEconomicData = pd.parsesocioEconomicData(SocioEconomicIndicatorsFilePath); double[] housingCrowded = new double[78]; double[] poverty = new double[78]; double[] unemployment = new double[78]; double[] noDiploma = new double[78]; double[] under18over65 = new double[78]; for (int k = 0; k < socioEconomicData.Length; k++) { poverty[k] = Convert.ToDouble(socioEconomicData[k].poverty); } for (int k = 0; k < socioEconomicData.Length; k++) { unemployment[k] = Convert.ToDouble(socioEconomicData[k].unemployment); } for (int k = 0; k < socioEconomicData.Length; k++) { noDiploma[k] = Convert.ToDouble(socioEconomicData[k].noDiploma); } for (int k = 0; k < socioEconomicData.Length; k++) { under18over65[k] = Convert.ToDouble(socioEconomicData[k].under18over65); } for (int k = 0; k < socioEconomicData.Length; k++) { housingCrowded[k] = Convert.ToDouble(socioEconomicData[k].housingCrowded); } for (int i = 0; i < socioEconomicData.Length; i++) { if (socioEconomicData[i].communityName.Equals(value_selected)) { series.Points.Add(poverty[i]); series.Points.Add(unemployment[i]); series.Points.Add(noDiploma[i]); series.Points.Add(under18over65[i]); series.Points.Add(housingCrowded[i]); series.Points[0].LegendText = "Poverty"; series.Points[1].LegendText = "Unemployment"; series.Points[2].LegendText = "Percent people with no Diploma"; series.Points[3].LegendText = "Percent people under the age 18 and over 65"; series.Points[4].LegendText = "Percent housing crowded"; series.Points[0].Label = poverty[i].ToString(); series.Points[1].Label = unemployment[i].ToString(); series.Points[2].Label = noDiploma[i].ToString(); series.Points[3].Label = under18over65[i].ToString(); series.Points[4].Label = housingCrowded[i].ToString(); //pieChart.Titles.Add("Socio Economic Indicators for " + value_selected); pieChart.Titles.Add(new Title("Socio Economic Indicators for " + value_selected, Docking.Top, new Font("Verdana", 28f, FontStyle.Bold), Color.Black)); } } series["PointWidth"] = (0.5).ToString(); pieChart.Invalidate(); panel1.Controls.Add(pieChart); }
public override INode Consume(Parser parser, ParseData data, Lines lines, string scope) { var current = lines.Current(); var meta = lines.Value().Substring(3); var title = ""; var found = false; var arr = new List <string>(); while (lines.Next()) { var value = lines.Value().TrimEnd(); if (value == "~~~") { found = true; break; } if (value.Length > 1 && value[0] == ':') { title = value.Substring(1).Trim(); } else { arr.Add(value); } } if (!found) { lines.SetCurrent(current); return(null); } string cls; if (meta == "message") { cls = "card-success"; } else if (meta == "info") { cls = "card-info"; } else if (meta == "warning") { cls = "card-warning"; } else if (meta == "error") { cls = "card-danger"; } else { cls = "card-default"; } var before = $"<div class=\"embed-panel card {cls}\">" + (title != "" ? $"<div class=\"card-header\">{System.Web.HttpUtility.HtmlEncode(title)}</div>" : "") + "<div class=\"card-body\">"; var content = parser.ParseElements(data, string.Join("\n", arr), scope); var after = "</div></div>"; return(new HtmlNode(before, content, after) { PlainBefore = title == "" ? "" : title + "\n" + new string('-', title.Length) + "\n" }); }
public IEnumerable <INode> Process(Parser parser, ParseData data, INode node, string scope) { var text = ((PlainTextNode)node).Text; /* * Like everything else here, this isn't exactly markdown, but it's close. * _underline_ * /italics/ * *bold* * ~strikethrough~ * `code` * Very simple rules: no nesting, no newlines, must start/end on a word boundary */ // pre-condition: start of a line OR one of: !?^()+=[]{}"'<>,. OR whitespace // first and last character is NOT whitespace. everything else is fine except for newlines // post-condition: end of a line OR one of: !?^()+=[]{}"'<>,.:; OR whitespace var tracker = new int[Tokens.Length]; void ResetTracker() { for (var j = 0; j < tracker.Length; j++) { tracker[j] = -1; } } ResetTracker(); var plainStart = 0; int i; for (i = 0; i < text.Length; i++) { var c = text[i]; // No newlines in tokens if (c == '\n' || c == '\r') { ResetTracker(); continue; } var tokenIndex = GetTokenIndex(c); if (tokenIndex < 0) { continue; } // Check if we're in this token, and we can close it out if (tracker[tokenIndex] >= 0 && (i + 1 == text.Length || IsEndBreakChar(text[i + 1])) && !Char.IsWhiteSpace(text, i - 1)) { var start = tracker[tokenIndex]; var end = i; if (plainStart < start) { yield return(new PlainTextNode(text.Substring(plainStart, start - plainStart))); } yield return(new HtmlNode(OpenTags[tokenIndex], new PlainTextNode(text.Substring(start + 1, end - start - 1)), CloseTags[tokenIndex])); ResetTracker(); plainStart = i + 1; } // Check if we can open a new token else if ((i == 0 || IsStartBreakChar(text[i - 1])) && i + 1 < text.Length && !Char.IsWhiteSpace(text, i + 1)) { tracker[tokenIndex] = i; } } // Return the rest of the text as plain if (plainStart < text.Length) { yield return(new PlainTextNode(text.Substring(plainStart))); } }
void LoadBarChart() { barChart.Series.Clear(); barChart.BackColor = Color.PowderBlue; barChart.Palette = ChartColorPalette.Fire; barChart.ChartAreas[0].BackColor = Color.Transparent; barChart.ChartAreas[0].AxisX.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisY.MajorGrid.Enabled = false; barChart.ChartAreas[0].AxisX.LabelStyle.Angle = 45; barChart.ChartAreas[0].AxisX.LabelAutoFitMinFontSize = 5; barChart.ChartAreas[0].AxisX.IsStartedFromZero = true; barChart.ChartAreas[0].AxisX.LabelStyle.Interval= 1; barChart.ChartAreas[0].AxisX.Maximum = 79; Series series = new Series { Name = "series2", IsVisibleInLegend = false, ChartType = SeriesChartType.Column }; ParseData pd = new ParseData(); string filePath = "..\\..\\..\\..\\Data\\"; string lifeExpectancyFilePath = filePath + "LifeExpectancy_Chicago.csv"; Project.ParseData.lifeExpectancy[] lifeExpectancyData = pd.parselifeExpectancyData(lifeExpectancyFilePath); double[] expectancy = new double[78]; for (int k = 0; k < lifeExpectancyData.Length; k++) { expectancy[k] = Convert.ToDouble(lifeExpectancyData[k].expectancy); } for (int i = 0; i < lifeExpectancyData.Length; i++) { series.Points.Add(expectancy[i]); series.Points[i].Label = lifeExpectancyData[i].expectancy; series.Points[i].AxisLabel = lifeExpectancyData[i].communityName; series.Points[i].Color = Color.Green; } series["PointWidth"] = (0.7).ToString(); barChart.Series.Add(series); barChart.Invalidate(); panel2.Controls.Add(barChart); }
private static void DateTimeServer(Player player) => player.SendClientMessage(Color.Orange, $"--> Fecha y hora local del servidor: {Color.White}{ParseData.ToStringDateTime(DateTime.Now)}");
private void pollStreamerMainTab(string streamName) { ParseData classParseData = new ParseData(); string doReturnData = classParseData.getData(streamName); var converter = new System.Windows.Media.BrushConverter(); var brushRed = (Brush)converter.ConvertFromString("#FF0000"); var brushGreen = (Brush)converter.ConvertFromString("#33FF00"); lbl_contentGetStreamer.Content = streamName; if (doReturnData.Contains("!(LIVE)")) { lbl_StreamerStatus.Foreground = brushRed; lbl_StreamerStatus.Content = "STREAMER OFFLINE"; } else { string finalTitle = doReturnData.Split('$')[0]; string finalGame = doReturnData.Split('$')[1]; string finalViewers = doReturnData.Split('$')[2]; var finalImage = doReturnData.Split('$')[3]; lbl_contentGetTitle.Content = finalTitle; lbl_contentGetGame.Content = finalGame; lbl_contentGetViewerCount.Content = finalViewers; if (checkbox_getAvatar.IsChecked == true) { img_streamerOffline.Source = getStreamerImage(finalImage); } lbl_StreamerStatus.Foreground = brushGreen; lbl_StreamerStatus.Content = "STREAMER ONLINE"; } }
private static ParseData ParseParameters(string format, bool parseValue) { ParseData parseData = new ParseData(); parseData.RefParamStack = new Stack <CommandReferenceParam>(); parseData.ValParamStack = new Stack <CommandParam>(); parseData.Tokens = new List <string>(); parseData.Token = ""; parseData.IsParsingValue = parseValue; // Create the root parameter. if (parseData.IsParsingValue) { parseData.ValParamStack.Push(new CommandParam(CommandParamType.Array)); } else { parseData.RefParamStack.Push(new CommandReferenceParam(CommandParamType.Array)); } // Parse the format, character by character. bool quotes = false; for (int i = 0; i < format.Length; i++) { char c = format[i]; // Parse strings between quotes. if (quotes) { if (c == '"') { quotes = false; CompleteToken(parseData); } else { parseData.Token += c; } } else if (c == '"') { quotes = true; } // Whitespace. else if (c == ' ' || c == '\t') { CompleteToken(parseData); } // Parameter delimiter (comma) else if (c == ',') { CompleteToken(parseData); CompleteDefaultValue(parseData); } // Parameter array begin else if (c == '(') { if (parseData.IsParsingValue) { if (parseData.IsParsingDefaultValue) { parseData.RefParamStack.Push(parseData.RefParamStack.Peek() .GetChildren().ElementAt(parseData.ValParamStack.Peek().ChildCount)); } parseData.ValParamStack.Push(parseData.ValParamStack.Peek() .AddChild(new CommandParam(CommandParamType.Array))); } else { parseData.RefParamStack.Push(parseData.RefParamStack.Peek() .AddChild(new CommandReferenceParam(CommandParamType.Array))); } } // Parameter array end. else if (c == ')') { CompleteToken(parseData); if (parseData.IsParsingValue) { parseData.ValParamStack.Pop(); } if (!parseData.IsParsingValue || (parseData.IsParsingValue && parseData.IsParsingDefaultValue)) { parseData.RefParamStack.Pop(); } } // Default parameter value. else if (c == '=') { parseData.IsParsingValue = true; parseData.IsParsingDefaultValue = true; CommandReferenceParam refParent = new CommandReferenceParam(CommandParamType.Array); refParent.AddChild(parseData.RefParamStack.Peek().GetChildren().Last()); parseData.RefParamStack.Push(refParent); parseData.ValParamStack.Push(new CommandParam(CommandParamType.Array)); } //else if (c == '.') { TODO: variadic parameters. //} else { parseData.Token += c; } } CompleteToken(parseData); CompleteDefaultValue(parseData); return(parseData); }