Função Copy dando erro - Delphi

Delphi

18/03/2019

Prezados, tenho a seguinte string: Relacao Clientes <GW001>.
Pretendo pegar apenas o texto que está dentro dos caracteres "<" e ">", no caso, quero que retorne : GW001.
No código abaixo, teoricamente deveria estar certo, porém, ele está retornando "GW001>".

PosIni := Pos(''<'',tela);
PosFim := Pos(''>'',tela);
codtela := Copy(tela , PosIni+1, PosFim-1);


Onde estou errando, por gentileza???
Flavio Silva

Flavio Silva

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

18/03/2019

A função copy() requer a posição inicial e o número de caracteres a serem 'copiados'.

No caso deveria ser:
PosIni := Pos(''<'',tela);
PosFim := Pos(''>'',tela);
codtela := Copy(tela , PosIni+1, PosFim-(PosIni+1));

tomando como base a string informada 'Relacao Clientes <GW001>',
PosIni := Pos(''<'',tela); // retorna 18
PosFim := Pos(''>'',tela); // retorna 24
codtela := Copy(tela , PosIni+1, PosFim-(PosIni+1)); // inicia em 19 e copia 5 caracteres



GOSTEI 0
Flavio Silva

Flavio Silva

18/03/2019

A função copy() requer a posição inicial e o número de caracteres a serem 'copiados'.

No caso deveria ser:
PosIni := Pos(''<'',tela);
PosFim := Pos(''>'',tela);
codtela := Copy(tela , PosIni+1, PosFim-(PosIni+1));

tomando como base a string informada 'Relacao Clientes <GW001>',
PosIni := Pos(''<'',tela); // retorna 18
PosFim := Pos(''>'',tela); // retorna 24
codtela := Copy(tela , PosIni+1, PosFim-(PosIni+1)); // inicia em 19 e copia 5 caracteres






Certinho... valeu =]
GOSTEI 0
POSTAR