Лекции.Орг


Поиск:




Настройка компонентов TOpenDialog a TsaveDialag




 
 

Для установки компонент TOpenDialog и TSaveDialog на форму необходимо, на странице Dialogs меню компонентов щелкнуть мышью соответственно по пиктограммам или и поставить их в любое свободное место формы. Установка фильтра производится следующим образом. Выбрав соответствующий компонент, дважды щелкнуть по правой части свойства Filter инспектора объектов. Появится окно Filter Editor, в левой части которого записывается текст, характеризующий соответствующий фильтр, а в правой части - маску.

 

Фиг.6.1

 

Для OpenDialodI установим значения маски как показанона фиг.6.1.Формат *.dat означает что, будут видны все файлы с расширением dat, а формат *.* - что будут видны все файлы (с любым именем и с любым расширением).

Для того, чтобы файл автоматически записывался с расширением.dat в свойстве DefaultExt запишем требуемое расширение -. dat. Аналогичным образам настроим SaveDialogI для текстового файла (расширение *.txt).

 

Работа с программой

 

 
 

После запуска программы на выполнение появится диалоговое окно программы. Кнопка “Ввести запись”видна не будет. Необходимо создать новый файл записей, нажав на кнопку "Создать" или открыть ранее созданный, нажав - кнопку "Открыть". После этого станет видна кнопка "Ввести запись"

Фиг.6.2

и можно будет вводить записи. При нажатии на кнопку "Сортировка" будет проведена сортировка ведомостипо убыванию среднего балла и диалоговое окно примет вид как на фиг.6.2. Затем при нажатии на кнопку “Сохранить” будет создан текстовой файл, содержащий отсортированную ведомость. Файл записей закрывается одновременно с программой при нажатии на кнопку "Close" или. Текст программы приведен ниже.

 

Unit Unit1;

Interface

Uses

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

Dialogs, Buttons, StdCtrls;

 

Type

TForm1 = class(TForm)

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

BitBtn1: TBitBtn;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Memo1: TMemo;

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 BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

Type

TStudent = record

FIO: string[40]; //Поле ф.и.о.

otc: array[1..3] of word; //Поле массива оценок

sball: extended; //Поле среднего балла

end;

 

var

Fz: file of Tstudent; //Файл типа запись

Ft: TextFile; //Текстовой файл

Stud: array[1..100] of Tstudent; //Массив записей

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

FIO:= Edit1.Text;

otc[1]:= StrToInt(Edit2.Text);

otc[2]:= StrToInt(Edit3.Text);

otc[3]:= StrToInt(Edit4.Text);

sball:= (otc[1] + otc[2] + otc[3])/3;

Memo1.Lines.Add(fio + '' + IntToStr(otc[1 ]) +

' ' + IntToStr(otc[2]) + '' + IntToStr(otc[3]));

end;

 

Write(fz, Stud[nzap]); //Запись в файл

Edit1.Text:= '';

Edit2.Text:= '';

Edit3.Text:= '';

Edit4.Text:= '';

end;

 

Procedure TForm1.Button2Click(Sender: TObject);

begin

OpenDialog1.Title:= 'Создать новый файл';

// Изменение заголовка окна диалога

if OpenDialog1.Execute then

// Выполнение стандартного диалога выбора имени файла

begin

FileNameZ:= OpenDialog1.FileName;

// Возвращение имени дискового файла

AssignFile(Fz, FileNameZ);

// Связывание файловой переменной Fz с именем файла

Rewrite(Fz); //Создание нового файла

Button1.Show; //Сделать видимой кнопку "Ввести запись"

end;

end;

 

Procedure TForm1.Button3Click(Sender: TObject);

begin

if OpenDialog1.Execute then

//Выполнение стандартного диалога выбора имени файла

begin

FileNameZ:= OpenDialog1.FileName;

// Возвращение имени дискового файла

AssignFile(Fz, FileNameZ);

// Связывание файловой переменной Fz с именем файла

Reset(Fz); //Открытие существующего файла

end;

 

While not EOF(fz) do

begin

nzap:= nzap + 1;

Read(fz, stud[nzap]); //Чтение записи из файла

with stud[nzap] do

Memo1.Lines.Add(fio + '' + IntToStr(otc[1]) +

' ' + IntToStr(otc[2]) + '' + IntToStr(otc[3]));

end;

Button1.Show; //Сделать видимой кнопку "Ввести запись"

end;

 

Procedure Tform1.Button4Click(Sender: TObject);

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

var

i, j: word;

st: Tstudent;

begin

for i:= 1 to nzap-1 do

for j:= i + 1 to nzap do

if Stud[i].sball < Stud[j].sball then

begin

st:= Stud[i];

Stud[i]:= Stud[j];

Stud[j]:= st;

end;

 

Memo1.Clear;

for i:= 1 to nzap do

// Вывод в окно Memo1 отсортированных записей

with stud[i] do

Memo1.Lines.Add(IntToStr(i) + '' +

fio + '' + FloatToStrF(sball, fffixed, 4, 2));

end;

 

Procedure Tform1.Button5Click(Sender: TObject);

// Сохраниение результатов сортировки в текстовом файле

var

i: word;

begin

if SaveDialog1.Execute then

// Выполнение стандартного диалога выбора имени файла

begin

FileNameT:= SaveDialog1.FileName;

// Возвращение имени дискового файла

AssignFile(Ft, FileNameT);

// Связывание файловой переменной Ft с именем файла

Rewrite(Ft); //Открытие нового текстового файла

end;

 

for i:=1 to nzap do

with stud[i] do

Writeln(Ft, i:4, '.', fio, sball:8:2);

// Запись в текстовой файл

CloseFile(Ft); //Закрытие текстового файла

end;

 

Procedure TForm1.BitBtn1Click(Sender: TObject);

begin

CloseFile(fz);

// Закрытие файла записей при нажатии на кнопку "Close"

end;

{

Procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

CloseFile(fz);

// Закрытие файла записей при нажатии на кнопку

end;

}

end.

 





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 405 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

990 - | 855 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.