Сортировка записей

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
fedorovapple
Сообщения: 1
Зарегистрирован: 08 дек 2013, 23:52

09 дек 2013, 00:03

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

Код: Выделить всё

unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, ComCtrls;
 
type
  TForm1 = class(TForm)
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    Label1: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Button3: TButton;
    Button5: TButton;
    DateTimePicker1: TDateTimePicker;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton3: TSpeedButton;
    procedure FormCreate(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  Type
    TTovar = record
    NAI: string[50];//Наименование товара
    KVO: integer; // Кол-во товара
    BolMes : extended;//Товар, который хранится больше месяца
  end;
 
var
  ZF : File of  TTovar;
  TF : TextFile;
  Tov : Array[1..10] of TTovar;
  NomZap : integer;
  FileNameZap : string;
  FileNameText : string;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
   Edit1.Clear;
   Edit2.Clear;
   Memo1.Clear;
   Button5.Visible:=False;
   NomZap:=0;
end;
 
 
procedure TForm1.Button5Click(Sender: TObject);
begin
  NomZap:=NomZap+1;
  with Tov[NomZap] do
  begin
    NAI:=Edit1.Text;
    KVO:=StrToInt(Edit2.Text);
    DateToStr(DateTimePicker1.Date);
    Memo1.Lines.Add(NAI+'      '+IntToStr(KVO)+'      '+DateToStr(Date));
  end;
 
  Write(ZF,Tov[NomZap]);
  Edit1.Clear;
  Edit2.Clear;
end;
 
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenDialog1.Title :='Создать новую запись...';
  if OpenDialog1.Execute then
    begin
      FileNameZap:= OpenDialog1.FileName;
      AssignFile(ZF, FileNameZap);
      Rewrite(ZF);
   end;
   Button5.Show;
end;
 
 
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    begin
      FileNameZap:= OpenDialog1.FileName;
      AssignFile(ZF, FileNameZap);
      Reset(ZF);
    end;
  NomZap:=0;
  while not eof(ZF) do
    begin
      NomZap:=NomZap+1;
      Read(ZF,Tov[NomZap]);
      with Tov[NomZap] do
        Memo1.Lines.Add(NAI+'      '+IntToStr(KVO)+'      '+datetostr(date));
    end;
    Button5.Show;
end;
 
 
procedure TForm1.Button3Click(Sender: TObject);// Сортировка записей
var
  i : word;
  c:integer;
begin
  c:=length(NAI);
  for i:=1 to c do
  begin
 
  end;  
 
end;
     
 
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Close;
end;
 
procedure TForm1.SpeedButton2Click(Sender: TObject);
var
  i:word;
begin
  if SaveDialog1.Execute then
    begin
      FileNameText:= SaveDialog1.FileName;
      AssignFile(TF, FileNameText);
      Rewrite(TF);
    end;
  for i:=1 to NomZap do
    with Tov[i] do  Writeln(TF,i:5,' ',NAI,BolMes);
      CloseFile(TF);
end;
 
 
end.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

09 дек 2013, 10:57

Поиском пользоваться - не?
http://forum.developing.ru/showthread.p ... E%D0%B4%29
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить