public void SplitInLines() { //Here the Text is first split up in lines where ever the programmer put a @, But if the text is stil longer then the MaxChar that fits in the width of the textbox // It is split down even further Lines = FullText.Split((char)'@').ToList(); AllLines = new List <string> { }; foreach (string _Line in Lines) { string Templine = ""; Templine = _Line; if (_Line.Count() > CharPerLine) { int _AmountOfLines = _Line.Count() / CharPerLine; int x = 0; int CurrentIndex = CharPerLine; while (_AmountOfLines > 0) { if (_Line.ElementAtOrDefault(CurrentIndex) == ' ') { StringBuilder sb = new StringBuilder(Templine); sb[CurrentIndex] = '@'; Templine = sb.ToString(); _AmountOfLines -= 1; CurrentIndex += CharPerLine; } else { x++; CurrentIndex -= 1; } } AllLines.AddRange(Templine.Split((char)'@').ToList()); } else { AllLines.Add(_Line); } } foreach (string y in AllLines) { Console.WriteLine(y); } FullText = FullText.Replace("@", System.Environment.NewLine); }
public RoomRecord(string rawText) { FullText = rawText.Trim(); var parts = FullText.Split('-'); EncryptedName = string.Join('-', parts.Take(parts.Length - 1)); var suffix = parts.Last(); var suffixParts = suffix.Split('['); RawSectorId = suffixParts[0]; Checksum = suffixParts[1].TrimEnd(']'); SectorId = int.Parse(RawSectorId); var letters = EncryptedName.Replace("-", ""); var letterCounts = new Dictionary <char, int>(); foreach (var l in letters) { if (!letterCounts.ContainsKey(l)) { letterCounts[l] = 0; } letterCounts[l] = 1 + letterCounts[l]; } RealChecksum = new string( letterCounts .OrderByDescending(x => x.Value) .ThenBy(x => x.Key) .Select(x => x.Key) .ToArray() ) .Substring(0, 5); IsReal = RealChecksum == Checksum; RealName = IsReal ? Decrypt() : null; }
public DataTable ReadCSVFile(string filePath) { DataTable dtCsv = new DataTable(); string FullText; using (StreamReader sr = new StreamReader(filePath)) { FullText = sr.ReadToEnd().ToString(); //read full file text string[] rows = FullText.Split('\n'); //split full file text into rows { for (int i = 0; i < rows.Count() - 1; i++) { string[] rowValues = rows[i].Split(','); //split each row with comma to get individual value { if (i == 0) { for (int j = 0; j < rowValues.Count(); j++) { dtCsv.Columns.Add(rowValues[j]); //add headers } } else { DataRow dr = dtCsv.NewRow(); var length = rowValues.Count() > dtCsv.Columns.Count ? dtCsv.Columns.Count : rowValues.Count(); for (int k = 0; k < length; k++) { dr[k] = rowValues[k].ToString(); } dtCsv.Rows.Add(dr); //add other rows } } } } } return(dtCsv); }
/// <summary> /// The MySqlCommand initialized for this query, including any and all parameters. /// </summary> public DBHelperCommandArgs ModelQueryCommand() { List <string> lstWhereTerms = new List <string>(); List <MySqlParameter> lstParams = new List <MySqlParameter>(); // Add each of the terms string[] rgTerms = FullText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < rgTerms.Length; i++) { AddQueryTerm(rgTerms[i], String.Format(CultureInfo.InvariantCulture, "FullText{0}", i), "Concat(model, ' ', manufacturers.manufacturer, ' ', typename, ' ', family, ' ', modelname, ' ', categoryclass.CatClass)", lstWhereTerms, lstParams); } string szPreferred = "0"; if (PreferModelNameMatch) { string szModelMatch = String.Format(CultureInfo.InvariantCulture, "%{0}%", ConvertWildcards(FullText)); szPreferred = "IF(model LIKE ?modelMatch, 1, 0)"; lstParams.Add(new MySqlParameter("modelMatch", szModelMatch)); } AddQueryTerm(CatClass, "qCatClass", "catclass", lstWhereTerms, lstParams); AddQueryTerm(rNormalizeModel.Replace(Model, string.Empty), "qModel", "REPLACE(REPLACE(model, ' ', ''), '-', '')", lstWhereTerms, lstParams); if (ModelName.StartsWith(ICAOPrefix, StringComparison.CurrentCultureIgnoreCase)) { AddQueryTerm(ModelName.Substring(ICAOPrefix.Length), "qFamilyName", "family", lstWhereTerms, lstParams); } else { AddQueryTerm(ModelName, "qModelName", "modelname", lstWhereTerms, lstParams); } AddQueryTerm(ManufacturerName, "qMan", "manufacturer", lstWhereTerms, lstParams); AddQueryTerm(TypeName, "qType", "typename", lstWhereTerms, lstParams); if (ManufacturerID != Manufacturer.UnsavedID) { lstWhereTerms.Add(" (models.idManufacturer = ?manID) "); lstParams.Add(new MySqlParameter("manID", ManufacturerID)); } string szHavingPredicate = String.Join(" AND ", lstWhereTerms.ToArray()); const string szQTemplate = @"SELECT models.*, manufacturers.manufacturer, categoryclass.CatClass as 'Category/Class', {0} AS AircraftIDs, {1} AS preferred FROM models INNER JOIN manufacturers on manufacturers.idManufacturer = models.idmanufacturer INNER JOIN categoryclass on categoryclass.idCatClass = models.idcategoryclass {2} {3} {4} {5}"; const string szQSamplesTemplate = @"LEFT OUTER JOIN (SELECT ac.idmodel, group_concat(DISTINCT img.imageKey separator ',') AS AircraftIDs FROM Images img INNER JOIN aircraft ac ON CAST(img.imageKey AS Unsigned)=ac.idaircraft WHERE img.VirtPathID=1 GROUP BY ac.idmodel) Samples ON models.idmodel=Samples.idmodel"; string szQ = String.Format(CultureInfo.InvariantCulture, szQTemplate, IncludeSampleImages ? "Samples.AircraftIDs" : "NULL", szPreferred, IncludeSampleImages ? szQSamplesTemplate : string.Empty, szHavingPredicate.Length == 0 ? string.Empty : String.Format(CultureInfo.InvariantCulture, " WHERE {0} ", szHavingPredicate), SortOrderFromSortModeAndDirection(SortMode, SortDir), (Limit > 0 && Skip >= 0) ? String.Format(CultureInfo.InvariantCulture, " LIMIT {0},{1} ", Skip, Limit) : string.Empty); DBHelperCommandArgs args = new DBHelperCommandArgs(szQ, lstParams); return(args); }