Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Вниз

Рисование прямых   Найти похожие ветки 

 
Робинзон   (2007-06-18 14:25) [0]

У меня возникло небольшое затруднение. Если кто сможет то пожалуйста помогите. Проблема вот в чем. Я пишу программу для туристов "Электронная карта" (т.е. в PaintBox загоняется рисунок карты или создается сам так как имеются условные обозначения , карандаш и т.д. имеются поля ввода расстояния, времени и азимута). И программа должна прорисовать весь маршрут который я ввожу.
За начало я выбираю точку. Задача вот в чем координаты конечной точки должны быть начальными координатами для следующих прямых.
вот часть кода (здесь вводятся x , у и угол а)

var
x:integer; // аргумент функции
y:integer ; // значение функции в точке x
a:integer;
x0:integer; // аргумент функции
y0:integer;
begin
with MainForm.Canvas do
begin
x0:=StrtoInt(MainForm.Edit1.Text);
y0:=StrtoInt(MainForm.Edit2.Text);
a:=StrtoInt(MainForm.Edit3.Text);
x:=x0*(a);
y:=y0*(a);

MoveTo(300+x,y-a);LineTo(x,y);</CODE


 
MBo ©   (2007-06-18 14:30) [1]

непонятно, в чем загвоздка, т.к. MoveTo и LineTo, как видно, тебе уже знакомо.


 
Сергей М. ©   (2007-06-18 14:32) [2]


> Проблема вот в чем. Я пишу программу


Ну так не пиши ее - проблема рассосется сама собой)

Или проблема не только в этом ?


 
Робинзон   (2007-06-18 14:42) [3]

Рисует не то что надо мне нужно чтобы конечные координаты первой прямой были начальными координатами второй прямой и т.д. Т.е получалась ломаная( непрерывный путь)


 
KSergey ©   (2007-06-18 14:46) [4]

А где код рисования второй прямой?


 
MBo ©   (2007-06-18 14:50) [5]

MoveTo(начало 1)
LineTo(конец 1)
LineTo(конец 2)
LineTo(конец 3)
...

Если все точки держать в массиве, то достаточно одного вызова PolyLine


 
Робинзон   (2007-06-18 14:51) [6]


> Ну так не пиши ее - проблема рассосется сама собой)
>
> Или проблема не только в этом ?

 Я создал справочник для туристов и по  выживанию в экстремальных ситуациях с кучей всевозможных приложений таких как (термометр, блокнот, психрометр (прибор для обределения влажности), высотомер, секундомер, часы и будильник, календарь с определением фаз луны и восходом солнца , секстант, калькулятор, для определения количества топлива, и многие другие. И вот я придумал еще одно приложение "Электронная карта" или маршрутизатор. где данные маршрута записываются в базу данных. И вычерчивается маршрут по данным путь, время, азимут.


 
Робинзон   (2007-06-18 14:53) [7]

Если я буду использовать массив то количество прямых ограничено. А мне за ведомо не известно сколько их будет.
> А где код рисования второй прямой?

Не понял .


 
Efir ©   (2007-06-18 14:56) [8]

А динамический массив?


 
Робинзон   (2007-06-18 14:57) [9]

Извини жутко торможу. А как его использовать?


 
Efir ©   (2007-06-18 15:05) [10]

var
 mas:array of тип;

Выделяем память:
SetLength(mas, кол-во элементов);


 
Робинзон   (2007-06-18 15:09) [11]

Это что то типа этого
var
 a : array[1..5] of integer;          
 i: integer;              
begin
   for i:= 1 to 5 do
    if Length(StringGrid1.Cells[i-1,0]) <> 0
       then a[i] := StrToInt(StringGrid1.Cells[i-1,0])
       else a[i] := 0;


 
Робинзон   (2007-06-18 15:26) [12]

Это же нужно тогда три массива если я правильно понял:
1. Вводятся расстояния
2 Вводится время
3 Вводится азимут


 
Сергей М. ©   (2007-06-18 15:32) [13]


> Робинзон   (18.06.07 14:51) [6]


Может не стоит заниматься изобретением очередного деревянного велосипеда с дюжиной треугольных колес, а сосредоточиться вместо этого на поиске и применении уже существующих компонентов, позволяющих хранить/показывать/редактировать векторно-растровые графические объекты ?

Например FlowChart ActiveX control ?


 
Робинзон   (2007-06-18 15:39) [14]

Но это же контрол для создания и редактирования диаграм


 
Сергей М. ©   (2007-06-18 15:45) [15]

И что ?

Чем не диаграмма то, что тебе требуется получить ?

Самая она и есть)


 
Сергей М. ©   (2007-06-18 15:47) [16]

Э, пардон ..

Не FlowChart ActiveX, а TdxFlowChart в составе пакета компонентов DevExpress - оно самое то и есть.


 
Робинзон   (2007-06-18 16:14) [17]

Скачал Vector Graphics ActiveX но не могу установить


 
Сергей М. ©   (2007-06-18 16:33) [18]


> Скачал Vector Graphics ActiveX


Не знаю что это такое, но он может тебе и не подойти, поскольку тебе требуется в т.ч. и  "загонять рисунок карты"

А вот deFlowChart уж точно подойдет - он позволяет манипулировать как векторными, так и растровыми объектами.


 
Робинзон   (2007-06-18 16:45) [19]

Ссылкой не поделишься, а то я не могу найти


 
Сергей М. ©   (2007-06-18 17:08) [20]

Гугли по теме
Developer Express Visual Component Library



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.044 c
2-1182153246
Сатир
2007-06-18 11:54
2007.07.15
Как при сворачивании формы убрать её из панели задач?


2-1182508445
_Asph
2007-06-22 14:34
2007.07.15
click по вложеным объектам


1-1178402176
Драйвер
2007-05-06 01:56
2007.07.15
Поделитесь функцией HSV to RGB на Паскале ?


2-1182495135
georgix
2007-06-22 10:52
2007.07.15
Заработок в Интернет, работа, как заработать, где заработать, WM


15-1181713840
tsoftware
2007-06-13 09:50
2007.07.15
Продажа исходников





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский