Janilabo Posted September 5, 2012 Share Posted September 5, 2012 (edited) procedure TSAInvert(var TSA: TStrArray); var g, h, i: Integer; begin h := High(TSA); if (h < 1) then Exit; g := (h div 2); for i := 0 to g do Swap(TSA[i], TSA[(h - i)]); end; function TSAToStr(TSA: TStrArray): string; var h, i: Integer; begin h := High(TSA); if (h < 0) then Exit; for i := 0 to (h - 1) do Result := (Result + '''' + TSA[i] + '''' + ','); Result := (Result + '''' + TSA[i] + ''''); end; var TSA: TStrArray; begin ClearDebug; TSA := ['Test10', 'Test9', 'Test8', 'Test7', 'Test6', 'Test5', 'Test4', 'Test3', 'Test2', 'Test1']; TSAInvert(TSA); WriteLn(TSAToStr(TSA)); end. Edited September 7, 2012 by Janilabo Quote Link to comment Share on other sites More sharing options...