Известны фамилии сотрудников (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.
ТЕМА: « Работа с таблицами. Компонент TStringGrid»
Ввести в компонент StringGrid1 исходные числа, используя функцию InputBox(). В компонент StringGrid2 в соответствующие клетки занести отрицательные числа, если таких нет в числе , то – ноль.. Ввод, формирование и очистка матриц выполняется в соответствии с пунктами меню. По включенным флажкам вывести на форму MAX и MIN элементы
unit Unit1;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var n,m,k,w:byte;i,j,max,min,kol,kol1:integer;t:string;
a:array[1..1000]of integer;
begin
n:=strtoint(inputbox('Ââîä','ââåäèòå êîëè÷åñòâî ñòðîê','0'));
m:=strtoint(inputbox('Ââîä','ââåäèòå êîëè÷åñòâî ñòîëáöîâ','0'));
sg1.RowCount:=n;
sg1.ColCount:=m;
sg2.RowCount:=n;
sg2.ColCount:=m;
for i:=0 to n-1 do
for j:=0 to m-1 do
sg1.cells[j,i]:=inputbox('Ââîä','ââåäèòå '+inttostr(i)+inttostr(j)+' ýëåìåíò òàáëèöû','0');
kol:=0;
for i:=0 to n-1 do
for j:=0 to m-1 do begin
kol:=0;
t:=sg1.cells[j,i];
k:=length(t);
for w:=1 to k do
if t[w]<'0' then
inc(kol);
if kol=0 then sg2.cells[j,i]:='0' else
sg2.cells[j,i]:=inttostr(kol);
end;
kol1:=0;
for j:=0 to m-1 do begin
kol1:=0;
for i:=0 to n-1 do
if sg2.cells[j,i]='0' then inc(kol1);
listbox1.items.add(inttostr(kol1));
end;
if RadioButton1.checked=true then begin
max:=strtoint(sg1.cells[0,0]);
for i:=0 to n-1 do
for j:=0 to m-1 do
if strtoint(sg1.cells[j,i])>max then max:=strtoint(sg1.cells[j,i]);
label3.caption:=inttostr(max);
end;
if RadioButton2.checked=true then begin
min:=strtoint(sg1.cells[0,0]);
for i:=0 to n-1 do
for j:=0 to m-1 do
if strtoint(sg1.cells[j,i])<min then min:=strtoint(sg1.cells[j,i]);
label4.Caption:=inttostr(min);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var j,i:byte;
begin
label3.caption:='';
label4.caption:='';
for j:=0 to sg1.colcount-1 do
for i:=0 to sg1.rowcount-1 do
sg1.Cells[j,i]:='';
for j:=0 to sg2.colcount-1 do
for i:=0 to sg2.rowcount-1 do
sg2.Cells[j,i]:='';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;
procedure TForm1.N2Click(Sender: TObject);
var i,j,n,m:integer; f:textfile;k,t:string;
begin
if opendialog1.execute=true then
begin
k:=opendialog1.FileName;
assignfile(f,k);
reset(f);
readln(f,n);
sg1.Rowcount:=n;
readln(f,m);
sg1.ColCount:=m;
for i:=0 to n-1 do
for j:=0 to m-1 do begin
readln(f,k);
sg1.Cells[j,i]:=k;end;
closefile(f);
end;
end;
procedure TForm1.N1Click(Sender: TObject);
var i,j,n,m:byte; f:textfile;k,t:string;
begin
if savedialog1.execute=true then
begin
k:=savedialog1.FileName;
assignfile(f,k);
rewrite(f);
writeln(f,sg1.rowcount);
writeln(f,sg1.colcount);
for i:=0 to sg1.rowcount-1 do
for j:=0 to sg1.colcount-1 do
writeln(f,sg1.Cells[j,i]);
closefile(f);
end;end;
end.