Автор работы: Пользователь скрыл имя, 04 Декабря 2011 в 11:58, курсовая работа
Работа с графикой в Delphi это не только линии и рисунки, но также и и печать текстовых документов. Поэтому в Delphi работе с графикой нужно уделить немного времени. Работа с графикой в Delphi предполагает обращение к Canvas - свойству Canvas компонентов. Canvas Delphi это холст, который позволяет программисту иметь доступ к каждой своей точке (пикселу), и словно художнику отображать то, что требуется. Конечно, рисовать попиксельно для работы с графикой в Delphi не приходится, система Delphi предоставляет для мощные средства работы с графикой, облегчающие задачу программиста.
ВВЕДЕНИЕ 2
1. Объектно-ориентированное программирование в Delphi. 4
2. Постановка задачи и описание программного продукта. 10
2.1. Постановка задачи. 10
2.2. Описание компонент программы. 10
2.2.1. Компоненты GroupBox и CheckBox 10
2.2.2. Компонент TImage 10
2.2.3. Компоненты OpenDialog, SaveDialog. 12
Заключение. 13
Список использованной литературы. 14
lineto(imw,imh-trunc((-ymin)*
moveto(trunc((-xs)*xmnoj),0);
lineto(trunc((-xs)*xmnoj),imh)
pen.style:=pssolid;
end;
if form1.linesch.checked=true then
begin
//если отмечено соединение линиями, то точки соединяются между собой...
for n:=0 to high(x)-1 do
begin
with form1.image1.canvas do
begin
moveto(trunc((x[n]-xs)*xmnoj),
lineto(trunc((x[n+1]-xs)*
end;
form1.gauge1.progress:=n;
end;
form1.gauge1.progress:=high(x)
end else //а если нет, то не соединяются
for n:=0 to high(x) do
begin
form1.image1.canvas.moveto(
form1.image1.canvas.lineto(
form1.gauge1.progress:=n;
end;
graph:=true;
form1.caption:='Graphics - Построение завершено';
end;
procedure TForm1.StartBtnClick(Sender: TObject);
var n:cardinal;
m:word;
str:string;
label a;
begin
form1.caption:='Graphics - Расчет точек';
graph:=true;
ram:=true;
xe:=strtofloat(xend.text);
xs:=strtofloat(xstart.text);
if xe<xs then
begin
str:=xend.text;
xend.text:=xstart.text;
xstart.text:=str;
xe:=xe+xs;
xs:=xe-xs;
xe:=xe-xs;
end;
step:=strtofloat(steped.text);
if (step>abs(xe-xs))or(step<0) then
begin
showmessage('Неверный шаг');
exit;
end;
setlength(x,trunc(abs(xe-xs)/
setlength(y,trunc(abs(xe-xs)/
gauge1.maxvalue:=high(y);
for n:=0 to high(x) do
begin
x[n]:=xs+n*step;
str:=formed.text;
str:=erranalise(str);
a:; //метка для обновления длинны str в цикле
for m:=1 to length(str) do
begin
//подстановка числа вместо x
if ((str[m]='x')or(str[m]='X')){
begin
delete(str,m,1);
insert(floattostr(x[n]),str,m)
goto a;
end;
{
if ((str[m]='x')or(str[m]='X'))
begin
delete(str,m,1);
insert(floattostr(x[n]),str,m)
str[m]:='~';
goto a;
end;}
end;
//решение функции в точке x
y[n]:=strtofloat(analise(str))
gauge1.progress:=n;
end;
xyminmax;
ris;
end;
procedure TForm1.ClearBtnClick(Sender: TObject);
begin
with form1.image1.canvas do
begin
brush.color:=clblack;
pen.color:=clblack;
rectangle(0,0,form1.image1.
end;
graph:=false;
xed.text:='0';
yed.text:='0';
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
finalize(x);
finalize(y);
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if graph then
begin
xed.text:=floattostr((x/
yed.text:=floattostr(ymax-(y/
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
with form1.image1.canvas do
begin
brush.color:=clblack;
pen.color:=clblack;
rectangle(0,0,form1.image1.
end;
end;
procedure TForm1.StartBtn2Click(Sender: TObject);
begin
xyminmax;
ris;
end;
procedure TForm1.OpenBtnClick(Sender: TObject);
var l:extended;
formula:string;
n:word;
begin
form1.caption:='Graphics - Открытие файла';
if opendialog.execute then
fn:=opendialog.filename;
if fn='' then exit;
setlength(x,0);
setlength(y,0);
assignfile(f,fn);
{$I-}
reset(f);
{$I+}
if ioresult=0 then
begin
finalize(x);
finalize(y);
read(f,l);
formula:='';
for n:=1 to trunc(l) do
begin
read(f,l);
formula:=formula+chr(trunc(l))
end;
read(f,xe,xs,step);
while not eof(f) do
begin
setlength(x,high(x)+2);
setlength(y,high(y)+2);
read(f,x[high(x)],y[high(y)]);
end;
setlength(x,high(x));
setlength(y,high(y));
formed.text:=formula;
xstart.text:=floattostr(xs);
xend.text:=floattostr(xe);
steped.text:=floattostr(step);
end else showmessage('Не могу открыть файл');
closefile(f);
form1.caption:='Graphics - Открытие завершено';
end;
procedure TForm1.SaveBtnClick(Sender: TObject);
var n:cardinal;
l:extended;
begin
form1.caption:='Graphics - Сохранение файла';
if savedialog.execute then
fn:=savedialog.filename;
if fn='' then exit;
l:=0;
for n:=length(fn) downto 1 do
if fn[n]='\' then
begin
l:=n;
break;
end;
if pos('.',copy(fn,trunc(l),
assignfile(f,fn);
rewrite(f);
l:=length(formed.text);
write(f,l);
for n:=1 to length(formed.text) do
begin
l:=ord(formed.text[n]);
write(f,l);
end;
write(f,xe,xs,step);
for n:=0 to high(x) do
write(f,x[n],y[n]);
closefile(f);
form1.caption:='Graphics - Сохранение завершено';
end;
procedure TForm1.AbBtnClick(Sender: TObject);
begin
AboutForm.ShowModal;
end;
end.
Информация о работе Постановка задачи и описание программного продукта