Fórum Calcular o tamanho da string depois do ponto #364391
28/09/2008
0
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
Curtir tópico
+ 0Posts
28/09/2008
Luciano.lirio
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;
Gostei + 0
28/09/2008
Marco Salles
function Contar(_Str: String): Integer;
begin
result:=length(_str)-pos(´.´,_Str);
end;
Gostei + 0
28/09/2008
Nilsonalvernaz
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...
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)