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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2015, 15:25   #1
andriy1048
Пользователь
 
Регистрация: 02.04.2015
Сообщений: 53
По умолчанию Сортировка

Помогите отсортировать это по "Предмету" (Delphi)

Код:
unit Unit4;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids;

type
  TForm4 = class(TForm)
    StringGrid1: TStringGrid;
    procedure FormCreate(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

uses Unit1;



procedure TForm4.FormActivate(Sender: TObject);
var
    i,j:integer;
    rec:sesiya;
begin
Form4.StringGrid1.RowCount :=  Filesize(f)+1;
for i:=1 to Filesize(f) do
begin
seek(f,i-1);
read(f,rec);
Form4.StringGrid1.Cells[0,i]:=rec.group;
Form4.StringGrid1.Cells[1,i]:=rec.subject;
Form4.StringGrid1.Cells[2,i]:=rec.teacher;
Form4.StringGrid1.Cells[3,i]:=DateToStr(rec.data);
end;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
StringGrid1.Cells[0,0]:='Група';
StringGrid1.Cells[1,0]:='Предмет';
StringGrid1.Cells[2,0]:='Препод';
StringGrid1.Cells[3,0]:='Дата';
end;

end.
Код нужно оформлять по првилам - кнопка # вверху
Модератор

Последний раз редактировалось andriy1048; 30.06.2015 в 17:01.
andriy1048 вне форума Ответить с цитированием
Старый 30.06.2015, 16:52   #2
andriy1048
Пользователь
 
Регистрация: 02.04.2015
Сообщений: 53
По умолчанию

Помогите, плиз...
andriy1048 вне форума Ответить с цитированием
Старый 30.06.2015, 17:05   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
var
   s: string;

for i:=1 to grid1.rowcount-2 do begin
  for j:=i+1 to grid1.rowcount-1 do begin
     if grid.cells[i,1] > grid.cells[j,1] then begin
        s:=grid.rows[i].text;
        grid.rows[i].text:=grid.rows[j].text;
        grid.rows[j].text:=s;  
     end;
  end; 
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 30.06.2015, 17:09   #4
andriy1048
Пользователь
 
Регистрация: 02.04.2015
Сообщений: 53
По умолчанию

Почему-то не получается у меня (((
andriy1048 вне форума Ответить с цитированием
Старый 30.06.2015, 17:37   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Показывай как пробовал )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.06.2015, 17:41   #6
andriy1048
Пользователь
 
Регистрация: 02.04.2015
Сообщений: 53
По умолчанию

Пробовал через масив, но не получается (((
andriy1048 вне форума Ответить с цитированием
Старый 30.06.2015, 19:19   #7
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Автор, так это же код вчерашней сортировки.
Шо в ней не так?

http://programmersforum.ru/showpost....17&postcount=9


Код:
var i,ref  : integer;
    rec : array of sesiya;
    SL  : TStringList;
begin
  ViewForm3.StringGrid1.RowCount := Filesize(f)+1;
  SL := TStringList.Create;

  for i:=1 to Filesize(f) do
  begin
    seek(f,i-1);
    SetLength(rec, length(rec)+1);
    ref := High(rec);
    read(f,rec[ref]);
    SL.AddObject(rec[ref].subject, TObject(ref+1));
  end;
  SL.Sort;
  for i:=0 to SL.Count-1 do
  begin
    ref := integer(SL.Objects[i])-1;
    ViewForm3.StringGrid1.Cells[0,i+1]:=rec[ref].group;
    ViewForm3.StringGrid1.Cells[1,i+1]:=rec[ref].subject;
    ViewForm3.StringGrid1.Cells[2,i+1]:=rec[ref].teacher;
    ViewForm3.StringGrid1.Cells[3,i+1]:=DateToStr(rec[ref].data);
  end;
  SL.Free;
  Finalize(rec);

end;
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось Stilet; 30.06.2015 в 20:06.
JUDAS вне форума Ответить с цитированием
Старый 30.06.2015, 19:31   #8
andriy1048
Пользователь
 
Регистрация: 02.04.2015
Сообщений: 53
По умолчанию

Спасибо, щас добавлю в программу. Вы мне писали, но я просто не понял...
andriy1048 вне форума Ответить с цитированием
Старый 30.06.2015, 22:50   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Ребят, ну напишите уже для чайников/кофейников/самоваров статью "Лечение геморроя или почему не надо хранить и обрабатывать данные в визуальных компонентах?". Я б с кодингом помог, от всей души!

Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 30.06.2015, 23:33   #10
andriy1048
Пользователь
 
Регистрация: 02.04.2015
Сообщений: 53
По умолчанию

Помогите пожалуйста, ато в меня так ничего и не получается с этой сортировкой
andriy1048 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32