| 
| 
 | Вопрос # 3 783/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Ранее задавался вопрос 3726 о задании точек на канве и отображением координат этих точек на форме. У меня вопрос:
 Подскажите, как сделать так, чтобы задавая определенную совокупность точек на канве, получать  координаты в отдельных окнах Edit. Например:
 Точка1 в окнах Edit1 и Edit2
 Точка2в окнах Edit3 и Edit4
 ..........................................и т.д.
 Чтобы было понятнее, о чем речь, ниже привожу код .
 Приложение:Переключить в обычный режим procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;  Shift: TShiftState; X, Y: Integer);beginCanvas.TextOut(X,Y,,'X='IntToStr(X)+'Y='IntToStr(Y));end;
|  |   Вопрос задал: portulakg (статус: 1-ый класс)Вопрос отправлен: 16 февраля 2010, 15:29
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Alexey6522 Здравствуйте, portulakg!В общем вот что я добавил и изменил в твоём коде
 
 procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
 begin
 Image1.Canvas.Pen.Color:= clRed;
 Image1.Canvas.Pen.Width:= 5;
 Image1.Canvas.Polyline([Point(X, Y), Point(X, Y)]);
 
 if (Edit1.Text = '0') or (Edit1.Text = '') then begin
 Edit1.Text:= IntToStr(X);
 Edit2.Text:= IntToStr(Y);
 end else
 if (Edit3.Text = '0') or (Edit3.Text = '') then begin
 Edit3.Text:= IntToStr(X);
 Edit4.Text:= IntToStr(Y);
 end;
 end;
 
 procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
 Y: Integer);
 begin
 Edit11.Text:=IntToStr(x);
 Edit12.Text:=IntToStr(y);
 end;
 
|  | Ответ отправил: Alexey6522 (статус: 1-ый класс)Время отправки: 17 февраля 2010, 07:55
 Оценка за ответ: 5
 |  
 Мини-форум вопросаВсего сообщений: 14; последнее сообщение — 17 февраля 2010, 04:45; участников в обсуждении: 2. 
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 15:52 [#1]:Скажи, что за прогу ты пишешь или так, балуешься? Можно считать координаты каждого Editа все очень просто
 |  
|   | portulakg (статус: 1-ый класс), 16 февраля 2010, 16:03 [#2]:Идея следующая: По карте задаются точки трассы.Координаты выводятся в расчетную часть программы
 |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 16:32 [#3]:теперь я совсем запутался, Edit тебе для чего, координаты вводить или показывать? |  
|   | portulakg (статус: 1-ый класс), 16 февраля 2010, 16:52 [#4]:По карте задаются точки трассы.Координаты этой трассы заполняют таблицу т.А - x1:=Edit1,y1:=Edit2
 т.В - x2:=Edit3,y2:=Edit4
 т.С - x3:=Edit5,y2:=Edit6
 |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:31 [#5]:Честно, ни х... не понял, Edit - это и есть ваша таблица???? |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:32 [#6]:В общем я понял так, есть карта, когда вы выбираете на ней маршрут, вам надо забить значениями все Edit, так? |  
|   | portulakg (статус: 1-ый класс), 16 февраля 2010, 17:36 [#7]:Алексей, куда выслать exe-шник, и из него станет все понятно. |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:37 [#8]:выложи скрин этого будет достаточно |  
|   | portulakg (статус: 1-ый класс), 16 февраля 2010, 17:51 [#9]:А как выложить bmp файл.. Раньше этого делать не приходилось. |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:54 [#10]:Ошибка в твоем вопросе, это дезинформация, Если точки координат выводятся прямо на экране, тогда что тебе нужно от Edit-ов, распиши все по пунктам
 1 - щелкаем мышкой по карте, на ней появляется текст с координатами
 2 - координаты первой точки нужно вывести в Edit 1-2
 3 - вычислить, что там должно у тебя по условию вычисляться
 и т.д. Ато написал надо и все, а что надо х.з.
 как ты выкладывал exe файл так же и скриншот выложи или ты не знаешь как его сделать???
 |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 18:15 [#11]:Смотрю твой исходник, для чего кнопки условия, правило T1-T4, R R1 и что ты вообще хочешь от своей программы? |  
|   | portulakg (статус: 1-ый класс), 16 февраля 2010, 18:25 [#12]:Алексей,кнопки имеют отношение к расчетной части программы, меня же интересует вопрос:как кликнув по точке на карте получить заполнение точек А, В,С и О, да так, чтобы они фиксировались и не изменялись при следующем клике по следующей точке. |  
|   | Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 22:19 [#13]:В общем вот что я добавил и изменил в твоём коде 
 procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Image1.Canvas.Pen.Color:= clRed;
 Image1.Canvas.Pen.Width:= 5;
 Image1.Canvas.Polyline([Point(X, Y), Point(X, Y)]);
 
 if (Edit1.Text = '0') or (Edit1.Text = '') then begin
   Edit1.Text:= IntToStr(X);
   Edit2.Text:= IntToStr(Y);
 end else
   if (Edit3.Text = '0') or (Edit3.Text = '') then begin
     Edit3.Text:= IntToStr(X);
     Edit4.Text:= IntToStr(Y);
   end;
end;
 
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 Edit11.Text:=IntToStr(x);
 Edit12.Text:=IntToStr(y);
end; |  
|   | portulakg (статус: 1-ый класс), 17 февраля 2010, 04:45 [#14]:Спасибо, работает.Напиши ответ на общем форуме, чтобы я мог поставить оценку |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |