static public CpuTempMonitorMessage ParseMatchObject(Match match) { CpuTempMonitorMessage result = null; if (match != null && match.Success) { result = new CpuTempMonitorMessage(); result.Time = DateTime.ParseExact(match.Groups[1].Value, "HH:mm:ss", CultureInfo.InvariantCulture); result.Temperature = double.Parse(match.Groups[2].Value, CultureInfo.InvariantCulture); result.CpuSpeed = double.Parse(match.Groups[3].Value, CultureInfo.InvariantCulture); result.CpuLoad1 = double.Parse(match.Groups[4].Value, CultureInfo.InvariantCulture); result.CpuLoad2 = double.Parse(match.Groups[5].Value, CultureInfo.InvariantCulture); result.CpuLoad3 = double.Parse(match.Groups[6].Value, CultureInfo.InvariantCulture); result.CpuLoad4 = double.Parse(match.Groups[7].Value, CultureInfo.InvariantCulture); } return(result); }
static public CpuTempMonitorMessage ParseMonitorString(object Sender, string rawData) { CpuTempMonitorMessage result = null; string pattern = @"(\d{2}:\d{2}:\d{2})\s+(\d+[,.]\d+)[^\d]+(\d+)\sMHz\s(\d+[,.]\d{2})\s(\d+[.,]\d{2})\s(\d+[.,]\d{2})\s(\d+[.,]\d{2})"; MatchCollection match = Regex.Matches(rawData, pattern); if (match.Count == 1) { result = new CpuTempMonitorMessage(); result.Time = DateTime.ParseExact(match[0].Groups[1].Value, "HH:mm:ss", CultureInfo.InvariantCulture); result.Temperature = double.Parse(match[0].Groups[2].Value, CultureInfo.InvariantCulture); result.CpuSpeed = double.Parse(match[0].Groups[3].Value, CultureInfo.InvariantCulture); result.CpuLoad1 = double.Parse(match[0].Groups[4].Value, CultureInfo.InvariantCulture); result.CpuLoad2 = double.Parse(match[0].Groups[5].Value, CultureInfo.InvariantCulture); result.CpuLoad3 = double.Parse(match[0].Groups[6].Value, CultureInfo.InvariantCulture); result.CpuLoad4 = double.Parse(match[0].Groups[7].Value, CultureInfo.InvariantCulture); result.Sender = Sender; } return(result); }