using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SteamWare { /// /// Classe di metodi che estendono quelli base applicati alle string /// public class SteamwareStrings { /// /// Trasforma in MAIUSCOLo il primo carattere della stringa /// /// stringa da processare /// stringa processata public static string firstToUpper(string _stringaIN) { string _stringaOUT = _stringaIN; if (_stringaIN.Length > 1) { _stringaOUT = _stringaIN.Substring(0, 1).ToUpper() + _stringaIN.Substring(1, _stringaIN.Length - 1).ToLower(); } return _stringaOUT; } /// /// effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi /// /// /// public static string EscapeSqlLike(string s_) { StringBuilder sb = new StringBuilder(s_.Length); for (int i = 0; i < s_.Length; i++) { char c = s_[i]; switch (c) { case ']': case '[': case '%': case '*': sb.Append("[").Append(c).Append("]"); break; case '\'': sb.Append("''"); break; default: sb.Append(c); break; } } return sb.ToString(); } /// /// restituisce una stringa uguale all'originale + terminazione newline /// /// /// public static string addLine(object s) { return string.Format("{0}{1}", s, Environment.NewLine); } /// /// formatta un titolo /// /// Titolo da scrivere /// carattere x padding titolo /// larghezza caratteri (x pad) /// public static string charTitle(object title, char padChar, int repNum) { string answ = ""; answ += addLine(new string(padChar, repNum)); answ += addLine(string.Format("{0} {1}", padChar, title)); answ += addLine(new string(padChar, repNum)); return answ; } /// /// formatta una riga di caratteri /// /// carattere da utilizzare /// larghezza caratteri (x pad) /// public static string charLine(char padChar, int repNum) { string answ = ""; answ += addLine(new string(padChar, repNum)); return answ; } /// /// genera stringhe pseudo-casuali /// /// /// public static string pseudoRandomString(int Lenght) { string answ = ""; var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; var random = new Random(); answ = new string( Enumerable.Repeat(chars, Lenght) .Select(s => s[random.Next(s.Length)]) .ToArray()); return answ; } /// /// limita una stringa al numero max di caratteri imposto /// /// /// /// public static string limitString(string original, int maxChar) { string outString = original; if (outString.Length > maxChar) { outString = string.Format("{0}...", original.Substring(0, maxChar - 3)); } return outString; } /// /// limita una stringa al numero max di caratteri imposto prendendo ANCHE ultimi /// /// /// /// /// public static string limitString(string original, int maxChar, int lastNumChar) { string outString = original; if (outString.Length > maxChar) { outString = string.Format("{0}...{1}", original.Substring(0, maxChar - 3 - lastNumChar), original.Substring(outString.Length - lastNumChar)); } return outString; } } }