- •Лабораторная работа 1
- •Постановка задачи:
- •При запуске программы появляется следующее окно:
- •Лабораторная работа 2
- •Постановка задачи:
- •Interface
- •Implementation
- •При запуске программы появляется следующее окно:
- •Лабораторная работа 3
- •Постановка задачи:
- •Interface
- •Implementation
- •При запуске программы появляется следующее окно:
- •После нажатия кнопки «пуск»:
- •Лабораторная работа 4
- •Постановка задачи:
- •Interface
- •Implementation
- •При запуске программы появляется следующее окно:
- •Лабораторная работа 5
- •Постановка задачи:
- •Interface
- •Implementation
- •Лабораторная работа 6 Разработка приложения обработки строковой информации Постановка задачи:
- •Interface
- •Implementation
- •Лабораторная работа 6
- •Постановка задачи:
- •Interface
- •Implementation
- •При запуске программы появляется следующее окно:
- •После и нажатия кнопки «Создать» появляется окно создания нового файла и выбора месторасположения и ввода имени создаваемого файла данных.
- •Лабораторная работа 7
- •Interface
- •Implementation
- •Interface
- •Implementation
- •При запуске программы появляется следующее окно:
- •После нажатия кнопки «пуск»:
- •Лабораторная работа 8
- •Постановка задачи:
- •Interface
- •Implementation
- •X, y, z : real;
- •При запуске программы появляется следующее окно:
- •После нажатия кнопки «Выполнить»:
- •Лабораторная работа 9
- •Постановка задачи:
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Лабораторная работа №10 сохранение параметров и установок в ini-файлах
- •Interface
- •Implementation
- •Лабораторная работа №11 графические компоненты
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Лабораторная работа №12 управление программой с помощью панели инструментов
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Лабораторная работа №13 создание многостраничного документа
- •Interface
- •Implementation
- •Лабораторная работа №14 комплексная лабораторная работа
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
Implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var n,ch:integer;
s,buf:string;
begin
s:=Edit1.Text+' ';
while s<>''do
begin
buf:='';
n:=pos(' ',s);
buf:=copy(s,1,n-1);
ch:=StrToInt(buf);
if ch mod 2 = 0 then ListBox1.Items.add (IntToStr(ch)) ;
delete(s,1,n);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '';
end;
end.
Результат работы программы:
При запуске программы появляется следующее окно:
Выводы: изучили методы программирования с использованием строк и правила работы с компонентами TListBox и TComboBox. Написали программу работы со строками.
Лабораторная работа 6
Разработка приложения с использованием записей и файлов
Постановка задачи:
Разработать приложение, поддерживающее чтение и сохранение информации в файлах в соответствии с индивидуальным заданием.
В программе предусмотреть сохранение вводимых данных в файле и возможность чтения из ранее сохраненного файла. Результаты выводить в окно просмотра и в текстовой файл.
Задание: Информация о сотрудниках предприятия содержит: Ф.И.О., номер отдела, должность, дату начала работы. Вывести списки сотрудников по отделам в порядке убывания стажа.
Текст программы:
unit Unit1;
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Splitter1: TSplitter;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
TSotrudniki = record
fio:string[255];
nofotdel:Integer;
SPost:string[255];
SDate:TDatetime;
end;
var
Fz : file of Tsotrudniki; //Файл типа запись
Ft : TextFile; //Текстовый файл
sotr: array [1..100] of TSotrudniki; //Массив записей
FileNameZ, FileNameT : string; //Имя файла
nzap : integer;
var
Form1:TForm1;
Implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := '';
Edit2.Text := '';
Edit3.Text := '';
Edit4.Text := '';
Button1.Hide; //Сделать невидимой кнопку "Ввести запись"
nzap := 0;
end;
//ввести новую запись
procedure TForm1.Button1Click(Sender: TObject);
begin
nzap := nzap+1;
with sotr[nzap] do
begin
FIO:=Edit1.Text;
NofOtdel:=StrToInt(Edit2.Text);
SPost:=Edit3.Text;
SDate:=StrToDate(Edit4.Text);
Memo1.Lines.Add(fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost
+ ' ' + DateToStr(sDate));
end;
write(fz, sotr[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);
Rewrite(fz);
end;
Button1.Show;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
FileNameZ := OpenDialog1.FileName;
AssignFile(fz, FileNameZ);
Reset(fz);
end;
nzap := 0;
while not eof(fz) do begin
nzap := nzap+1;
Read(fz, sotr[nzap]);
with sotr[nzap] do
Memo1.Lines.Add(fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost
+ ' ' + DateToStr(sDate));
end;
Button1.Show;
end;
procedure TForm1.Button4Click(Sender: TObject);
var
i, j : word;
st:TSotrudniki;
begin
for i := 1 to nzap-1 do
for j := i+1 to nzap do
if sotr[i].nofotdel > sotr[j].nofotdel then
begin
st:=sotr[i];
sotr[i]:=sotr[j];
sotr[j]:=st;
end;
for i := 1 to nzap-1 do
for j := i+1 to nzap do
if sotr[i].nofotdel = sotr[j].nofotdel then
if sotr[i].SDate < sotr[j].SDate then
begin
st:=sotr[i];
sotr[i]:=sotr[j];
sotr[j]:=st;
end;
Memo1.Clear;
for i := 1 to nzap do
with sotr[i] do
Memo1.Lines.Add(fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost + ' ' + DateToStr(sDate));
end;
procedure TForm1.Button5Click(Sender: TObject);
var
i : word;
begin
if SaveDialog1.Execute then
begin
FileNameT := SaveDialog1.FileName;
AssignFile(ft, FileNameT);
Rewrite(ft);
end;
for i := 1 to nzap do
with sotr[i] do
writeln(Ft, i:4, '. ', fio + ' ' + IntToStr(NofOtdel) + ' ' + SPost
+ ' ' + DateToStr(sDate));
CloseFile(ft);
end;
end.
Результат работы программы:
