Лаба № 19 «диалоговые Окна» По Информатике (Попов Д. И
.).docМосковский Государственный Университет Печати
Кафедра информатики и вычислительной техники
Отчет
по лабораторной работе №19
на тему диалоговые окна
Выполнила:
студент группы ДЦим-1-1
Смирнова Татьяна Михайловна
дата сдачи
дата защиты
принял
оценка
замечания
-
Цель работы: Создать приложение позволяющее работать при помощи меню с файлами (сохранять и открывать их), содержащими строки. Написать обработчик события по сортировке строк в файле.
-
Разработка алгоритма.
Напишем словесное описание алгоритма:
-
Для открытия файла:
Если файл выбран, то считать из него текст и вывести его в поле, иначе очистить поле.
-
Для сохранения файла:
Если файл выбран, то сохранить в него текст.
-
Для сортировки строк:
-Создать лист строк
-От 0 до последней -1 строки скопировать текст в лист строк
-Очистить поле
-Сортировать лист строк
-Перенести его в поле
-Освободить лист строк.
Нарисуем блок схему процедур:
-
Для открытия файла: 2. Для сохранения файла:
нет
нет
да
да
-
Для сортировки строк:
-
Разработка программы.
unit Unitlaba19;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
Memo1: TMemo;
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.N2Click(Sender: TObject);
begin
if opendialog1.Execute then
memo1.Lines.LoadFromFile(openDialog1.filename)
else
memo1.lines.Clear;
end;
procedure TForm1.N3Click(Sender: TObject);
begin
if savedialog1.Execute then
memo1.LineS.savetofile(savedialog1.filename);
end;
procedure TForm1.N5Click(Sender: TObject);
var str:tstringlist; i:integer;
begin
str:=TStringList.create;
for i:=0 to memo1.Lines.Count-1 do
str.Add(memo1.Lines[i]);
str.SORT;
memo1.Lines.Clear;
for i:=0 to str.count-1 do
memo1.LineS.add(str[i]);
str.Free;
end;
end.
-
Скриншоты работы программы.