Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IvanR

Como mascarar uma String em C++ e VCL?

Recommended Posts

ola a todos, tenho um programa que recebe 3 valores

 

String posicao = grid->DataSource->DataSet->FieldByName("POS")->AsString;
	String veiculo = grid->DataSource->DataSet->FieldByName("VEICULO")->AsString;
	String tipo = grid->DataSource->DataSet->FieldByName("TIPO")->AsString;

e guarda em uma list

 

list ->Add(+posicao + veiculo + tipo);

Só que tem um problema, por exemplo, se o primeiro da lista for:

 

posição: 1

veiculo: 330

Tipo: FORD

 

E o segundo for

 

posição: 2

veiculo: 30

Tipo: FORD

 

Eu tenho que imprimir no arquivo algo como

 

1330FORD

2030FORD

 

Ao invés de imprimir

 

1303FORD

230FORD

 

Alguem sabe como poderia completar com 0´s a casa centesimal que falta? Mascarar a saída.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa você esta imprimindo como string era pra vir com os zeros!

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que o bd me mostra 330 e 30 e

 

não sei se é a melhor solução concatenar, transformar pra inteiro e depois voltar pra string, já q isso pode consumir memória q pode fazer falta no futuro, mas se não conseguir achar um método da String da VCL que possa me dar um modo de fazer uma máscara preenchendo com 0´s, terei de fazer isso mesmo

 

EDIT:

 

estou falando mas esqueci de dizer que String da VCL é uma AnsiString

 

http://www.dicasbcb.com.br/_livro/14.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu não falei em concatenar...Falei em somar inteiros.Concatenar eh BEM diferente disso.

Também dá na mesma se você multiplicar 2 por 10 e crie uma nova string com a concatenacao de 20 e 30...

 

Também dá pra usar resize na string do 2 p/ 2 elementos preenchendo com 0 e concatenar com a string 30 ou usar o insert do C++.

 

Maneira é o que não falta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

falei concatenar pq ele sai como String e não como inteiro, eskeci de falar isso. Mas acabei resolvendo aki:

 

String comprimento = RightStr("00000"+FloatToStrF(comprimentoVeiculo,ffNumber,4,2),5);

vlw ai galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.