FUN?ÃO PARA FORMATAR STRING
ola pessoal antigamente antes de migrar para o c# eu tinha esta funcao em vb 6 gostaria de saber como faco a mesmo em .net em c# exite algo parecido
Function Formata(ByVal texto As String, ByVal QtdeEspacos As Integer, Optional TipoEspaco As String = [Ô] [Ô], Optional Direcao As eDirecao = eDireita, Optional Mask As String) As String
On Error GoTo ERRO
Dim x As Long
Dim Tam As Long
Dim espaco As String
Dim Var As String
Dim Qtde As Integer
If Trim(texto) = [Ô]__/__/____[Ô] Or Trim$(texto) = [Ô]__/__/__[Ô] Then
texto = [Ô][Ô]
End If
If Mask <> [Ô][Ô] Then
texto = Trim$(Format(texto, Mask))
Else
texto = Trim$(texto)
End If
Tam = Len(Trim$(texto))
If (QtdeEspacos - Tam) < 0 Then
Formata = Left$(texto, QtdeEspacos)
Exit Function
End If
If Direcao <> eCentro Then
Qtde = (QtdeEspacos - Tam)
Else
Qtde = (QtdeEspacos - Tam) / 2
End If
For x = 1 To Qtde
espaco = espaco & TipoEspaco
Next
If Direcao = eDireita Then
Var = texto & espaco
ElseIf Direcao = eEsquerda Then
Var = espaco & texto
ElseIf Direcao = eCentro Then
Var = espaco & texto & espaco
End If
Formata = Var
Exit Function
ERRO:
TrataErro [Ô]Function Formata(ByVal texto As String, ByVal QtdeEspacos As Integer, Optional TipoEspaco As String = Optional Direcao As eDirecao = eDireita, Optional Mask As String) As String[Ô], Principal, [Ô][Ô], , , True
Exit Function
End Function
Function Formata(ByVal texto As String, ByVal QtdeEspacos As Integer, Optional TipoEspaco As String = [Ô] [Ô], Optional Direcao As eDirecao = eDireita, Optional Mask As String) As String
On Error GoTo ERRO
Dim x As Long
Dim Tam As Long
Dim espaco As String
Dim Var As String
Dim Qtde As Integer
If Trim(texto) = [Ô]__/__/____[Ô] Or Trim$(texto) = [Ô]__/__/__[Ô] Then
texto = [Ô][Ô]
End If
If Mask <> [Ô][Ô] Then
texto = Trim$(Format(texto, Mask))
Else
texto = Trim$(texto)
End If
Tam = Len(Trim$(texto))
If (QtdeEspacos - Tam) < 0 Then
Formata = Left$(texto, QtdeEspacos)
Exit Function
End If
If Direcao <> eCentro Then
Qtde = (QtdeEspacos - Tam)
Else
Qtde = (QtdeEspacos - Tam) / 2
End If
For x = 1 To Qtde
espaco = espaco & TipoEspaco
Next
If Direcao = eDireita Then
Var = texto & espaco
ElseIf Direcao = eEsquerda Then
Var = espaco & texto
ElseIf Direcao = eCentro Then
Var = espaco & texto & espaco
End If
Formata = Var
Exit Function
ERRO:
TrataErro [Ô]Function Formata(ByVal texto As String, ByVal QtdeEspacos As Integer, Optional TipoEspaco As String = Optional Direcao As eDirecao = eDireita, Optional Mask As String) As String[Ô], Principal, [Ô][Ô], , , True
Exit Function
End Function
JOAOBENEVIDES.
é +/- isso?
[][ô]s,
Tunusat.
é +/- isso?
public String Formata(String texto, Int32 QtdeEspacos, string TipoEspaco = [Ô] [Ô], eDirecao Direcao = eDireita, String Mask = [Ô][Ô])
{
long x;
long Tam;
string espaco;
string var;
Int32 Qtde;
try
{
if (texto.Trim() == [Ô]__/__/____[Ô])
{
texto = [Ô][Ô];
}
if (Mask != [Ô][Ô])
{
texto = (string.Format(texto, Mask)).Trim();
}
else
{
texto = texto.Trim();
}
Tam = texto.Trim().Length;
if ((QtdeEspacos - Tam) < 0)
{
return texto.Substring(1, QtdeEspacos);
}
if (Direcao != eCentro)
{
Qtde = (int)(QtdeEspacos - Tam);
}
else
{
Qtde = (int)(QtdeEspacos - Tam) / 2;
}
for (int i = 1; i < Qtde; i++)
{
espaco = espaco + TipoEspaco;
}
if (Direcao == eDireita)
{
var = texto + espaco;
}
else if (Direcao == eEsquerda)
{
var = espaco + texto;
}
else if (Direcao == eEsquerda)
{
var = espaco + texto + espaco;
}
return var;
}
catch (Exception ex)
{
//TrataErro [Ô]Function Formata(ByVal texto As String, ByVal QtdeEspacos As Integer, Optional TipoEspaco As String = Optional Direcao As eDirecao = eDireita, Optional Mask As String) As String[Ô], Principal, [Ô][Ô], , , True
}
finally
{
return var;
}
}
[][ô]s,
Tunusat.
Sinceramente, se sua intenção é formatar datas, você está fazendo da forma mais difÃcil possÃvel. Crie um objeto do tipo DateTime e formate os dados dele com o método ToString() ou o método format, passando o formato desejado:
Um grande erro de muitos programadores é enxergar dados como string, principalmente datas e horas. Data e hora são formatos de dados especÃficos e para cálculos o tipo DateTime é excelente. Com ele você pode adicionar e subtrair qualquer partÃcula de dados, como horas, minutos, segundos, dias, anos, meses e fazer seus cálculos realmente corretos. Convertendo para string, você vai precisar fazer várias [Ô]peripécias[Ô] para poder ter os valores corretos.
DateTime dt = DateTime.Now; // ou sua data
string s = dt.ToString([Ô]yyyyMMddHHmmss[Ô]);
string s1 = string.Format([Ô]A data e hora é: {0:yyyyMMddHHmmss}[Ô], dt);
string s2 = string.Format([Ô]dd/MM/yyyy[Ô], dt);
Um grande erro de muitos programadores é enxergar dados como string, principalmente datas e horas. Data e hora são formatos de dados especÃficos e para cálculos o tipo DateTime é excelente. Com ele você pode adicionar e subtrair qualquer partÃcula de dados, como horas, minutos, segundos, dias, anos, meses e fazer seus cálculos realmente corretos. Convertendo para string, você vai precisar fazer várias [Ô]peripécias[Ô] para poder ter os valores corretos.
Tópico encerrado , respostas não são mais permitidas