скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Несколько функций для работы с массивами как в PHP



Оформил: DeeCo

//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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook