Janilabo

Janilabo | TIAByRange()

Dec 11th, 2012
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.02 KB | None | 0 0
  1. {==============================================================================]  
  2.   Explanation: Returns a TIA that contains all the value from start value (aStart)
  3.                to finishing value (aFinish)..
  4.                Works both ways - High to Low and Low to High.                  
  5. [==============================================================================}
  6. function TIAByRange(aStart, aFinish: Integer): TIntArray;
  7. var
  8.   i: Integer;
  9. begin
  10.   if (aStart <> aFinish) then
  11.   begin  
  12.     SetLength(Result, (IAbs(aStart - aFinish) + 1));
  13.     if (aStart > aFinish) then
  14.       for i := aStart downto aFinish do
  15.         Result[(aStart - i)] := i
  16.     else  
  17.       for i := aStart to aFinish do
  18.         Result[(i - aStart)] := i;
  19.   end else
  20.     Result := [aStart];
  21. end;
  22.  
  23. var
  24.   TIA: TIntArray;
  25.  
  26. begin
  27.   TIA := TIAByRange(-5, 5);
  28.   WriteLn('TIAByRange(-5, 5): ' + TIAToStr(TIA));
  29.   SetLength(TIA, 0);
  30.   TIA := TIAByRange(5, -5);
  31.   WriteLn('TIAByRange(5, -5): ' + TIAToStr(TIA));
  32.   SetLength(TIA, 0);
  33. end.
Advertisement
Add Comment
Please, Sign In to add comment