В эти строки можно ввести данные и они добавятся в таблицу.
При нажатии на кнопку «Удалить» пользователю предлагается ввести
Инвентарный номер, по которому удалится выделенная строка, если номер выбран не
правильно, выводится сообщение об ошибке (Рисунок 13).

Рисунок 13 - Работа кнопки «Удалить»
Кнопки «Сохранить» сохраняет данные в документе. Кнопка «Сохранить как»
сохраняет документ в выбранном пользователем документе (Рисунок 14).
Рисунок 14 - Сохранение документа
Кнопки «Об программе» и «Об авторе» открывают информацию об программе и
ее разработчике. (Рисунок 15-16).
Рисунок 15 - О программе
Рисунок 16 - Об авторе
На формах (Рисунок 12, 15, 16) расположенная кнопка «Вернуться»
возвращает пользователя на главную форму. Расположенная на главной форме кнопка
«Выход» закрывает программу.
Оптимизация программы - улучшение программы, поиск лучших вариантов для
более быстрой и стабильной работы программы. Для оптимизации программы следует
убирать «мертвые коды», которые не используются при работе программы. Устранять
мелкие небрежности кода программы и т.п.
procedure TForm2.Button3Click(Sender: TObject); //позволяет сохранить файл с новым именем
begin
if SaveDialog1.Execute then begin
S:=SaveDialog1.FileName+'.txt';
assignfile(f,s);
rewrite(f);
for i:=1 to SG1.RowCount-1 do
for j:=0 to SG1.ColCount-1 do
writeln(f,SG1.cells[j,i]);
writeln(f,'');;
closefile(f)
end
else
showMessage('Вы не выбрали файл');//Сообщение выводимое на экран в случае не выбранного файла для сохранения
end;
Блок-схема детализируемой программы (в соответствии с ГОСТ 19.701-90).
Рисунок 17 - блок схема программы
ЗАКЛЮЧЕНИЕ
Разработанное программное обеспечение предназначено для быстрого и удобного поиска принтеров на территории колледжа и сведений о данном оборудовании. Это может позволить быстро устранить поломку в принтере, поменять картридж и совершить другие действия по их обслуживанию, не приходя в аудиторию для ознакомления с моделью принтера. Программа предназначена для администрации, преподавателям и программистам колледжа, она позволила легче получить информацию о местонахождении и функции принтерах в колледже. Это позволило потратить меньше времени на поиск моделей для исправления их поломок.
В созданной программе были указаны сведения о принтере:
. Название модели.
. Скорость печати.
. Кабинет расположения принтера.
. Преподаватель.
Были углублены знания о возможностях Delphi, работы с таблицами StringGrid и другими возможностями данной
программы.
1. Культин Н.Б. Embarcadero Delphi.
2. Дмитрий Осипов Базы данных и Delphi. Теория и практика.
. Рубанцев Валерий. Описание книги Delphi в примерах, играх и программах.
. Сергей Бобровский. Технологии Delphi 2006. Новые возможности.
. Михаил Голованов, Евгений Веселов. Создание компонентов в среде Delphi. Руководство разработчика.
. Иван Хладни. Внутренний мир Borland Delphi.
. А. Я. Архангельский. Программирование в Delphi для Windows.
. А. Чиртик, В. Борисок, Ю. Корвель. Трюки и эффекты.
9. М. Е. Фленов. Delphi глазами хакера <http://programmersclub.ru/bookhaker>.
. Д. Тейлор, Дж. Мишель, Дж.
Пенман. Delphi, библиотека программиста
<http://programmersclub.ru/bookdelphias>.
Form 2TForm2.BitBtn1Click(Sender: TObject);.close;;TForm2.Button1Click(Sender: TObject); //Кнопка ОткрытьOpenDialog1.Execute then begin:=OpenDialog1.FileName ;(f,s);(f);:=0;not eof(f) do
readln (f);
readln (f);
readln (f);
readln (f);
readln (f);
inc(k);
readln (f);;(f);(f,s);(f);.ColCount:=5;.rowCount:=k;
SG1.cells[0,0]:='Заголовок 1 столбца';.cells[0,1]:='Заголовок 1 столбца';
for i:= 1 to SG1.RowCount-1 do
begin
for j:= 0 to SG1.ColCount-1 do begin
readln(f,x);
SG1.Cells[j,i]:=x;
end;
readln(f,x);;
closefile(f);
end('Вы не выбрали файл');
end;TForm2.Button2Click(Sender: TObject); //сохранить
if s <> '' then begin
assignfile(f,s);
rewrite(f);
for i:=1 to SG1.RowCount-1 do
begin
for j:=0 to SG1.ColCount-1 do
writeln(f,SG1.cells[j,i]);
writeln(f,'');(f)
end
else
showmessage ('Вы не выбрали файл.'+#10#13+'Нужно открыть файл или создать новый и нажать кнопку "Сохранить как"');
end;TForm2.Button3Click(Sender: TObject); //сохранить какSaveDialog1.Execute then begin
S:=SaveDialog1.FileName+'.txt';
assignfile(f,s);
rewrite(f);
for i:=1 to SG1.RowCount-1 do
begin
for j:=0 to SG1.ColCount-1 do
writeln(f,SG1.cells[j,i]);
writeln(f,'');
end;
closefile(f)
end
showMessage('Вы не выбрали файл');;TForm2.Button4Click(Sender: TObject);.show;;TForm2.Button5Click(Sender: TObject);.show;;TForm2.Button6Click(Sender: TObject);.show;;TForm2.Button7Click(Sender: TObject);n: integer;
a: string;
begin:=inputbox ('Поиск','Введите инвентарный номер, которых хотите удалить','1');
n:=0 ;SG1 do begini:=1 to RowCount - 1 do
if (cells [1,i]=a) then n:=i;n <> 0 then begini := n to RowCount-1 do
for j := 0 to ColCount - 1 do
cells [j,i]:=cells [j,i+1];:=RowCount - 1;showmessage ('Нет такого инвентарного номера');
end;;TForm2.FormCreate(Sender: TObject);.Color:=rgb(255, 214, 155);;TForm2.SG1Click(Sender: TObject);;TForm2.SG1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
State: TGridDrawState);
var
s:string;
h: integer;
begin
with Sender as TStringGrid do
Canvas.FillRect(Rect);
DrawText (Canvas.Handle,
PChar(Cells[ACol, ARow]),
Length(Cells[ACol, ARow]),
Rect, DT_WORDBREAK or
DT_EXPANDTABS);
end;;TForm3.Button1Click(Sender: TObject);.Hide;;TForm3.FormCreate(Sender: TObject);.Color:=rgb(255, 214, 155);;TForm4.Button1Click(Sender: TObject);Form2 do begin
SG1.rowcount:=SG1.RowCount+1;
SG1.Cells [0, SG1.rowcount-1]:= Form4.edit1.Text;
SG1.Cells [1, SG1.rowcount-1]:= Form4.edit2.Text;
SG1.Cells [2, SG1.rowcount-1]:= Form4.edit3.Text;
SG1.Cells [3, SG1.rowcount-1]:= Form4.edit4.Text;
SG1.Cells [4, SG1.rowcount-1]:= Form4.edit5.Text;
ShowMessage ('Строка была добавлена в таблицу');
end;;TForm4.Button2Click(Sender: TObject);.Hide;;TForm4.FormCreate(Sender: TObject);.Color:=rgb(255, 214, 155);;_programmeTForm1.Button1Click(Sender: TObject);.Hide;;TForm1.FormCreate(Sender: TObject);.Color:=rgb(255, 214, 155);;.