Главная страница
    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.041 c
15-1181633805
IMHO
2007-06-12 11:36
2007.07.15
С Днем России, россияне!


2-1182004561
Ral'f
2007-06-16 18:36
2007.07.15
Как с помощью TDBComboBox-ов фильтровать содержимое DBGrid?


11-1165307170
azsd
2006-12-05 11:26
2007.07.15
TBAddInsButtons treat Separate as normal buttons


2-1182345508
авыф
2007-06-20 17:18
2007.07.15
SpeedButton


15-1181847976
jum
2007-06-14 23:06
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский