Tiburon - Construindo strings com TStringBuilder
A RTL traz uma nova classe chamada TStringBuilder. seu propósito é revelado em seu nome – é um classe que foi criada para “construir” strings. TStringBuilder tem várias funções sobrecarregadas (overload) para adicionar, editar e inserir conteúdo em uma determinada string.
Abaixo um exemplo:
A primeira mensagem, 2009andC++ together, ops
Trocando ‘and’ por ‘ and ‘, linha 50
Share This | Email this page to a friend
Posted by Andreano Lanusse on July 24th, 2008 under Delphi, Portuguese |8 Responses to “Tiburon - Construindo strings com TStringBuilder”
Leave a Comment
Server Response from: dnrh2.codegear.com




July 25th, 2008 at 5:29 am
Andreano,
Muito bom, quando puder divulgue novidades sobre o C++ Builder 2009!
Abraços,
Reinaldo Guedes
MRS Logística S.A.
July 27th, 2008 at 4:13 pm
E qual seria a vantagem de utilizar a SB no lugar de operadores que já estamos acostumados e funções simples de conversão? Não me parece nada prático instanciar uma classe (e cuidar da vida dela com try..finally) apenas para manipular uma string.
July 27th, 2008 at 9:14 pm
Olá Reinaldo,
Com certeza, já tem algumas coisas divulgadas no nosso blog e outras por vir.
July 27th, 2008 at 9:15 pm
Olá Erick,
StringBuilder não substitui String, você não terá que mudar todas as String do seu sistema para trabalhar com StringBuilder.
Casos onde você tem manipulação excessiva de string, recomendo passar a usar StringBuilder, geralmente isso acontece quando você trabalha com importação/exportação de arquivos textos.
TStringBuilder tem um buffer interno para gravar string, isso evita realocação de memória para cada nova string, com isso o trabalho do compilador é menor, pois não tem que localizar referências ou contar strings todo o tempo, por isso é mais rápido.
July 30th, 2008 at 6:33 pm
Bom. Muito bom mesmo. Instrução simples e limpa. Acho que podemos utilizar na construção de comandos sql.
August 7th, 2008 at 1:42 pm
Achei legal essa nova classe, mas como disse o Erick não é prático vc ficar instanciando objetos e pois podemos esquecer de destrui-los. Acho q uma coisa legal q poderiam fazer em próxima versão seria um novo tipo de dado primitivo string q fosse como o do Java, nele teriam todas as funções básica por ex: copy, delete, insert, pos e sendo destruídos automaticamente ao sairem de escopo
August 14th, 2008 at 9:04 am
Interessante como o delphi começou a se aproximar mais do c#
Vejam um pedaço de código que ja uso.
public void MlogUpdateRecord(string _ConnectionString)
{
StringBuilder _SqlString = new StringBuilder();
MlogDbConnections _Conn = new MlogDbConnections();
_SqlString.Append("UPDATE tblPercursoVazio set");
_SqlString.Append(" IdPercursoVazio = ");
_SqlString.Append(" ‘"+fIdPercursoVazio.ToString()+"‘, ");
{…..}
_SqlString.Append(" ValKm = ");
_SqlString.Append(" ‘"+fValKm.ToString()+"‘, ");
_SqlString.Append(" ValTarifaSimples = ");
_SqlString.Append(" ‘"+fValTarifaSimples.ToString()+"‘, ");
_SqlString.Append(" ValTarifaTruck = ");
_SqlString.Append(" ‘"+fValTarifaTruck.ToString()+"‘, ");
_SqlString.Append(" ValTarifaBitrem = ");
_SqlString.Append(" ‘"+fValTarifaBitrem.ToString()+"‘, ");
_SqlString.Append(" IndAtivo = ");
_SqlString.Append(" ‘"+fIndAtivo.ToString()+"‘ ");
_SqlString.Append("WHERE IdPercursoVazio = "+fIdPercursoVazio.ToString()+" ");
Só não entendo pq o Delphi.Net não é totalmente compatível com o dataset usado comumente pelo C# e vb.net. Querem uma sujestão?
Impleentem isso no Tiburon.
September 23rd, 2008 at 10:30 am
Quais métodos existem no TStringBuilder além do Append e Replace?? Onde posso encontrar a assinatura da classe?