Aszarael 0 Denunciar post Postado Outubro 17, 2006 pessoal tenho seguinte funçao,que trata uma entrada deste tipo 10/20/30/40 e as lança para um vetor. if (length(texto)>0)then begin texto:=trim(texto); for i:=1 to length(texto) do begin if ((texto='/') or (texto='\')) then begin conta:=conta+1; vetor[j]:=copy(aux,1,i-1); aux:=copy(aux,i+1,length(texto)); j:=j+1; end; end; end; Porem esta ocorrendo o seguinte. vetor[1]= 10 - certo. vetor[2]= 20/30 - Pegando errado. vetor[3]= 40 alguem sabe pq ele não esta pegando e separando o vetor dois ? pois deveria ficar assim vetor[1]=10 vetor[2]=20 vetor[3]=30 vetor[4]=40 Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 17, 2006 Dê uma olhada neste post: http://forum.imasters.com.br/index.php?showtopic=198688 no caso você pediu como fazer, onde esta //Tratamento do valor recebido ali pode colocar o esquema para incrementar no seu vetor... Compartilhar este post Link para o post Compartilhar em outros sites
Aszarael 0 Denunciar post Postado Outubro 17, 2006 Grato, Olhei direito e fiz assim e funcionou for i:=1 to length(texto) do begin if ((texto='/') or (texto='\')) then begin conta:=conta+1; vetor[j]:=aux; j:=j+1; aux:=''; end else begin aux:=aux+texto; end end; vetor[j]:=aux; end; Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Outubro 17, 2006 Se quiser outra forma: procedure TForm1.TratamentoBarra(str: string);var x, y: integer; aux: string;beginy:=1;for x:=1 to Length(str) do begin if (not (str[x] in ['\','/'])) then aux:=aux + str[x]; if ((str[x] in ['\','/']) or (Length(str) = x)) then begin vetor[y]:=StrToInt(aux); aux:=''; Inc(y); end; end;end; Compartilhar este post Link para o post Compartilhar em outros sites