Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт по делфи.docx
Скачиваний:
8
Добавлен:
22.09.2019
Размер:
722.65 Кб
Скачать

3) Тема: «Работа со списками на форме. Сортировка массива».

Известны фамилии сотрудников (ListBox1), образование (ListBox2), стаж работы (ListBox3).Выполнить следующие виды работ:

  • Дописать новых сотрудников;

  • Отсортировать сотрудников по фамилии;

  • Дописать новых сотрудников, сохранив упорядоченность;

  • Отсортировать сотрудников по стажу работы;

  • Дописать новых сотрудников, сохранив упорядоченность по стажу работы;

Выбрать сотрудников по стажу работы.

unit Unit3;

procedure Button3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

LB1.Clear;

LB2.Clear;

LB3.Clear;

end;

procedure TForm1.Button1Click(Sender: TObject);

var n,i:Byte;

begin

n:=StrToInt(E1.text);

for i:=0 to n-1 do begin

lb1.items.add(inputbox('Ввод','Введите'+inttostr(i+1)+' Фамилию сотрудника',' '));

LB3.items.add(inputbox('Ввод','Введите'+inttostr(i+1)+' Стаж работы',' '));

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

var i:Byte;

begin

LB1.items.add(inputbox('Ввод','Введите фамилию',' '));

LB3.items.add(inputbox('Ввод','Введите должность',' '));

end;

procedure TForm1.Button10Click(Sender: TObject);

var i:byte; f:textfile; k:string;

begin

if SaveDialog1.Execute=true then begin

k:=SaveDialog1.FileName;

assignfile(f,k);

rewrite(f);

writeln(f,LB1.items.count);

for i:=0 to LB1.Items.Count-1 do

writeln(f,LB1.items[i]);

for i:=0 to LB1.Items.Count-1 do

writeln(f,LB3.items[i]);

end;

closefile(f);

showmessage('Данные записаны');

end;

procedure TForm1.Button11Click(Sender: TObject);

var i,k1:byte; f:textfile; k,buf:string;

begin

if opendialog1.Execute=true then begin

k:=opendialog1.FileName;

assignfile(f,k);

reset(f);

readln(f,k1);

for i:=k1+1 to 2*k1 do begin

readln(f,buf);

LB1.Items.Add(buf);

end;

for i:=2*k1+1 to 3*k1 do begin

readln(f,buf);

LB3.Items.Add(buf);

end;

closefile(f);

showmessage('Данные загруженны');

end;

end;

procedure TForm1.Button5Click(Sender: TObject);

var a:array[1..100] of integer; i,n,j:byte; r:string;

begin

n:=strtoint(E1.text);

for i:=0 to LB1.Items.Count-2 do

for j:=i+1 to LB1.Items.Count-1 do

if LB1.Items[i]>LB1.Items[j] then begin

r:=LB1.Items[i];

LB1.Items[i]:=LB1.Items[j];

LB1.Items[j]:=(r);

r:=LB3.Items[i];

LB3.Items[i]:=LB3.Items[j];

LB3.Items[j]:=(r);

end;

end;

procedure TForm1.Button6Click(Sender: TObject);

var a:array[1..100] of integer; i,n,j:byte; r:string;

begin

LB1.items.add(inputbox('Ввод','Введите фамилию',' '));

LB3.items.add(inputbox('Ввод','Введите стаж работы',' '));

for i:=0 to LB1.Items.Count-2 do

for j:=i+1 to LB1.Items.Count-1 do

if LB1.Items[i]>LB1.Items[j] then begin

r:=LB1.Items[i];

LB1.Items[i]:=LB1.Items[j];

LB1.Items[j]:=(r);

r:=LB3.Items[i];

LB3.Items[i]:=LB3.Items[j];

LB3.Items[j]:=(r);

end;

end;

procedure TForm1.Button7Click(Sender: TObject);

var a:array[1..100] of integer; i,n,j:byte; r:string;

begin

n:=strtoint(E1.text);

for i:=0 to LB1.Items.Count-2 do

for j:=i+1 to LB1.Items.Count-1 do

if LB3.Items[i]>LB3.Items[j] then begin

r:=LB3.Items[i];

LB3.Items[i]:=LB3.Items[j];

LB3.Items[j]:=(r);

r:=LB1.Items[i];

LB1.Items[i]:=LB1.Items[j];

LB1.Items[j]:=(r);

end;

end;

procedure TForm1.Button9Click(Sender: TObject);

var i,n:Byte; f:string;

begin

n:=strtoint(E1.text);

f:=E2.text;

for i:=0 to LB1.Items.Count-1 do begin

if LB3.Items[i]=f then

LB2.Items.Add(LB1.Items[i]);

end;

end;

end.