![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Да кста попутный вопрос, Горынычер, ты вполне можеш использовать вместо записей класс TStringList, где каждый элемент записи будет разделен скажем ";". Тогда если первым элементом у тя будет номер группы этот класс сам отсортирует его тебе. И в файл все запишет, и прочтет правильно. Это будет лучовей, если препод по башке не даст за такие выкрутасы
I'm learning to live...
|
![]() |
![]() |
![]() |
#12 |
Регистрация: 22.10.2007
Сообщений: 7
|
![]()
Вот как раз цикл for i:=1 to 2 do begin для нахождения эти двух минимальных.
|
![]() |
![]() |
![]() |
#13 | |
Регистрация: 22.10.2007
Сообщений: 7
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#14 | ||
Форумчанин
Регистрация: 15.10.2007
Сообщений: 147
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#15 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Так. Вот что я тебе советую перед сохранением в файл отсортируй СтрингГрид по нужной тебе колонке Вот функа (Делфи Ворлд)
[I]procedure SortGridByCols(Grid: TStringGrid; ColOrder: array of Integer); var i, j: Integer; Sorted: Boolean; function Sort(Row1, Row2: Integer): Integer; var C: Integer; begin C := 0; Result := AnsiCompareStr(Grid.Cols[ColOrder[C]][Row1], Grid.Cols[ColOrder[C]][Row2]); if Result = 0 then begin Inc(C); while (C <= High(ColOrder)) and (Result = 0) do begin Result := AnsiCompareStr(Grid.Cols[ColOrder[C]][Row1], Grid.Cols[ColOrder[C]][Row2]); Inc(C); end; end; end; begin if SizeOf(ColOrder) div SizeOf(i) <> Grid.ColCount then Exit; for i := 0 to High(ColOrder) do if (ColOrder[i] < 0) or (ColOrder >= Grid.ColCount) then Exit; j := 0; Sorted := False; repeat Inc(j); with Grid do for i := 0 to RowCount - 2 do if Sort(i, i + 1) > 0 then begin TMoveSG(Grid).MoveRow(i + 1, i); Sorted := False; end; until Sorted or (j = 1000); Grid.Repaint; end; Это потом кемпери в файл и уже из файла выбирай две крайние записи. И радуйся...
I'm learning to live...
|
![]() |
![]() |
![]() |
#16 |
Регистрация: 22.10.2007
Сообщений: 7
|
![]()
To Stilet:
А можно немного описать эту процедуру, а то я не очень здорово в делфи понимаю.) |
![]() |
![]() |
![]() |
#17 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
ТЫ сначала попробуй, а потом уж и описать проси.
Собственно тут все просто: в цикле по всем строкам вызывается функа Sort которая сравнивает две строки, далее по результатам этой функи строка перемешается в нужное место. Кста загляни на Делфи ворлд там для этого есть много приколов
I'm learning to live...
|
![]() |
![]() |
![]() |
#18 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
маленький совет: называйте переменные адекватными именами (min, max если их несколько min1, min2), тогда предпод возможно не так сильно по башке даст, не такой злой будет после разбирания кода
![]()
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 22.10.2007 в 21:54. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на Delphi | evrey | Общие вопросы Delphi | 1 | 01.06.2008 20:37 |
Задача в DELPHI. | Absent | Помощь студентам | 7 | 25.02.2008 14:04 |
Задача в Delphi | Oksana11 | Помощь студентам | 3 | 22.12.2007 00:12 |
Задача! (ListBox, Delphi.) | Mr.User | Помощь студентам | 6 | 16.11.2007 08:39 |
Задача с матрицей на Delphi | POPOV | Помощь студентам | 28 | 29.10.2007 06:39 |