Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 26.11.2009, 22:52   #1
Seran4ek
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 94
По умолчанию RadioGroup, отрисовка линий и запоминание координат.

Вобщем соль вот в чом.
име. функцию построение линии DrawLine. вызываю её с 6 параметрами( 1е три координаты 1й точки, вторые три-координаты 2й точки).
у меня нарисовано 4 прямые.
все норм.
теперь мне нужно зделать возможность разносить их в пространстве. я к кое каким координатам прибавляю значение считываемое с ТрекБара.
при этом двигаются ВСЕ 4 линии в разных направлениях.
но я также хочу зделать возможность двигать 1 линию.
Сделал радиогрупп, при выборе первого итема двигаю первую линию. но и тут вся проблема. когда переключаю на второй итем, то значение старых координат перебрасывается на текущую линию, а 1я уходит на стандартные координаты.
вся соль в том, что там условные операторы(я проверяю какой итем активен) и поэтому выполняется только ОДНО условие и как следствие только одна линия имеет другие координаты, все остальные стандартные.
а как зделать чтобы при переключении позиция линии предыдущей сохранялась?
Seran4ek вне форума Ответить с цитированием
Старый 27.11.2009, 08:08   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию

Ничего не понял... Давай ты проект прикрепишь, и по человечески объяснишь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.11.2009, 16:06   #3
Seran4ek
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 94
По умолчанию

Код:
DrawLine(-5,1+TB_Pos/10,-1-TB_Pos/10,5,1+TB_Pos/10,-1-TB_Pos/10,5,1,1,0);
  DrawLine(-5,-1-TB_Pos/10,-1-TB_Pos/10,5,-1-TB_Pos/10,-1-TB_Pos/10,5,1,1,0);
  DrawLine(-5,1+TB_Pos/10,1+TB_Pos/10,5,1+TB_Pos/10,1+TB_Pos/10,5,1,1,0);
  DrawLine(-5,-1-TB_Pos/10,1+TB_Pos/10,5,-1-TB_Pos/10,1+TB_Pos/10,5,1,1,0);
это я рисую 4 линии(1е три цифры -координаты 1й точки, 1е три-координаты 2й точки). TB_Pos- пизиция трекбара.(линии развигаются все сразу)
я хочу также сделать возможным передвигать каждую линии по отдельности.
для этого у меня есть РадиоГрупп с 4 итемами. когда один из них активирован то двигаю только 1 линию.

Код:
if form1.ProvodRG.ItemIndex=0 then
    begin
    P[0]:=TB_Pos;
    DrawLine(-5,1+P[0]/10,-1-P[0]/10,5,1+P[0]/10,-1-P[0]/10,5,1,1,0);
    DrawLine(-5,-1-P[1]/10,-1-P[1]/10,5,-1-P[1]/10,-1-P[1]/10,5,1,1,0);
    DrawLine(-5,1+P[2]/10,1+P[2]/10,5,1+P[2]/10,1+P[2]/10,5,1,1,0);
    DrawLine(-5,-1-P[3]/10,1+P[3]/10,5,-1-P[3]/10,1+P[3]/10,5,1,1,0);
    end
  else if form1.ProvodRG.ItemIndex=1 then
    begin
    P[1]:=TB_Pos;
      DrawLine(-5,1+P[0]/10,-1-P[0]/10,5,1+P[0]/10,-1-P[0]/10,5,1,1,0);
    DrawLine(-5,-1-P[1]/10,-1-P[1]/10,5,-1-P[1]/10,-1-P[1]/10,5,1,1,0);
    DrawLine(-5,1+P[2]/10,1+P[2]/10,5,1+P[2]/10,1+P[2]/10,5,1,1,0);
    DrawLine(-5,-1-P[3]/10,1+P[3]/10,5,-1-P[3]/10,1+P[3]/10,5,1,1,0);
    end
  else if form1.ProvodRG.ItemIndex=2 then
    begin
    P[2]:=TB_Pos;
      DrawLine(-5,1+P[0]/10,-1-P[0]/10,5,1+P[0]/10,-1-P[0]/10,5,1,1,0);
    DrawLine(-5,-1-P[1]/10,-1-P[1]/10,5,-1-P[1]/10,-1-P[1]/10,5,1,1,0);
    DrawLine(-5,1+P[2]/10,1+P[2]/10,5,1+P[2]/10,1+P[2]/10,5,1,1,0);
    DrawLine(-5,-1-P[3]/10,1+P[3]/10,5,-1-P[3]/10,1+P[3]/10,5,1,1,0);
    end
    else if form1.ProvodRG.ItemIndex=3 then
    begin
    P[3]:=TB_Pos;
    DrawLine(-5,1+P[0]/10,-1-P[0]/10,5,1+P[0]/10,-1-P[0]/10,5,1,1,0);
    DrawLine(-5,-1-P[1]/10,-1-P[1]/10,5,-1-P[1]/10,-1-P[1]/10,5,1,1,0);
    DrawLine(-5,1+P[2]/10,1+P[2]/10,5,1+P[2]/10,1+P[2]/10,5,1,1,0);
    DrawLine(-5,-1-P[3]/10,1+P[3]/10,5,-1-P[3]/10,1+P[3]/10,5,1,1,0);
    end
  else if form1.ProvodRG.ItemIndex=-1 then
    begin
    DrawLine(-5,1,-1,5,1,-1,5,1,1,0);
    DrawLine(-5,-1,-1,5,-1,-1,5,1,1,0);
    DrawLine(-5,1,1,5,1,1,5,1,1,0);
    DrawLine(-5,-1,1,5,-1,1,5,1,1,0);
    end;
P[0]..P[3] это та координата которую нужно прибавить к каждой линии. В начале они занулены.
проблема. допустим я выбрал итем 0. выполнилось условие первое, с трек бара считали, присвоили P[0], отодвинули 1ю линию. теперь хотим подвинуть вторую. выбираем итем 2. и значение с трек бара скидывается на P[2] и вторая линия сразу отодвигается на на координаты, на которые была отодвинута первая линия.
а мне нужно, чтобы первая линия сохранила свои значения, я переключил итем, и подвинул вторую, третью, но при этом предыдущие оставались на тех положениях, которые я им задал.
возможно ли это вообще реализовать?

___________________________________ ___________________________________ _______________

Последний раз редактировалось Seran4ek; 27.11.2009 в 18:10.
Seran4ek вне форума Ответить с цитированием
Старый 27.11.2009, 18:10   #4
Seran4ek
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 94
По умолчанию

если я буду при каждом выполнении условия записывать координаты линии в файл, это решит ситуацию?
тоесть выполнил например первое условие, сдвинул одну линию, координаты записались в файл. переключил итем, первое условие уже не выполняется, но данные то в файле уже будут? или нет? О_о
Seran4ek вне форума Ответить с цитированием
Старый 27.11.2009, 22:29   #5
Seran4ek
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 94
По умолчанию

ответьте пожалуйста хотя бы на второй вопрос. очень нужно.
Вопрос:
есть пара условий. Пусть выполнилось первое. при его исполнении в файл чтото записалось.
Переключаем радиобаттон и первое условие не выполняется. Выполнилось второе. ГЛАВНОЕ: данные записанные в файл когда было исполнено 1 условие остануться или нет? О_о
Seran4ek вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C. Найти пересечения линий. Sekmegalife Помощь студентам 1 19.10.2009 07:34
Запоминание ячеек в память motorway Microsoft Office Excel 3 08.07.2009 07:31
Запоминание координат при перемещении формы Shouldercannon Общие вопросы Delphi 5 21.06.2009 22:11
Как осуществить запоминание объектов? Djem1991 Общие вопросы Delphi 4 06.01.2009 14:09
Запоминание цифр romul87 Общие вопросы Delphi 3 10.10.2008 17:54


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS