Скачиваний:
76
Добавлен:
04.03.2014
Размер:
4.81 Кб
Скачать
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Menus;

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Label1: TLabel;
Label2: TLabel;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
procedure N6Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

Type Tz=record
No:byte;
Fio:string[15];
Gr:string[7];
o1,o2,o3:integer;
end; var sf:string;



{создание формы с параметрами таблицы}
procedure TForm1.FormCreate(Sender: TObject);

Begin
with Form1.Stringgrid1 do Begin
ColCount:=5;
FixedCols:=0;
RowCount:=50;
FixedRows:=1;
Colwidths[0]:=120;
Colwidths[1]:=80;
Colwidths[2]:=50;
Colwidths[3]:=50;
Colwidths[4]:=50;

cells[0,0]:='Фамилия';
cells[1,0]:='Группа';
cells[2,0]:='Оценка1';
cells[3,0]:='Оценка2';
cells[4,0]:='Оценка3';
end;

with Form1.Stringgrid2 do Begin
ColCount:=5;
FixedCols:=0;
RowCount:=50;
FixedRows:=1;
Colwidths[0]:=120;
Colwidths[1]:=80;
Colwidths[2]:=50;
Colwidths[3]:=50;
Colwidths[4]:=50;

cells[0,0]:='Фамилия';
cells[1,0]:='Группа';
cells[2,0]:='Оценка1';
cells[3,0]:='Оценка2';
cells[4,0]:='Оценка3';
end;



with Stringgrid1 do options:=options+[goEditing];
end;



procedure TForm1.N2Click(Sender: TObject); {открытие файла}
var i,j:integer; z:Tz; f:file of Tz;
begin

with Form1.StringGrid1 do
for i := 1 to RowCount - 1 do
for j := 0 to ColCount do cells[j,i]:='';

if opendialog1.execute then
begin
sf:=opendialog1.FileName;
end;

AssignFile(f,sf);
Reset(f);
i:=0;
while not Eof(f) do begin Read(f,z); i:=i+1;
with Form1.StringGrid1 do begin
cells[0,i]:=z.fio;
cells[1,i]:=z.gr; cells[2,i]:=inttostr(z.o1);
cells[3,i]:=inttostr(z.o2); cells[4,i]:=inttostr(z.o3); end;
end; closefile(f); end;



procedure TForm1.N3Click(Sender: TObject); {сохранение файла}
var i:integer; z:tz; f:file of Tz;
begin
if savedialog1.execute then
begin
sf:=savedialog1.FileName;
end;

AssignFile(f,sf);
Rewrite(f);
with Form1.StringGrid1 do
for i := 1 to RowCount - 1 do
if cells[0,i]<>'' then begin
z.fio:=cells[0,i];
z.gr:=cells[1,i]; z.o1:=strtoint(cells[2,i]);
z.o2:=strtoint(cells[3,i]); z.o3:=strtoint(cells[4,i]);
write(f,z);
end; Closefile(f); end;



procedure TForm1.N4Click(Sender: TObject); {oчистка таблиц}
var i,j:integer;
begin
with Form1.StringGrid1 do
for i := 1 to RowCount - 1 do
for j := 0 to ColCount do cells[j,i]:='';

with Form1.StringGrid2 do
for i := 1 to RowCount - 1 do
for j := 0 to ColCount do cells[j,i]:='';
end;





{****************************************** }
procedure TForm1.N6Click(Sender: TObject);
var n,n1,n2,n3:file of tz; nf1,nf2,nf3,name:string; i,k:integer;
z:tz;
begin



if opendialog1.execute then
begin
sf:=opendialog1.FileName;
end;

AssignFile(n,sf);
Reset(n);
i:=0;
while not Eof(n) do begin Read(n,z); i:=i+1;
with Form1.StringGrid1 do begin
cells[0,i]:=z.fio;
cells[1,i]:=z.gr; cells[2,i]:=inttostr(z.o1);
cells[3,i]:=inttostr(z.o2); cells[4,i]:=inttostr(z.o3); end;
end; closefile(n);

nf1:='1';nf2:='2'; nf3:='3';
AssignFile(n,sf);
Reset(n);
k:=1;


while not Eof(n) do begin
read(n,z);

name:=z.gr;
if ((name=nf1) or (name=nf2) or (name=nf3)) then begin
if name=nf1 then begin write(n1,z); end;
if name=nf2 then begin write(n2,z); end;
if name=nf3 then begin write(n3,z); end;
end else
begin
if k=1 then begin nf1:=name; k:=k+1; assignfile(n1,nf1);
rewrite(n1); write(n1,z); end else
if k=2 then begin nf2:=name; k:=k+1; assignfile(n2,nf2);
rewrite(n2); write(n2,z); end else
if k=3 then begin nf3:=name; assignfile(n3,nf3);
rewrite(n3); write(n3,z); end;
end; end;

closefile(n);
closefile(n1); closefile(n2); closefile(n3);

{**************}


AssignFile(n,sf); Reset(n);

i:=0;
while not Eof(n) do begin
read(n,z);
if ((z.o1=2)and(z.o2=2))or((z.o1=2)and(z.o3=2))or((z.o2=2)and(z.o3=2))
then Begin
i:=i+1;
with Form1.StringGrid2 do begin
cells[0,i]:=z.fio;
cells[1,i]:=z.gr; cells[2,i]:=inttostr(z.o1);
cells[3,i]:=inttostr(z.o2); cells[4,i]:=inttostr(z.o3); end;
end;
end;
closefile(n);
end;


end.
Соседние файлы в папке Редактор T-File
  • #
    04.03.2014450 б77Project1.cfg
  • #
    04.03.2014188 б77Project1.dpr
  • #
    04.03.20144.4 Кб77Project1.res
  • #
    04.03.201410.91 Кб76Unit1.dcu
  • #
    04.03.20142.25 Кб76Unit1.dfm
  • #
    04.03.20144.81 Кб76Unit1.pas
  • #
    04.03.201472 б77ИУ7
  • #
    04.03.201472 б76МТ1
  • #
    04.03.201472 б76СМ3
  • #
    04.03.2014216 б76Файл1
  • #
    04.03.2014180 б76Файл1 — копия