Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2007, 14:24   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да кста попутный вопрос, Горынычер, ты вполне можеш использовать вместо записей класс TStringList, где каждый элемент записи будет разделен скажем ";". Тогда если первым элементом у тя будет номер группы этот класс сам отсортирует его тебе. И в файл все запишет, и прочтет правильно. Это будет лучовей, если препод по башке не даст за такие выкрутасы
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.10.2007, 14:26   #12
Gorinicher
 
Регистрация: 22.10.2007
Сообщений: 7
По умолчанию

Вот как раз цикл for i:=1 to 2 do begin для нахождения эти двух минимальных.
Gorinicher вне форума Ответить с цитированием
Старый 22.10.2007, 14:29   #13
Gorinicher
 
Регистрация: 22.10.2007
Сообщений: 7
По умолчанию

Цитата:
если препод по башке не даст за такие выкрутасы
У нас препод очень консервативный, а эта задача на класс Striggrid поэтому я не уверен, что он разрешит помнять класс.
Gorinicher вне форума Ответить с цитированием
Старый 22.10.2007, 14:33   #14
Maslan
Форумчанин
 
Регистрация: 15.10.2007
Сообщений: 147
По умолчанию

Цитата:
for i:=1 to 2 do begin для нахождения эти двух минимальных
да я уж понял =)

Цитата:
а эта задача на класс Striggrid поэтому я не уверен, что он разрешит помнять класс
Так. Тема StringGrid. Правильно? Значит его составляющие вы должны знать! Правильно? А какого типа StringGrid.Cols[] и StringGrid.Rows[] ? TStrings!!! Значит "разрешит помнять класс." - не надо ничего менять =))) Наоборот, это будет дополнительным подтверждением уровня владения классом! =)
Maslan вне форума Ответить с цитированием
Старый 22.10.2007, 14:41   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 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...
Stilet вне форума Ответить с цитированием
Старый 22.10.2007, 15:10   #16
Gorinicher
 
Регистрация: 22.10.2007
Сообщений: 7
По умолчанию

To Stilet:
А можно немного описать эту процедуру, а то я не очень здорово в делфи понимаю.)
Gorinicher вне форума Ответить с цитированием
Старый 22.10.2007, 15:34   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ТЫ сначала попробуй, а потом уж и описать проси.
Собственно тут все просто: в цикле по всем строкам вызывается функа Sort которая сравнивает две строки, далее по результатам этой функи строка перемешается в нужное место.
Кста загляни на Делфи ворлд там для этого есть много приколов
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.10.2007, 21:49   #18
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 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.
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на 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