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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2012, 09:21   #1
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию Доступ к информации через точки на Image (карта с "горячими" точками)

Добрый день. На Delphi работал очень давно ( порядка 8 лет назад ), так что ничего не помню. Прошу помощи помочь создать небольшую программку. Задача программы такова - окно, в нем отображается картинка (3021:2091 - изменять нельзя). На картинке точки, по нажатию на точку нужно, что бы открывалось еще одно окошко или всплывающее окно, в котором будет информация, которую можно было бы изменять и сохранять.
dydochnik вне форума Ответить с цитированием
Старый 16.04.2012, 10:53   #2
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Покажите свои наработки, что лично вы пытались сделать сами.
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 16.04.2012, 11:10   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Да нету у него никаких наработок). Сессия наверное затянулась просто))
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.04.2012, 11:18   #4
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

К сожалению наработок нету, только добавил форму Image, изменил ее размер и вставил картинку.
Я не студент! Пошутить или кого-либо подколоть идите в другую тему.
Я не прошу, что бы кто то за меня делал!!!! Просто прошу помощи у добрых людей!
dydochnik вне форума Ответить с цитированием
Старый 16.04.2012, 12:19   #5
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Берём банальный INI-file (подключайте модуль Inifiles) На старте программы открываем его. При щелчке находим логические координаты щелчка (логические это те, которые привязаны к картинке, а не к экрану) формируем из них название секции в ини-файле и читаем/пишем из/в ини (где каждая секция - координаты а ключи в секции - нужная инфа)
Отдельное окно так и сделайте отдельным окном - формой, открывать можно модально. На ней очевидно будут некие поля ввода/отображения инфы, и до показа формы их заполняйте инфой из ини, а после показа сохраняйте из них в ини.

Как рассчитывать логические координаты щелчка при картинке 3к*2к я слабо себе представляю, ведь картинка не влезает на форму вся и будет скроллироваться (если конечно не 4 монитора) и поскольку при щелчке (событие OnMouseUp) выдаются экранные координаты, то придется как-то отслеживать соответствие ...
phomm вне форума Ответить с цитированием
Старый 16.04.2012, 12:30   #6
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

Ох...В теории я представляю о чем вы говорите, но на практике - сложнова то, т.к. за делфи очень давно не сидел).
На данный момент я добавил TScrollBox, на который поместил TImage, что бы изображение прокручивалось.

в качестве точек я думаю использовать tButton ( что бы было попроще и поменьше мороки ).
Вот только остается проблемка с кодом ...
dydochnik вне форума Ответить с цитированием
Старый 16.04.2012, 12:38   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

Цитата:
в качестве точек я думаю использовать tButton
Это как понимать?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 16.04.2012, 12:41   #8
EridorBlade
CAE Engineer
Пользователь
 
Аватар для EridorBlade
 
Регистрация: 10.03.2011
Сообщений: 75
По умолчанию

Цитата:
Сообщение от dydochnik Посмотреть сообщение
Я не прошу, что бы кто то за меня делал!!!!

Создаете несколько форм ( в зависимости от надобности ) или добавляете еще один или несколько Image, которые будут в роли всплывающего окна.
На вашей главной форме
Form.BorderStyle=bsnone;
Form.WindowState = wsMaximized;
не помню как правильно пишется в свойствах, можете поискать похожее в ObjectInspector в вашей форме.
Это уберет границы формы и развернет ее на весь экран.
Вы можете точки сразу нанести на вашу исходную картинку, а в обработчике событий (картинки) OnMouseDown
пишем нечто в духе
Код:
if (X=....) and (Y=....) then
begin
  Form2.Show;
  Form1.Hide;
end;
где вместо точек координаты вашей точки, можно с помощью знаков сравнения вместо точек описать прямоугольные, да и вообще любые, на ваше усмотрение, области. В OnMouseDown X и Y это по сути координаты положения мышки, которые вам и нужно сравнивать с координатами ваших точек.

На тему информации на всплывающих окнах. У вас огромный набор инструментов для ввода. Весь вопрос в том, что вам лично нужно?)
Допустим вы вводите текст в поле Edit1 (стандартный компонент, закладка по моему Standart, компонент TEdit) делаете кнопочку Button1
в обработчике событий кнопки OnClick пишите
Код:
var OutputFile:TextFile;
AssignFile(TextFile,'C:\....'); //Указываем путь вместо точек
ReWrite(TextFile);//создаем или пересоздаем, эта команда старый файл сотрет
Writeln(TextFile,Edit1.Text);//записываем в файл строку из Edit1
CloseFile(TextFile);//закрываем файл
для добавления текста в файл есть процедура append которую можно использовать вместо rewrite


отображается картинка (3021:2091 - изменять нельзя)

я так понимаю, что разрешение вашего монитора не соответствует разрешение этой картинки . Поэтому я так понимаю вам нужна возможность двигать картинку? Вы хотите ее двигать клавишами, мышью или с помощью ScrollBar?

Вот как-то так. Успехов в написании кода ))
EridorBlade вне форума Ответить с цитированием
Старый 16.04.2012, 12:47   #9
dydochnik
Пользователь
 
Регистрация: 16.04.2012
Сообщений: 10
По умолчанию

Немного становится понятнее, спасибо. С помощью ScrollBar
dydochnik вне форума Ответить с цитированием
Старый 16.04.2012, 14:29   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
в котором будет информация, которую можно было бы изменять и сохранять.
Каков характер информации?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к информации о пробках Diablero JavaScript, Ajax 1 23.06.2011 15:15
числа через точки aoaoo Microsoft Office Excel 7 04.06.2011 17:29
Тема: "Разработка методов и форм по работе с персоналом имеющим доступ к конфиденциальной информации Mashira Фриланс 0 17.04.2011 20:56
Доступ к БД через Internet yulia Работа с сетью в Delphi 3 04.03.2009 00:44