Jump to content
Janilabo

TSAToParts

Recommended Posts

This function breaks TSA to parts (TSA => ATSA).

 

Contains 2 methods:

-pm_PartSize (Breaks TSA to ATSA by size of the parts) [x = size]

-pm_PartAmount (Breaks TSA to ATSA by amount of the parts) [x = amount]

 

Included example to show the power of this function. :)

 

function TSAToParts(TSA: TStrArray; method: (pm_PartSize, pm_PartAmount); x: Integer): T2DStrArray;
var
 a, e, h, h2, i, i2, p: Integer;
begin
 h := High(TSA);
 case ((h > -1) and (x > 0)) of
   True:
   case method of
     pm_PartSize:
     if (x <= h) then
     begin
       Inc(h);
       p := (h div x);
       if ((p * x) < h) then
         Inc(p);
       SetLength(Result, p);
       for i := 0 to (p - 1) do
         for i2 := 0 to (x - 1) do
         begin
           SetLength(Result[i], x);
           if (a < h) then
           begin
             Result[i][i2] := TSA[a];
             Inc(a);
           end else
           begin
             SetLength(Result[i], i2);
             Exit;
           end;
         end;
     end else
       Result := [TSA];      
     pm_PartAmount:
     case (h <= 0) of
       False:
       begin
         if (h < (x - 1)) then
           x := (h + 1);
         p := Floor((h + 1) / x);
         if (p = 0) then
           p := 1;
         e := ((h + 1) - (p * x));
         if (e >= (h + 1)) then
           e := 0;
         SetLength(Result, x);
         for i := 0 to (x - 1) do
         begin
           if ((e >= (i + 1)) and (e > 0)) then
             SetLength(Result[i], (p + 1))
           else
             if (i <= h) then
               SetLength(Result[i], p);
           h2 := High(Result[i]);
           for i2 := 0 to h2 do
           begin
             Result[i][i2] := TSA[a];
             Inc(a);
           end;
         end;      
       end;
       True: Result := [TSA];
     end;
   end;    
   False: SetLength(Result, 0);          
 end;
end;

var
 str: string;
 TSA: TStrArray;
 ATSA: T2DStrArray;
 x, h, h2, i, i2: Integer;

