Разработка приложений в среде объектно-ориентированного программирования Delphi

курсовая работа

3. Практическая часть

Выполнение практической части курсовой работы предполагает разработку приложения, включающего функциональные части:

1. Главное меню: Файл (Открыть, Сохранить, Выход), Данные (Рассчитать), Справка (О программе), использующее стандартные диалоги;

2. Таблица StringGrid.

Назначение программы: Значения, считываемые из файла, заносятся в таблицу размером 5*5. Находятся и выводятся на экран и в файл максимальное значение, его индексы.

Листинг данного приложения выглядит следующим образом.

Файл проекта Project1.dpr:

program Project1;

uses

Forms,

Unit1 in Unit1.pas {Form1},

Unit3 in ..курс макспрогаUnit3.pas {Form3};

{$R *.res}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm3, Form3);

Application.Run;

end.

Файл Unit1:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, Menus, ComCtrls;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Button1: TButton;

Edit2: TEdit;

Label2: TLabel;

Button2: TButton;

StaticText1: TStaticText;

MainMenu1: TMainMenu;

N1: TMenuItem;

RichEdit1: TRichEdit;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

Button3: TButton;

Edit1: TEdit;

StaticText2: TStaticText;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

n,i,j:integer;

implementation

uses Unit2, Unit3;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

st, buf:string;

f: TextFile;

fName: String;

begin

fName := Edit2.Text;

AssignFile(f, fName);

Reset(f);

read(f, st);

n:=5;

Form1.StringGrid1.ColCount:=n;

Form1.StringGrid1.RowCount:=n;

while (i<=n) and (j<=n) do

begin

buf:= Copy(st,1,Pos( ,st)-1);

Delete(st,1,Pos( ,st));

Form1.StringGrid1.Cells[j,i]:=buf;

j:=j+1;

if j = n then begin j:=0; i:=i+1;

end;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

i:=0;

j:=0;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

i,j,im,jm: integer;

begin

im:=1; jm:=1;

for i:=0 to stringgrid1.RowCount-1 do

for j:=0 to stringgrid1.ColCount-1 do

if stringgrid1.Cells[j,i]>stringgrid1.Cells[jm,im] then

begin

im:=i;

jm:=j;

end;

RichEdit1.Lines.add(stringgrid1.Cells[jm,im]);

RichEdit1.Lines.add(Индекс max эл-та:);

RichEdit1.Lines.add(inttostr(jm));

RichEdit1.Lines.add(inttostr(im));

end;

procedure TForm1.N8Click(Sender: TObject);

begin

Form3.ShowModal;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Button3Click(Sender: TObject);

var

fName: String;

begin

RichEdit1.Lines.SaveToFile(fName);

end;

end.

Файл Unit3:

unit Unit3;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm3 = class(TForm)

StaticText1: TStaticText;

StaticText2: TStaticText;

StaticText3: TStaticText;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form3: TForm3;

implementation

{$R *.dfm}

end.

Скриншоты интерфейса программы:

Рисунок 3.1

Рисунок 3.2

Рисунок 3.3

Делись добром ;)