DELPHI - je v Delphi funkce jako je v PHP explode ?

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Peca 18. 4. 2005 17:53

Je v Delphi funkce jako je v PHP explode ?
explode je funkce pro rozdeleni text do promenych

př.: Ahoj Franto
1. = Ahoj
2. = Franto

Díky.
Naposledy upravil Peca dne 18. 4. 2005 21:09, celkově upraveno 2
Peca
Junior

Odeslat příspěvekod linuxx 18. 4. 2005 17:56

Covece, neco mam...

Kód: Vybrat vše
function Explode(const Separator, S: string; Limit: Integer = 0):
  TStringDynArray;
var
  SepLen       : Integer;
  F, P         : PChar;
  ALen, Index  : Integer;
begin
  SetLength(Result, 0);
  if (S = '') or (Limit < 0) then
    Exit;
  if Separator = '' then
  begin
    SetLength(Result, 1);
    Result[0] := S;
    Exit;
  end;
  SepLen := Length(Separator);
  ALen := Limit;
  SetLength(Result, ALen);

  Index := 0;
  P := PChar(S);
  while P^ <> #0 do
  begin
    F := P;
    P := StrPos(P, PChar(Separator));
    if (P = nil) or ((Limit > 0) and (Index = Limit - 1)) then
      P := StrEnd(F);
    if Index >= ALen then
    begin
      Inc(ALen, 5);
      SetLength(Result, ALen);
    end;
    SetString(Result[Index], F, P - F);
    Inc(Index);
    if P^ <> #0 then
      Inc(P, SepLen);
  end;
  if Index < ALen then
    SetLength(Result, Index);
end;


Kód: Vybrat vše
Explode(';',neco);
linuxx
Kolemjdoucí

Odeslat příspěvekod krtkuvdort 30. 11. 2008 20:36

Caues, plz delphi mi nechce vzit
Kód: Vybrat vše
TStringDynArray

vubec to neznam :(
krtkuvdort
Kolemjdoucí

Odeslat příspěvekod Nargon 30. 11. 2008 21:24

Zkus tohle:
http://delphi.about.com/cs/adptips2002/ ... 1102_5.htm

P.S. A divim se ze delphi nezna metodu "split" uz defaultne.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků