Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2010, 01:50   #1
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию Прога не хочет брать элементы из массива.

прохожу трассировку и натыкаюсь на такой феномен :
ставлю 4 точки на форме, записываю их в массив (mas_point), потом по 3 точки передаю в массив треугольников (mas_trey[0] и mas_trey[1]) и когда
mas_trey[0] и mas_trey[1] уже заполнены, и дело доходит до проверки на пересечение (procedure proverka) , то прога, как ни в чём не бывало, не хочет работать с этими заполненными структурами.
Вложения
Тип файла: rar 3a$aDa 2.rar (31.2 Кб, 13 просмотров)
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 19.05.2010, 16:26   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

А причем тут мультимедиа? Может поэтому и не отвечают?...
p51x вне форума Ответить с цитированием
Старый 20.05.2010, 02:17   #3
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

ну вообще должна бы быть мультимедиа, так как я сатвлю точки на форме с помощью клика мыши и при нажатии на button он мне должен зарисовать многоугольник по этим точкам. там алгоритм , который упорядочивает по Х точки, потом последовательно берёт по 3 и заполняем их в виде треугольника (то есть соединяет их), передвигается на одну точку вперёд и опять строит треугольник . Далее сравнивает их на пересечение , и если они пересекаются, то определённая область так же должна закрасится ( просто создаётся другой треугольник большей площади и закрашивается).
Вот и весь алгоритм.
Если моя проблема не относится ни коим образом к мультимедиа , то прошу прощения. Так же прошу модератора сообщить , куда перенести свою тему.
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 20.05.2010, 02:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

тем не менее проблема не в мультимедии, а в базе(общее)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.05.2010, 14:15   #5
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

Пепел Феникса, а ты смотрел исходник?
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 21.05.2010, 18:44   #6
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Да вообще тут путаница на форуме, графику скинули в раздел с мультимедией. Это вообще-то не одно и то же.

По теме, не может такого быть, если вы заполнили массив (и даже если не заполнили, а просто задали размер массиву), то никаких проблем с обращением быть не должно. Ищите ошибку где-то еще.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 22.05.2010, 02:17   #7
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

да вот овощ его знает, где она. через трассировку прохожу, два элемента типа "треугольник" заполнены. когда вхожу в процедуру proverka T1 и Т2 не определены?????????
Если помог, проси поставить минус. Будь оригинален!
Rin вне форума Ответить с цитированием
Старый 22.05.2010, 09:10   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Вы не выделили память для Mas_Point и падает прога еще до вашей "проверка"
p51x вне форума Ответить с цитированием
Старый 22.05.2010, 22:03   #9
Rin
Негодник
Форумчанин
 
Аватар для Rin
 
Регистрация: 10.11.2009
Сообщений: 880
По умолчанию

память под mas_point выделена . Это в самом низу. В процедурке OnMouseDown.

алгоритм более пон\ятно кстати расписан тут
http://programmersforum.ru/showthread.php?t=99038
Если помог, проси поставить минус. Будь оригинален!

Последний раз редактировалось Rin; 22.05.2010 в 22:07.
Rin вне форума Ответить с цитированием
Старый 22.05.2010, 22:44   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Цитата:
память под mas_point выделена
А если я не буду по форме щелкать, а сразу а кнопку нажму? Тем более вы выделяете память под один элемент, а на кнопке до проверки n > 3 обращаетесь сразу к 3:

Код:
 mas_treyg[nomer_trey-1].PA:=Mas_Point[i];
  mas_treyg[nomer_trey-1].PB:=Mas_Point[i+1];
  mas_treyg[nomer_trey-1].PC:=Mas_Point[i+2];
А если понатыкать достаточно (правда не понятно сколько, счетчика нет, ничего не рисуется), то программа вылетает с исключением "Invalid floating operation".

Цитата:
mas_trey[0] и mas_trey[1] уже заполнены, и дело доходит до проверки на пересечение (procedure proverka) , то прога, как ни в чём не бывало, не хочет работать с этими заполненными структурами.
Вранье. Если посмотреть параметры T1, T2, то все там работает.

П.С.Плохая идея в full_Draw_line менять счетчик фора...

Последний раз редактировалось p51x; 22.05.2010 в 22:46.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
1.Найти в матрице первую строку, все элементы которой отрицательны 2.отсортировать элементы массива по в w0lf16 Помощь студентам 2 22.11.2009 15:47
Элементы массива Ximer Паскаль, Turbo Pascal, PascalABC.NET 5 26.04.2009 00:53
Элементы массива в листбокс KiDoki Общие вопросы Delphi 4 07.10.2008 18:05
Повторяющиеся элементы массива Stanislav Общие вопросы Delphi 10 23.05.2008 12:31
переписать из массива в линейный двунаправленный список чётные элементы массива Black_Ak24 Помощь студентам 12 08.01.2008 00:44