Форум: "Начинающим";
Текущий архив: 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.041 c