konwersja stringu na tablice

0

witam....

przeszukalem /chyba/ cala strone i nie znalazlem funcji ktora pomoze mi wsadzic taki string:

aa;bb;ccc;ddd;

do tablicy...

w php'ie jest cos takiego... a w delphi??

0

Rozwiazanie powinienes znalezc w FAQ albo w kursach (juz nie pamietam, ale na pewno to tam widzialem).

0

no to jeszcze te kursy przerobie.... :-D

0

Pos, Copy, Delete + F1

0

Chodzi o to, żeby każdy znak był oddzielnym elementem tablicy? To tak można :

var
    s : string;
    i : integer;
    a : array of char;
begin
    for i := 0 to length(s) do begin
        SetLength(a, Length(a) + 1);
        a[Length(a) - 1] := s[i];
    end;
end;
0

Wydawalo mi sie, ze kiedys widzialem taka funkcje... :-/
A jesli nie ma to chyba powinno byc jakos tak :)

var
 Idx: Integer;
 Arr: array of string;
 S: String;

begin

 S := 'aa;bb;cc;dd;';

 repeat
 Idx := Pos(';', S);
 if Idx <> 0 then begin
      SetLength(Arr, High(Arr) +2);
      Arr[High(Arr)] := Copy(S, 1, Idx -1);
      Delete(S, 1, Idx);
      end;
 until Idx = 0;

end;
0

Może to niezbyt eleganckie rozwiązanie ale wymyśliłem to w 5 min :P

procedure TForm1.Button1Click(Sender: TObject);
var
a:array[0..255] of char;
s:string;
begin
s := 'jestem sobie stringiem';
strcopy(Pchar(@a),Pchar(s));
form1.caption := a;
end;

i tera jak klikniesz w batona to powinno w caption formy wyświetlić tekst 'Jestem sobie stringiem'.

0

jest cos takiego

masz string

var
s : String;
st: TstringList;

s := 'bla;ew;dal;
st : TStringList.Create;

ExtractStrings([';'],[],PChar(s),st)

rozdziela ci do tak jak chcesz, tylko do tablicy dynamicznej

i st pod indexami bedziesz miał kolejne elementy rozdzielone srednikiem

0

var
s : String;
st: TstringList;

s := 'bla;ew;dal;
st : TStringList.Create;

ExtractStrings([';'],[],PChar(s),st)

dzieki wlasnie dokladnie o takie cos mi chodzilo... [browar]

1 użytkowników online, w tym zalogowanych: 0, gości: 1