|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
сортировка массива
почему массив не сортируеться?
Код:
for k:=i to High(ItemList) do begin if ItemList[i-1].Statya='' then begin bufAllDateArray:=ItemList[i].AllDateArray; bufStatya:=ItemList[i].Statya; bufSumma:=ItemList[i].Summa; bufSkidka:=ItemList[i].Skidka; bufSchet:=ItemList[i].Schet; bufVal:=ItemList[i].Val; bufCom:=ItemList[i].Com; ItemList[i+1].AllDateArray:=ItemList[i].AllDateArray; ItemList[i+1].Summa:=ItemList[i].Summa; ItemList[i+1].Skidka:=ItemList[i].Skidka; ItemList[i+1].Schet:=ItemList[i].Schet; ItemList[i+1].Val:=ItemList[i].Val; ItemList[i+1].Com:=ItemList[i].Com; ItemList[i].AllDateArray:=bufAllDateArray; ItemList[i].Statya:=bufStatya; ItemList[i].Summa:=bufSumma; ItemList[i].Skidka:=bufSkidka; ItemList[i].Schet:=bufSchet; ItemList[i].Val:=bufVal; ItemList[i].Com:=bufCom; end; end; |
#2
|
||||
|
||||
потому что нужно два цикла и что-то не так с переменными цикла, цикл по k но в индексах i, как минимум так:
Код:
for k:=0 to High(ItemList) do for i:=0 to High(ItemList)-k do begin if ItemList[i-1].Statya='' then begin bufAllDateArray:=ItemList[i].AllDateArray; bufStatya:=ItemList[i].Statya; bufSumma:=ItemList[i].Summa; bufSkidka:=ItemList[i].Skidka; bufSchet:=ItemList[i].Schet; bufVal:=ItemList[i].Val; bufCom:=ItemList[i].Com; ItemList[i+1].AllDateArray:=ItemList[i].AllDateArray; ItemList[i+1].Summa:=ItemList[i].Summa; ItemList[i+1].Skidka:=ItemList[i].Skidka; ItemList[i+1].Schet:=ItemList[i].Schet; ItemList[i+1].Val:=ItemList[i].Val; ItemList[i+1].Com:=ItemList[i].Com; ItemList[i].AllDateArray:=bufAllDateArray; ItemList[i].Statya:=bufStatya; ItemList[i].Summa:=bufSumma; ItemList[i].Skidka:=bufSkidka; ItemList[i].Schet:=bufSchet; ItemList[i].Val:=bufVal; ItemList[i].Com:=bufCom; end; end; |
#3
|
|||
|
|||
Цитата:
|