strings
07/02/2006
0
[u:a2c8ab0423]Tenho a seguinte string:[/u:a2c8ab0423]
strig := ´um.dois.tres´
[u:a2c8ab0423]E queria passar o array_string, de modo a que o conteudo ficasse:[/u:a2c8ab0423]
array_string[0]:=´um´;
array_string[1]:=´dois´;
array_string[2]:=´tres´;
Sendo strig de tamanho indefinido, ou seja, pode ter X ponto.
Resumindo queria que sempre que encontrasse um ponto array_string incrementava o indice.
Um bocado confuso mas espero ter-me explicado bem
Agradecia a ajuda
Nilpedro
Posts
07/02/2006
José Henrique
var strlTeste : TStringList; i, n : integer; begin try strlTeste := TStringList.Create; strlTeste.Delimiter := ´.´; este é o separador escolhido pelo você strlTeste.DelimitedText := ´um.dois.tres´ n := strlTeste.Count; for i := 1 to strlTeste.Count; ShowMessage(strlTeste[i]); finally strlTeste.Release; end; end;
07/02/2006
José Henrique
var strlTeste : TStringList; i : integer; begin try strlTeste := TStringList.Create; strlTeste.Delimiter := ´.´; //este é o separador escolhido pelo você strlTeste.DelimitedText := ´um.dois.tres´ ; for i := 1 to strlTeste.Count; ShowMessage(strlTeste[i]); finally strlTeste.Release; end; end;
08/02/2006
Nilpedro
Mas estou trabalhando com Dephi 5 e este comando nao dá. Se tiverem outra sujestao :wink:
08/02/2006
Aroldo Zanela
Acredito que funcione em todas as versões:
var LineData: String; I, X: Integer; FieldsData: TStringList; begin FieldsData := TStringList.Create; LineData := ´um.dois.tres´; try while Length(LineData)>0 do begin X := Pos(´.´,LineData); if X>0 then begin FieldsData.Add(Copy(LineData, 1, X-1)); LineData := Copy(LineData, X+1, Length(LineData)-x); end else begin FieldsData.Add(LineData); LineData := ´´; end; end; finally FieldsData.Free; end;
08/02/2006
Michael
procedure ParseString(S, Delimiter: string; Strings: TStrings); var X: Integer; begin while Length(S) > 0 do begin X := Pos(Delimiter, S); if X > 0 then begin Strings.Add(Copy(S, 1, X - 1)); S := Copy(S, X + 1, Length(S) - X); end else begin Strings.Add(S); S := ´´; end; end; end;
[]´s
[]´s
Clique aqui para fazer login e interagir na Comunidade :)