![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() В каком месте кода? Я скажем решил в процедуру Button1Click, что бы функция пренадлежала ей и вызывалась нажатием кнопки. В public ведь скрывать мне нечего. Я не уверен чито так надо. Понял что я смутно очинь смутно представляю как надо.
Ошибка при компиляции на первой же строке функции. Да я ожидал что обьявление функции если оно верное будит скомпилировано, без ошибок. Без использования функции. Если в другом модуле эта функция не нужна её можно и не объявлять. А как их правильно вообще обьявлять? Я имено с Дельфи почти некак, незнаком. Принцип классов в общем понимаю, но тут много особеностей. Почти наугад делаю. Вот тоже вышла ошибка Код:
Ага. Undeclared identifier TFunc |
#2
|
||||
|
||||
![]() Код:
З.Ы. Небольшое бегинендовое нарушение синтаксиса языка, пропущено ключевое слово, одним словом мелочёвка по невнимательности, результат - на форме рисуется красный клетчатый овал Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 06.06.2014 в 19:22. |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Dimka-super (06.06.2014)
|
#3
|
|||
|
|||
![]() Ответ вижу!!
|
#4
|
|||
|
|||
![]() Да, я видел. Рассматриваю код, пытаюсь понять закономерности. Там вообще то вроде еще координатная ось должна быть!
|
#5
|
||||
|
||||
![]() Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 06.06.2014 в 20:14. |
#6
|
|||
|
|||
![]() Хм.. Да я не знаю. По описанию функция притязала на ее отрисовку.
|
#7
|
|||
|
|||
![]() Введение
В Delphi для прорисовки различных элементов управления используется специальный класс TCanvas. Можно выделить 4 основных направления, в которых используется этот класс: 1. Загрузка и хранение графических изображений. 2. Создание новых и изменение хранимых изображений с помощью пера, кисти, шрифта. 3. Рисование и/или закраска фигур, линий, текстов. 4. Комбинирование изображений. Как Вы уже поняли, мы пойдем по третьему направлению. Теперь давайте рассмотрим некоторые свойства и методы класса TCanvas. Сразу скажу, что я буду рассматривать далеко не все методы и свойства класса TCanvas, а лишь те, которые мы будем использовать потом. TCanvas Свойства: 1. property Brush: TBrush; Данное свойство позволяет определить цвет (Brush.Color) и стиль (Brush.Style) заполнения замкнутых фигур и фона. 2. property ClipRect: TRect; - read-only Данное свойство позволяет получить доступную область рисования. Вне этой области рисовать невозможно. Тип TRect, описанный в модуле Windows, имеет следующий синтаксис: Код Delphi 1 2 3 4 5 6 7 8 9 10 11 Type TRect = record Case integer of 0: (Left, Top, Right, Bottom: Integer); 1: (TopLeft, BottomRight: TPoint); end; 3. property Pen: TPen; Данное свойство позволяет задать цвет пера, рисующего фигуры или линии. Методы: 1. procedure FillRect (const Rect: TRect); Метод позволяет заполнить цветом прямоугольную область холста Rect, используя текущее значение кисти Brush. 2. procedure MoveTo (x, y: integer); Метод позволяет переместить перо в точку (X, Y). 3. procedure LineTo (x, y: integer); Метод позволяет нарисовать прямую линию, которая начинается с текущей позиции пера и заканчивается точкой (x, y). При рисовании используются текущие установки пера Pen. Ну вот, пожалуй, и все, что нам будет нужно, для успешного построения графика. Построение графика. Теория. Для начала предлагаю немного теории. Мы собираемся писать процедуру построения графика функции на определенной поверхности, заданной свойством Canvas. Я предлагаю поставить оси координат в середине этой области, а график растянуть так, чтобы он растянулся на всю область. Строить мы будем методом lineto. Поэтому нам нужно определиться с шагом изменения величины аргумента. Я предлагаю взять его обратным к масштабу по оси ординат. Так наш график будет выглядеть плавно при любой функции и любом начальном и конечном значении абсциссы. Масштаб по оси абсцисс считается, отношение ширины поверхности к разнице максимального и минимального значения абсциссы. Масштаб по оси ординат считается аналогично: отношение высоты поверхности к разнице между максимальным и минимальным значениями данной функции на данном интервале. Процедура DrawGraph Ну вот и все с теорией и я приведу полный код функции. Код:
|
#8
|
|||
|
|||
![]() Конечно, я, Димка, может что то не так прочёл иле не так понял, криво скопировал.
Да я и не знаю Дельфи. Я чуть знаком с С++ и совсем немного с Ассемблером, и другими языками. |
#9
|
|||
|
|||
![]() Не знаю.. Я должн был взять функцию внутрь бэгин- энд. Иначе она не может реагировать на нажатие кнопки. Верно? ....Выходит [Error] Unit1.pas(28): Statement expected but 'TYPE' found
У меня пока код выглядит так Код:
|
#10
|
||||
|
||||
![]() А может такое подойдёт
Код:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Dimka-super (06.06.2014)
|
#11
|
|||
|
|||
![]() Спасибо!! Попробую!
![]() |
#12
|
|||
|
|||
![]() СПАСИБО ОГРОМНЕЙШЕЕ!!!!!! Расписано, читаю.
Чего было-т. Я стал в Дельфи вставлять код, он расположился в линию. Стал его править. Вдруг весь код сбежал в окне вверх, я не мог его удержать. Стали расти цифры строк внизу. я пробовал дергать рычажок. И вдруг окно само стало всячески менять форму! Я в шоке. Я стал выключать дельфи. Дельфи замигал всеми формами и окнами, чаще и чаще, имено с частатой реального стробоскопа!! Все сверкает по глазам- все окна, форумы, надпись форум по программированию! Это риально было что-то!! Красиво! Вы такого еще не видели. Я тоже. Стремно! Я вырубил комп кнопкой с третьего раза не выясняя что это. Полежал минут 15. В кафе музыка, расслабон ниреальный. Только включил комп. Да, пока все путем. |
#13
|
||||
|
||||
![]() 4250 Что за бред такой? Явно перегрев у товарища
Ну ты понел ^_^. |
#14
|
|||
|
|||
![]() Рисует!!!!!!!!
![]() ![]() ![]() ![]() |