|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.05.2009, 23:05 | #1 |
Регистрация: 26.05.2009
Сообщений: 5
|
обозначение "-form"
Помогите пожалуйста. Это код графика, я не понимаю некоторых строк этого кода(что не понимаю обозначил красным):
procedure graf; var Form1: TForm1; implementation uses Unit2; {$R *.dfm} procedure graf; const n=30; var x,y,x2,y2,i,j:integer; x1,y1,x3,y3:real; s,s1:array[1..20] of string; begin for j:=1 to 20 do begin s[j]:=inttostr(j); s1[j]:=inttostr(-j); end; with form1.Canvas do begin Pen.Color:=form1.ColorDialog1.Color ; pen.Width:=2; textout(Form1.ClientWidth div 2-30,5,'Y'); textout(form1.clientwidth-20,form1.clientheight div 2-25,'X'); textout(form1.clientwidth div 2-10,form1.clientheight div 2-15,'0'); MoveTo(form1.clientwidth div 2,0); lineTo(form1.clientwidth div 2,form1.clientheight); MoveTo(0,form1.clientheight div 2); lineTo(form1.clientwidth,form1.clie ntheight div 2); for x:= 0 to form1.clientwidth do begin x1:=( -form1.clientwidth div 2+x)/n; y1:= exp(x1*ln(3)); y:= -round(y1*n)+form1.clientheight div 2; Moveto(x,y); x2:=x+2; x3:=( -form1.clientwidth div 2+x2)/n; y3:= exp(x3*ln(3)); y2:= -round(y3*n)+form1.clientheight div 2; pen.Width:=2; lineto(x2,y2); end; pen.Width:=1; pen.Color:=clblack; for i:= 1 to 20 do begin //X moveto(form1.clientwidth div 2-i*n,form1.clientheight div 2-7); lineto(form1.clientwidth div 2-i*n,form1.clientheight div 2+7); moveto(form1.clientwidth div 2+i*n,form1.clientheight div 2-7); lineto(form1.clientwidth div 2+i*n,form1.clientheight div 2+7); textout(form1.clientwidth div 2-i*n,form1.clientheight div 2+23,s1[i]); textout(form1.clientwidth div 2+i*n,form1.clientheight div 2+23,s[i]); //Y moveto(form1.clientwidth div 2-7,form1.clientheight div 2-i*n); lineto(form1.clientwidth div 2+7,form1.clientheight div 2-i*n); moveto(form1.clientwidth div 2-7,form1.clientheight div 2+i*n); lineto(form1.clientwidth div 2+7,form1.clientheight div 2+i*n); textout(form1.clientwidth div 2+23,form1.clientheight div 2-i*n,s[i]); textout(form1.clientwidth div 2+23,form1.clientheight div 2+i*n,s1[i]); end; end; end; |
26.05.2009, 23:13 | #2 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
Судя по тому, что вы выделили -form1..., а form1... не выделили, вас вводит в заблуждение обыкновенный унарный минус перед числовым выражением
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
27.05.2009, 00:26 | #3 |
Регистрация: 26.05.2009
Сообщений: 5
|
все равно не понял что же означает "-" перед form1 или перед round.
|
27.05.2009, 00:41 | #4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 183
|
Например если Form1.ClientWidth = 100, то -Form1.ClientWidth будет равет -100. Тоже самое что Form1.ClientWidth*-1
Until The End Of Time
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body | tabikA | HTML и CSS | 5 | 24.02.2009 21:50 |
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах | mihali4 | Свободное общение | 1 | 17.01.2009 01:43 |
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует | skobets | Общие вопросы C/C++ | 2 | 03.06.2008 06:51 |
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) | Dorvir | Microsoft Office Excel | 2 | 28.03.2008 10:03 |
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" | MAcK | Компоненты Delphi | 11 | 24.10.2007 10:49 |