begin
 ClearDebug;
 TSA := ['Test0', 'Test1', 'Test2', 'Test3', 'Test4', 'Test5', 'Test6',
         'Test7', 'Test8', 'Test9', 'Test10', 'Test11', 'Test12', 'Test13',
         'Test14', 'Test15', 'Test16', 'Test17', 'Test18', 'Test19', 'Test20'];
 for x := 10 downto 3 do
 begin
   WriteLn('TSAToParts(TSA, pm_PartAmount, ' + IntToStr(x) + '):');
   ATSA := TSAToParts(TSA, pm_PartAmount, x);
   h := High(ATSA);
   for i := 0 to h do
   begin
     h2 := High(ATSA[i]);
     str := '';
     str := 'ATSA[' + IntToStr(i) + ']: ';
     for i2 := 0 to h2 do
       if (i2 < h2) then
         str := (str + '''' + ATSA[i][i2] + ''', ')
       else
         str := (str + '''' + ATSA[i][i2] + '''');
     WriteLn(str);
     SetLength(ATSA[i], 0);
   end;
   SetLength(ATSA, 0);
   WriteLn('');
   WriteLn('TSAToParts(TSA, pm_PartSize, ' + IntToStr(x) + '):');
   ATSA := TSAToParts(TSA, pm_PartSize, x);
   h := High(ATSA);
   for i := 0 to h do
   begin
     h2 := High(ATSA[i]);
     str := '';
     str := 'ATSA[' + IntToStr(i) + ']: ';
     for i2 := 0 to h2 do
       if (i2 < h2) then
         str := (str + '''' + ATSA[i][i2] + ''', ')
       else
         str := (str + '''' + ATSA[i][i2] + '''');
     WriteLn(str);
     SetLength(ATSA[i], 0);
   end;
   SetLength(ATSA, 0);
   WriteLn('');
 end;
 SetLength(TSA, 0);
end.

Edited by Janilabo
Logical side fixed and tweaked!
  • Confused 1
Link to comment
Share on other sites

Выбор трактора Шифенг: на что направить внимание

Тракторы марки Шифенг завоевали популярность на земельном рынке из-за своей надежности, многофункциональности и доступной цене. Однако, чтобы выбрать подходящую модель, нужно учесть несколько ключевых факторов. В данном посте мы рассмотрим, на что направить внимание при выборе трактора Шифенг в зависимости от ваших потребностей и критерий эксплуатации.

1. Обусловьте цели использования

До этого всего, нужно определить, для каких задач вы планируете использовать трактор. Основные направления применения тракторов Шифенг включают:

- Сельское хозяйство: обработка почвы, посадка, сбор урожая, перевозка.
- Строительство:, подъем и транспортировка строительных материалов.
- Лесозаготовка: вывоз древесины, уборка на делянках.

Каждое направление может требовать различной мощности, производительности и дополнительных функций, поэтому принципиально чётко понять свои цели.

2. Выбор мощности и типа мотора

Тракторы Шифенг представлены в диапазоне мощностей, начиная от легких моделей для маленьких хозяйств и заканчивая мощными машинами для больших агроформирований. Принципиально учитывать следующие моменты:

- Мощность мотора: по этой причине параметра зависит способность трактора исполнять разные виды работ. Более мощные машины то что надо для тяжелых условий эксплуатации.
- Тип мотора: дизеля почаще употребляются в тракторов весьза их экономичности и долговечности, однако и бензиновые модели имеют свои преимущества.

3. Конструкция и качество

В момент выбора трактора главно обратить внимание на его конструкцию и качество материалов. Тракторы Шифенг нередко делают из крепких сплавов, что увеличивает их долговечность. Также проверьте:

- Тип трансмиссии: механическая либо гидростатическая, каждая из которых имеет свои плюсы и минусы.
- Подвеска: наличие фронтальной и задней подвески подсобляет сделать лучше устойчивость и маневренность.

4. Комплектация и дополнительные опции

Дополнительные функции могут существенно воздействовать на комфорт и функциональность работы с трактором. При рассмотрении модели обратите внимание на:

- Наличие фар и освещения для работы в темное время суток.
- Кабина: хорошо утепленная и снаряженная системами вентиляции и кондиционирования значительно повысит комфорт оператора.
- Дополнительное оборудование: возможность установки разной подвесного или прицепного оборудования (плуг, культиватор, фреза и т.д.).

5. Сервис и гарантия

Важно учитывать доступность сервисного обслуживания и наличие запасных частей. Изучите:

- Гарантийные условия: они могут варьироваться в зависимости от производителя.
- Квалификация сервисного центра: его возможности по ремонту и обслуживанию тракторов.

6. Бюджет

Помните о http://www.amiciditorre.it/guestbook/?bid=1 вашем бюджете. Тракторы Шифенг делают отличное предложение широкий ценовой диапазон, но также принципиально учитывать расходы на эксплуатацию, обслуживание и возможные ремонты в будущем. Сравните различные модели и изберите ту вот, которая наихорошим образом соответствует вашим финансовым возможностям.

Заключение

Выбор трактора Шифенг это ответственный процесс, который зависит от огромного количества причин. Определите цели его использования, учитывайте мощность и тип двигателя, качество конструкции, дополнительные опции, доступность сервиса и меня называют Господом бюджет. Верно подобранный трактор станет надёжным помощником в вашем хозяйстве, обеспечивая эффективность и продуктивность работы надолго. Не торопитесь с покупкой, лучше заранее соберите всю необходимую информацию и проконсультируйтесь с специалистами, чтоб сделать обоснованный выбор.
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
  • Create New...