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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2008, 21:09   #1
Еленка
 
Регистрация: 20.05.2008
Сообщений: 9
По умолчанию Не могу создать условия

Вот такая задача: Список товаров, имеющ на складе, вкл в себя наим товара, кол-во единиц товара, цену единицы и дату поступления товара на склад. Вывести в алфавитном порядке список товаров, хранящихся больше месяца, стоимость которых превышает 1000000 руб,
мое решение:
Код:
unit Unit1;
interface
uses
  Windows......
type
  TForm1 = class(TForm)    OpenDialog1: TOpenDialog;    SaveDialog1: TSaveDialog;    Button1: TButton;    Button2: TButton;    Button3: TButton;
    Button4: TButton;    BitBtn1: TBitBtn;    Label1: TLabel;    Edit1: TEdit;
    Label2: TLabel;    Edit2: TEdit;    Label3: TLabel;    Edit3: TEdit;
    Label4: TLabel;    Edit4: TEdit;    Button5: TButton;    Memo1: TMemo;
  private
    { Private declarations }  public    { Public declarations }
  end;
var
  Form1: TForm1;implementation{$R *.dfm}
 Type
  Ttovar = record    naim: string[40];    kol: array[1..6] of word;    end;
 Var
  Fz  : file of  Ttovar;		// Файл типа запись
  Ft  : TextFile;			// Текстовой файл
  tovar : array[1..100] of Ttovar;	// Массив записей
  nzap : integer;			// Номер записи
  FileNameZ, FileNameT : string; 	// Имя файла
var
  Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
   Edit1.Text:='';   Edit2.Text:='';   Edit3.Text:='';   Edit4.Text:='';
   Memo1.Clear;
   Button1.Hide;		// Сделать невидимой кн "Ввести запись"
    nzap:=0;
end;

procedure TForm1.Button1Click(Sender: TObject);	// Ввести новую запись
begin
    nzap:=nzap+1;
  with stud[nzap] do begin
           tovar:=Edit1.Text;
           kol[1]:=StrToInt(Edit2.Text);
           cena[2]:=StrToInt(Edit3.Text);
           data[3]:=StrToInt(Edit4.Text);

  Memo1.Lines.Add(tovar+'  '+IntToStr(kol[1])+'  '+ IntToStr(cena[2])+'   '+IntToStr(data[3]));          end;     Write(fz,Stud[nzap]);					// Запись в файл
   Edit1.Text:='';   Edit2.Text:='';   Edit3.Text:='';   Edit4.Text:='';end;

procedure TForm1.Button1Click(Sender: TObject); // Создание нового файла записей
begin
   OpenDialog1.Title :='Создать новый файл'; 	// Изменение заголовка окна диалога
 if OpenDialog1.Execute then  // Выполнение стандартного диалога выбора имени файла
   begin
    FileNameZ:= OpenDialog1.FileName; // Возвращение имени дискового файла
    AssignFile(Fz, FileNameZ);  // Связывание файловой переменной Fz c именем файла
     Rewrite(Fz);    // Создание нового файла   end;
    Button5.Show;                // Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.Button3Click(Sender: TObject); // Открыть сущфайл
begin
 if OpenDialog1.Execute then  // Выполнение стандартного диалога выбора имени файла
   begin
    FileNameZ:= OpenDialog1.FileName; // Возвращение имени дискового файла 
    AssignFile(Fz, FileNameZ);    // Связывание файловой переменной Fz c именем файла
     Reset(Fz);                    // Открытие сущ файла   end;
  while not eof(fz) do begin       
   nzap:=nzap+1;
     Read(fz,tovar[nzap]);                // Чтение записи из файла
         with tovar[nzap] do
     Memo1.Lines.Add(tovar+'  '+IntToStr(kol[1])+'  '+IntToStr(cena[2])+'   '+IntToStr(data[3]));                                 end;
     Button5.Show;                  // Сделать видимой кнопку "Ввести запись"
end;
procedure TForm1.Button4Click(Sender: TObject);  // Сортировка записей
 var i,j :  word;
       tovar : Ttovar;
begin
 for i:=1 to nzap-1 do                   // Сортировка массива зап
  for j:=i+1 to nzap do
   if cena[i].tovar < cena[j].tovar then begin
          st:=tovar[i];
         tovar[i]:=tovar[j];
         tovar[j]:=tovar;
               end;
      Memo1.Clear;
  for i:=1 to nzap do                    // Вывод в окно Memo1 отсортированных записей
          with tovar[i] do
     Memo1.Lines.Add(IntToStr(i)+'  '+tovar+'  '+FloatToStrf(fffixed,4,2));end;
procedure TForm1.Button2Click(Sender: TObject); // Сохранение результатов сортировки 		      // в текстовом файле
var i:word;
begin
  if SaveDialog1.Execute then  // Выполнение стандартного диалога выбора имени файла
    begin
   FileNameT:= SaveDialog1.FileName; // Возвращение имени дискового файла
    AssignFile(Ft, FileNameT);     // Связывание файловой переменной Ft c именем файла
      Rewrite(Ft);                           // Открытие нового текстового файла
    end;
  for i:=1 to nzap do
         with stud[i] do  Writeln(Ft,i:4,'. ',tovar,:8:2);   // Запись в текстовой файл
  CloseFile(Ft);                             // Закрытие текстового файла
end;
procedure TForm1.BitBtn1Click(Sender: TObject);  
begin                              
 CloseFile(fz);       // Закрытие файла записей при нажатии на кнопку "Сlose"
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 CloseFile(fz);      // Закрытие файла записей при нажатии на кнопку  
end;
end.
Как переделать тело,чтобы удовл.заданию?Спасибо заранее!!!

Последний раз редактировалось Stilet; 21.05.2008 в 12:13.
Еленка вне форума Ответить с цитированием
Старый 21.05.2008, 11:18   #2
Gauss
Форумчанин
 
Аватар для Gauss
 
Регистрация: 26.11.2007
Сообщений: 235
По умолчанию

А может это задание следует сделать через БД с парадоксом или аксесом?
Gauss вне форума Ответить с цитированием
Старый 21.05.2008, 11:56   #3
Еленка
 
Регистрация: 20.05.2008
Сообщений: 9
По умолчанию

Нет, с помощью записей и файлов
Еленка вне форума Ответить с цитированием
Старый 21.05.2008, 12:13   #4
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Еленка, в шапке раздела "Помощь студентам", в которым мы, собственно, и находимся, есть Правила раздела.. Обратите особое внимание на пп. 2 и 8, и, я Вас уверяю, интерес к Вашему вопросу вырастет и ответы последуют.
B_N вне форума Ответить с цитированием
Старый 21.05.2008, 12:20   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Еленка, а где у тебя описана cena и data?
Это массивы, где их описание, как они с товаром связаны?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
я начинающий в html (могу ли я создать сайт) roman2009 Свободное общение 13 07.06.2009 18:34
Оператор условия [Smarik] Помощь студентам 8 22.02.2008 18:49
Не могу создать копию проекта John_chek БД в Delphi 4 15.02.2008 15:53
Проверка условия Luciferium БД в Delphi 1 05.06.2007 16:23
Не могу создать обьект mrandrey Общие вопросы Delphi 6 04.06.2007 16:04