Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Настройка компонентов 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; Мы поможем в написании ваших работ!; просмотров: 426 | Нарушение авторских прав


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

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

Люди избавились бы от половины своих неприятностей, если бы договорились о значении слов. © Рене Декарт
==> читать все изречения...

2504 - | 2301 -


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

Ген: 0.009 с.