Delphi World - Несколько функций для работы с массивами как в PHP
Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Несколько функций для работы с массивами как в PHP

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

//Ein paar Array-Funktionen wie sie in PHP ublich sind. 
//Some Array-functions like in PHP. 

type

   ArrOfStr = array of string;

 implementation

 function explode(sPart, sInput: string): ArrOfStr;
 begin
   while Pos(sPart, sInput) <> 0 do
    begin
     SetLength(Result, Length(Result) + 1);
     Result[Length(Result) - 1] := Copy(sInput, 0,Pos(sPart, sInput) - 1);
     Delete(sInput, 1,Pos(sPart, sInput));
   end;
   SetLength(Result, Length(Result) + 1);
   Result[Length(Result) - 1] := sInput;
 end;

 function implode(sPart: string; arrInp: ArrOfStr): string;
 var
    i: Integer;
 begin
   if Length(arrInp) <= 1 then Result := arrInp[0]
   else
    begin
     for i := 0 to Length(arrInp) - 2 do Result := Result + arrInp[i] + sPart;
     Result := Result + arrInp[Length(arrInp) - 1];
   end;
 end;

 procedure sort(arrInp: ArrOfStr);
 var
    slTmp: TStringList;
    i: Integer;
 begin
   slTmp := TStringList.Create;
   for i := 0 to Length(arrInp) - 1 do slTmp.Add(arrInp[i]);
   slTmp.Sort;
   for i := 0 to slTmp.Count - 1 do arrInp[i] := slTmp[i];
   slTmp.Free;
 end;

 procedure rsort(arrInp: ArrOfStr);
 var
    slTmp: TStringList;
    i: Integer;
 begin
   slTmp := TStringList.Create;
   for i := 0 to Length(arrInp) - 1 do slTmp.Add(arrInp[i]);
   slTmp.Sort;
   for i := 0 to slTmp.Count - 1 do arrInp[slTmp.Count - 1 - i] := slTmp[i];
   slTmp.Free;
 end;
Проект Delphi World © Выпуск 2002 - 2017
Автор проекта: Эксклюзивные курсы программирования