144 lines
4.3 KiB
C#
144 lines
4.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SteamWare
|
|
{
|
|
/// <summary>
|
|
/// Classe di metodi che estendono quelli base applicati alle string
|
|
/// </summary>
|
|
public class SteamwareStrings
|
|
{
|
|
/// <summary>
|
|
/// Trasforma in MAIUSCOLo il primo carattere della stringa
|
|
/// </summary>
|
|
/// <param name="_stringaIN">stringa da processare</param>
|
|
/// <returns>stringa processata</returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi
|
|
/// </summary>
|
|
/// <param name="s_"></param>
|
|
/// <returns></returns>
|
|
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();
|
|
}
|
|
/// <summary>
|
|
/// restituisce una stringa uguale all'originale + terminazione newline
|
|
/// </summary>
|
|
/// <param name="s"></param>
|
|
/// <returns></returns>
|
|
public static string addLine(object s)
|
|
{
|
|
return string.Format("{0}{1}", s, Environment.NewLine);
|
|
}
|
|
/// <summary>
|
|
/// formatta un titolo
|
|
/// </summary>
|
|
/// <param name="title">Titolo da scrivere</param>
|
|
/// <param name="padChar">carattere x padding titolo</param>
|
|
/// <param name="repNum">larghezza caratteri (x pad)</param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
/// <summary>
|
|
/// formatta una riga di caratteri
|
|
/// </summary>
|
|
/// <param name="padChar">carattere da utilizzare</param>
|
|
/// <param name="repNum">larghezza caratteri (x pad)</param>
|
|
/// <returns></returns>
|
|
public static string charLine(char padChar, int repNum)
|
|
{
|
|
string answ = "";
|
|
answ += addLine(new string(padChar, repNum));
|
|
return answ;
|
|
}
|
|
/// <summary>
|
|
/// genera stringhe pseudo-casuali
|
|
/// </summary>
|
|
/// <param name="Lenght"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// limita una stringa al numero max di caratteri imposto
|
|
/// </summary>
|
|
/// <param name="original"></param>
|
|
/// <param name="maxChar"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
/// <summary>
|
|
/// limita una stringa al numero max di caratteri imposto prendendo ANCHE ultimi
|
|
/// </summary>
|
|
/// <param name="original"></param>
|
|
/// <param name="maxChar"></param>
|
|
/// <param name="lastNumChar"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
}
|