Fórum Calcular o tamanho da string depois do ponto #364391

28/09/2008

0

Galera Boa Tarde,

Peguei vários exemplos aqui no fórum mas nenhum deles consegui fazer o calculo certo.

Em meu sistema tenho um código para identificação de cada pessoa da seguinte maneira.

H 1.01 --> 2 caracteres depois do ponto
M 3.010204 --> 6 caracteres depois do ponto
JH12.0201050709 --> 10 caracteres depois do ponto
JM 3.010304 --> 6 caracteres depois do ponto
H 7.0103 --> 4 caracteres depois do ponto

Quero contar os caracteres que vem depois do . (ponto) que sempre serão números pares.


Nilsonalvernaz

Nilsonalvernaz

Responder

Posts

28/09/2008

Luciano.lirio

NilsonAlvanaz,

tenta o código abaixo.
function Contar(_Str: String): Integer;
begin
  Delete(_Str,2,Pos(´.´,_Str));
  Result := Length(_Str);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(´H 1.01 -> ´+IntToStr(Contar(´H 1.01´))+#1310+
              ´M 3.010204 - > ´+IntToStr(Contar(´M 3.010204´))+1310+
              ´JH12.0201050709 - >´+IntToStr(Contar(´JH12.0201050709´))+1310+
              ´JM 3.010304 - >´+IntToStr(Contar(´JM 3.010304´))+1310+
              ´H 7.0103 - >´+IntToStr(Contar(´H 7.0103´)));
end;




Responder

Gostei + 0

28/09/2008

Marco Salles

ou tb:

function Contar(_Str: String): Integer;
begin
result:=length(_str)-pos(´.´,_Str);
end;


Responder

Gostei + 0

28/09/2008

Nilsonalvernaz

Dr. Luciano, Valeu deu certinho, só fiz um ajuste

function Contar(_Str: String): Integer;
begin
  Delete(_Str,1,Pos(´.´,_Str));
  Result := Length(_Str);
end;


troquei o 2 por 1, conforme abaixo
Delete(_Str,[b:e56f0747ba][color=red:e56f0747ba]1[/color:e56f0747ba][/b:e56f0747ba],Pos(´.´,_Str));
por que com o 2 ele pegava o primeiro caracter que era o H e eu só quero o que vem depois do . (ponto)

mas ficou 100¬
Valeu...


Responder

Gostei + 0

28/09/2008

Nilsonalvernaz

 Delete(Codigo,1,Pos(´.´,Codigo));
 TamCod := Length(Codigo);


TamCod := Length(Codigo)-pos(´.´,Codigo);


Os dois código tanto do Marco quanto do Luciano eu testei e deram certo valeu pessoal.
Usei o do Marcos por ser mais simples.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar