Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 783

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Ранее задавался вопрос 3726 о задании точек на канве и отображением координат этих точек на форме. У меня вопрос:
Подскажите, как сделать так, чтобы задавая определенную совокупность точек на канве, получать координаты в отдельных окнах Edit. Например:
Точка1 в окнах Edit1 и Edit2
Точка2в окнах Edit3 и Edit4
..........................................и т.д.
Чтобы было понятнее, о чем речь, ниже привожу код .

Приложение:
  1. procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  2. Shift: TShiftState; X, Y: Integer);
  3. begin
  4. Canvas.TextOut(X,Y,,'X='IntToStr(X)+'Y='IntToStr(Y));
  5. end;


portulakg Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: 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

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 15:52 [#1]:

Скажи, что за прогу ты пишешь или так, балуешься?
Можно считать координаты каждого Editа все очень просто
portulakg

portulakg (статус: 1-ый класс), 16 февраля 2010, 16:03 [#2]:

Идея следующая:
По карте задаются точки трассы.Координаты выводятся в расчетную часть программы
Alexey6522

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 16:32 [#3]:

теперь я совсем запутался, Edit тебе для чего, координаты вводить или показывать?
portulakg

portulakg (статус: 1-ый класс), 16 февраля 2010, 16:52 [#4]:

По карте задаются точки трассы.Координаты этой трассы заполняют таблицу
т.А - x1:=Edit1,y1:=Edit2
т.В - x2:=Edit3,y2:=Edit4
т.С - x3:=Edit5,y2:=Edit6
Alexey6522

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:31 [#5]:

Честно, ни х... не понял, Edit - это и есть ваша таблица????
Alexey6522

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:32 [#6]:

В общем я понял так, есть карта, когда вы выбираете на ней маршрут, вам надо забить значениями все Edit, так?
portulakg

portulakg (статус: 1-ый класс), 16 февраля 2010, 17:36 [#7]:

Алексей, куда выслать exe-шник, и из него станет все понятно.
Alexey6522

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:37 [#8]:

выложи скрин этого будет достаточно
portulakg

portulakg (статус: 1-ый класс), 16 февраля 2010, 17:51 [#9]:

А как выложить bmp файл.. Раньше этого делать не приходилось.
Alexey6522

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 17:54 [#10]:

Ошибка в твоем вопросе, это дезинформация,
Если точки координат выводятся прямо на экране, тогда что тебе нужно от Edit-ов, распиши все по пунктам
1 - щелкаем мышкой по карте, на ней появляется текст с координатами
2 - координаты первой точки нужно вывести в Edit 1-2
3 - вычислить, что там должно у тебя по условию вычисляться
и т.д. Ато написал надо и все, а что надо х.з.
как ты выкладывал exe файл так же и скриншот выложи или ты не знаешь как его сделать???
Alexey6522

Alexey6522 (статус: 1-ый класс), 16 февраля 2010, 18:15 [#11]:

Смотрю твой исходник, для чего кнопки условия, правило T1-T4, R R1 и что ты вообще хочешь от своей программы?
portulakg

portulakg (статус: 1-ый класс), 16 февраля 2010, 18:25 [#12]:

Алексей,кнопки имеют отношение к расчетной части программы, меня же интересует вопрос:как кликнув по точке на карте получить заполнение точек А, В,С и О, да так, чтобы они фиксировались и не изменялись при следующем клике по следующей точке.
Alexey6522

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

portulakg (статус: 1-ый класс), 17 февраля 2010, 04:45 [#14]:

Спасибо, работает.Напиши ответ на общем форуме, чтобы я мог поставить оценку

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:57
Выполнено за 0.03 сек.