Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
DiogoDF83 Novato

Registrado: Sexta-Feira, 19 de Novembro de 2021 Mensagens: 20
|
Enviada: Ter Dez 14, 2021 11:45 am Assunto: [RESOLVIDO]Pegar numero depois de uma palavra |
|
|
Bom dia.
tenho esse caminho: C:\Imagens\Recibo123.png
preciso somente os numeros depois de Recibo
o .png ja consegui retirar.
o numero 123 vou inserir em um variavel qualquer.
Alguma função q faça isso?
Desde já agradeço
Editado pela última vez por DiogoDF83 em Sex Dez 17, 2021 9:49 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Qua Dez 15, 2021 8:46 am Assunto: |
|
|
os numeros sempre estarao no fim do nome do arquivo? sao sempre 3 numeros ou pode mudar? tem mais algum exemplo de nome de arquivo? _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
Voltar ao Topo |
|
 |
DiogoDF83 Novato

Registrado: Sexta-Feira, 19 de Novembro de 2021 Mensagens: 20
|
Enviada: Qua Dez 15, 2021 8:54 am Assunto: |
|
|
O correto é sempre Recibo+numero ex: Recibo3414.
Se for ex: Recibo1do2.png está fora do padrao. tem que apresentar erro.
não pode haver letras dpois dos numeros.
Obrigado |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Dez 15, 2021 2:53 pm Assunto: |
|
|
Boa tarde,
Segue um exemplo de código considerando que o número sempre está depois da palavra 'recibo' e que no final sempre existem mais 4 caracteres (que no seu exemplo seria '.png').
Código: | procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
p: integer;
i: integer;
begin
s := 'C:\Imagens\Recib123.png';
p := Pos('recibo', LowerCase(s));
try
if p = 0 then
Abort;
Inc(p, 6);
i := StrToInt(Copy(s, p, length(s) - 4 - p + 1));
ShowMessage(IntToStr(i));
except
ShowMessage('Número inválido');
end;
end; |
Espero que ajude |
|
Voltar ao Topo |
|
 |
|