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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 09:15   #1
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию check my code-has miskakes

Доброго дня уважаемые.
есть программка в Delphi7 с помощью которой оператор вводит три константы которые(2 из низ цифровые) которые сохраняются и впоследсвии изменяются в файле созданном автоматически (.dat)/
Кроме того необходимо провести фильтрацию по первому числовому значению а потом по второму в пределах первого
от меня: выполнил сортировку только по первому-но столкнулся с ошибками
должно было быть: сортировка по отделам от меньшего к большему и сортировка по количеству проработанных лет от большего к меньшему в пределах отдела. данные о сотрудниках вводятся в произвольном порядке
код

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, dateutils;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    Button1: TButton;
    BitBtn5: TBitBtn;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Label4: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
  Type stud=Record
  fam:String[20];
  oc:array[1..2] of Byte;
  end;
var
  Form1: TForm1;
  f:File of Stud;
  ft:TextFile;
  w:Stud;
  fname,fnamet:String;
  zak:Boolean;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
begin
 Memo1.Clear; Memo2.Clear; Memo3.Clear;
 Edit1.Clear; Edit2.Clear; Edit3.Clear;
 Button1.Enabled:=False;
 Label4.Caption:= '';
 zak:=False;
end;




procedure TForm1.Button1Click(Sender: TObject);
begin
  w.fam:=Edit1.Text; 
   w.oc[1]:=StrToInt(Edit2.Text);
   w.oc[2]:=StrToInt(Edit3.Text);
   Write(f,w);
   Memo1.Lines.Add(w.fam);
   Memo2.Lines.Add(IntToStr(w.oc[1]));
   Memo3.Lines.Add(IntToStr(w.oc[2]));
   Edit1.Clear; Edit2.Clear; Edit3.Clear;
end;




procedure TForm1.Button2Click(Sender: TObject);
begin
  SaveDialog1.Title:='Создать файл';
  SaveDialog1.DefaultExt:='.dat';
  if SaveDialog1.Execute Then
  Begin
  fname:=SaveDialog1.FileName;
  AssignFile(f,fname);
  ReWrite(f);
  End;
  Button1.Enabled:=True;
  zak:=True;
  Label4.Caption:='        Данные введены';
end;




procedure TForm1.Button3Click(Sender: TObject);
begin
     OpenDialog1.Title:='Открыть файл';
  if OpenDialog1.Execute Then
    Begin
  fname:=OpenDialog1.FileName;
  AssignFile(f,fname);
  Reset(f);
  End;
  Memo1.Clear; Memo2.Clear; Memo3.Clear;
  While Not EOF(f) Do
  Begin
  Read(f,w);
  Memo1.Lines.Add(w.fam);
  Memo2.Lines.Add(IntToStr(w.oc[1]));
  Memo3.Lines.Add(IntToStr(w.oc[2]));
  End;
  CloseFile(f);
  Label4.Caption:='        Данные введены';
  end;



procedure TForm1.Button4Click(Sender: TObject);
begin
  SaveDialog1.Title:='Сохранить в текстовом файле';
  SaveDialog1.DefaultExt:='.txt';
  if SaveDialog1.Execute Then
    Begin
      fnamet:=SaveDialog1.FileName;
      AssignFile(ft,fnamet);
      ReWrite(ft);
    End;
  WriteLn(ft,'        Общий список работников');
  WriteLn(ft,'   Фамилия  Отдел  Стаж');
  Reset(f);
  While Not EOF(f) Do
   Begin
     Read(f,w);
     With w Do
        WriteLn(ft,fam:10,oc[1]:6,oc[2]:10);
   End;
  CloseFile(f);
  CloseFile(ft);

end;

procedure TForm1.Button5Click(Sender: TObject);
var i,j,n: Integer;
begin
Memo1.Clear; Memo2.Clear; Memo3.Clear;
reset(f);
while Not EOF(f) Do
begin
Read (f,w);

for i:=0 to n-2 do
for j:=i+1 to n-1 do
if w.oc[i]>w.oc[j] then
if j=0 then
begin
w.oc[i]:=w.oc[j];
f:=w[i];
w[j]:=f;
begin
Memo1.Lines.Add(w.fam);
Memo2.Lines.Add(IntToStr(w.oc[1]));
Memo3.Lines.Add(IntToStr(w.oc[2]));
end;
end;
end;
  CloseFile(f);
 Label4.Caption:='Cписок работников отсортирован';
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
begin
if zak Then CloseFile(f);
end;

end.
Вложения
Тип файла: rar 4delphi.rar (2.1 Кб, 6 просмотров)

Последний раз редактировалось west.by; 16.05.2010 в 09:49.
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 10:07   #2
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

Код:
SaveDialog1.Title:
что-то с этим компонентом-по мнению компилятора
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 20:51   #3
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

господа помогите
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 20:54   #4
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Как тебе можно помочь, если в архиве нет основного pas-файла ?
Ну раз ты прикрепил архив ...
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 16.05.2010, 20:57   #5
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

по коду написанному выше
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 20:59   #6
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

весь день над заданием бьюсь-вот оно.
Информация о сотрудниках предприятия содержит фамилию, номер отдела и дату начала работы. Вывести списки сотрудников по отделам в порядке убывания их стажа.
условие одно-файл должен создаться не ручками а програмно и изменяться тоже програмно
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 21:16   #7
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Цитата:
Сообщение от west.by Посмотреть сообщение
Код:
SaveDialog1.Title:
что-то с этим компонентом-по мнению компилятора
А мнение это можно показать подробно ?


Для завязки разговора :
Код:
procedure TForm1.Button4Click(Sender: TObject);
begin
  SaveDialog1.Title:='Сохранить в текстовом файле';
  SaveDialog1.DefaultExt:='.txt';// лучше так : SaveDialog1.Filter:='*.txt|*.txt';
  if SaveDialog1.Execute Then
    Begin
      fnamet:=SaveDialog1.FileName;
      AssignFile(ft,fnamet);
      ReWrite(ft);
    End;
  WriteLn(ft,'        Общий список работников');
  WriteLn(ft,'   Фамилия  Отдел  Стаж');
  Reset(f);// А где AssignFile
  While Not EOF(f) Do
   Begin
     Read(f,w);
     With w Do
        WriteLn(ft,fam:10,oc[1]:6,oc[2]:10);
   End;
  CloseFile(f);
  CloseFile(ft);
end;
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Старый 16.05.2010, 21:23   #8
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

там было unknow directive кажется... на savedialog ругалось...
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 21:29   #9
west.by
Подтвердите свой е-майл
 
Регистрация: 16.05.2010
Сообщений: 54
По умолчанию

у меня ругалось на второй баттон еще...
west.by вне форума Ответить с цитированием
Старый 16.05.2010, 21:39   #10
Kotofff
Участник клуба
 
Аватар для Kotofff
 
Регистрация: 11.01.2009
Сообщений: 1,917
По умолчанию

Как именно ругается ?
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
Kotofff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Range check error MAcK Общие вопросы Delphi 2 24.03.2010 10:33
Check box ruavia3 Microsoft Office Excel 6 17.11.2009 13:31
Использование CHECK Golovastik SQL, базы данных 3 11.11.2009 20:27
Номера строк. [Code][/code] AngelOfDeath О форуме и сайтах клуба 4 11.12.2008 11:57