Fórum Função Copy dando erro - Delphi #601248
18/03/2019
0
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>".
Onde estou errando, por gentileza???
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
Curtir tópico
+ 0
Responder
Posts
18/03/2019
Emerson Nascimento
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
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
Responder
Gostei + 0
18/03/2019
Flavio Silva
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
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 =]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)