IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

3 страниц V < 1 2 3 >  
 Ответить  Открыть новую тему 
> Нарисовать карту
сообщение
Сообщение #21


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(}0pa @ 27.11.2006 20:00) *

Не могу найти в инете ничего стоящего, Возможно это АПИ фукнции, а с ними я еще не сталкивался...
Код
CharToOEM/OEMToChar

Может что-нибудь это? Тогда что за тим PAnsiChar???

Смотри DRKB (советую загрузить)
function StrToOem(const AnsiStr: string): string; 
begin
SetLength(result, Length(AnsiStr));
if Length(result) > 0 then
CharToOem(PChar(AnsiStr), PChar(result))
end;

Здесь win->dos , а наоборот сам переделаешь smile.gif
Удачи.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Большое Вам спасибо, что потратили время на эту задачу...Вроде все сделано.
ЗЫ: Что такое DRKB?


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(}0pa @ 28.11.2006 20:52) *

ЗЫ: Что такое DRKB?

Ну ты даешь!!! lol.gif Смотри заголовок...


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Тьфу,ты... mega_chok.gif mega_chok.gif mega_chok.gif
Кстати,
Код
Attr:=$FFFFFFFF - faDirectory;

Означает, все файлы в текущей директории??? wink.gif


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(}0pa @ 29.11.2006 19:17) *
Кстати,
Код
Attr:=$FFFFFFFF - faDirectory;

Означает, все файлы в текущей директории??? wink.gif

Абсолютно верно. Причем faAnyFile не хляет, вместо него $FFFFFFFF. А не хляет потому, что мелкософтовцы в винде повводили еще новых атрибутов - да еще и в инвертированом виде. mega_chok.gif


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Код
    { if i=1 then
     begin //относительное смещение координат карты и формы на экране
       dX:=Region[i].Rect.Left;
       dY:=Region[i].Rect.Top;
     end
     else
     begin //выбираем минимальные значения
       if dX>Region[i].Rect.Left then dX:=Region[i].Rect.Left;
       if dY>Region[i].Rect.Top then dY:=Region[i].Rect.Top;
     end;  }

Я сомневаюсь,что эта часть кода жизненно необходима good.gif Да, к тому же зачем вообще рисовать прямоугольник? wink.gif


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(}0pa @ 1.12.2006 1:08) *
Я сомневаюсь,что эта часть кода жизненно необходима good.gif

Необходима, если карты будут другие. Тогда смещения dx и dy, которые ты константами прописываешь в своей программе, прийдется менять, что повлечет перекомпиляцию кода. Тем более, что в этом коде используются все входные данные. Иначе зачем они тебе давались? Вспомни школьную физику или математику: "При решении задачи используются все данные, которые даны в условии, иначе задача решена НЕПРАВИЛЬНО!".
Цитата(}0pa @ 1.12.2006 1:08) *
Да, к тому же зачем вообще рисовать прямоугольник? wink.gif

Где ты видел рисование? blink.gif TRect - просто стандартный объект, содержащий только координаты прямоугольной области.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Случилось самое страшное mad.gif . Мне нужно организовать, чтобы карта рисовалась точно в области формы и при иземенения размера формы менялся ее размер nea.gif


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(}0pa @ 1.12.2006 16:44) *

Случилось самое страшное mad.gif . Мне нужно организовать, чтобы карта рисовалась точно в области формы и при иземенения размера формы менялся ее размер nea.gif

Тогда масштаб должен быть вещественным. Целочисленное деление DIV должно быть заменено вещественным /. Результируемые координаты должны быть округлены до целого.
И тот кусок кода что выкинул - верни и доработай, чтоб масштаб вычислять. yes2.gif


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Гость






Нужно связать переменную m, отвечающую за масштаб с длиной и шириной формы, но другое дело, как это сделать?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #31


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Цитата
Тогда масштаб должен быть вещественным. Целочисленное деление DIV должно быть заменено вещественным /. Результируемые координаты должны быть округлены до целого.

А это я сделал, тем самым уменьшив шаг масштаба... good.gif


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #32


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Еще требуется обратиться к каждому региону нажатием Левой кнопки мыши
Вот не пойму как можно это сделать7 mega_chok.gif


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #33


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(}0pa @ 4.12.2006 14:06) *

Еще требуется обратиться к каждому региону нажатием Левой кнопки мыши
Вот не пойму как можно это сделать7 mega_chok.gif

Что значит обратиться? (поподробнее)

ЗЫ: Пересчитывай координаты мышки обратно в координаты карты, т.е. умножай на масштаб и добавляй смещение. Делать это по событию onMouseDown.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #34


Пионер
**

Группа: Пользователи
Сообщений: 75
Пол: Мужской

Репутация: -  0  +


Обратиться. При нажатии на отдельный регион, появляется новая форма с этим регионом, но при этом этот регион в точности имеет размер формы и при Resize карта менят размеры.


--------------------
Ну, а почему бы в свободное время не позаниматься программированием?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #35


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Главная проблема в определении принадлежности точки многоугольнику. Ее решение можешь посмотреть здесь.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #36


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Необходимо в этой же задаче: Дан рисунок, необходимо, создавая динмаически очередной ТАКОЙ же рисунок,
разместить его в точке, где находится Райцентр. Вот мой вариант, но что-то не получается...Не отображается копия. Помогите плзю
Код

       Image:=TImage.Create(Form1);
       BitMap:=TBitMap.Create;
       Myimage.width:=image1.width;
       Myimage.height:=image1.height;
       MyRect:=Rect(1,1,myImage.Width,myimage.Height);
       ImRect:=Rect(1,1,image1.Width,image1.Height);

        BitMap.Assign(Image1.Picture);

       MyImage.Canvas.CopyRect(MyRect,BitMap.Canvas,ImRect);

       Myimage.Left:=Round((Region[15].CenterX-dx-th div 2 - 1)/ m);
       Myimage.Top:= Round((Region[15].CenterY-dy-th div 2 - 1)/ m);
       MyImage.show;


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #37


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


А как же связать масштаб с габаритами формы? Чтобы при изменении размера формы, карта была в точности размером формы? mega_chok.gif


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #38


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(NTL @ 8.12.2006 2:14) *

А как же связать масштаб с габаритами формы? Чтобы при изменении размера формы, карта была в точности размером формы? mega_chok.gif

Очень просто:
1) Определяешь масштаб горизонтальный = размер региона по горизонтали / ширину формы;
2) Определяешь масштаб вертикальный = размер региона по вертикали / высоту формы;
3) Выбираешь из этих двух масштабов выбираешь максимальный.

ЗЫ: А причем тут растровая графика TImage? Ведь все время работали с векторной графикой! !4.gif


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #39


Фанат Delphi
**

Группа: Пользователи
Сообщений: 72
Пол: Мужской
Реальное имя: Сергей

Репутация: -  0  +


Цитата(hiv @ 8.12.2006 9:09) *

ЗЫ: А причем тут растровая графика TImage? Ведь все время работали с векторной графикой! !4.gif

Поподробнее не могли бы... give_rose.gif


--------------------
ICQ (384-043-857)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #40


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(NTL @ 7.12.2006 18:26) *

Необходимо в этой же задаче: Дан рисунок, необходимо, создавая динмаически очередной ТАКОЙ же рисунок,
разместить его в точке, где находится Райцентр. Вот мой вариант, но что-то не получается...Не отображается копия. Помогите плзю

Нет! Это Вы поподробней: dry.gif
1) Что за рисунок? Изображение региона мы сами рисуем по его координатам (это векторная графика)
2) Что значит разместить рисунок в точке? Это что - ужать его до такого состояния? Стандартные рисунки TImage (растровая графика) отображаются не в точке, а в прямоугольнике (который можно задавать типом TRect).
3) А где должна отображаться копия НЕИЗВЕСНОГО ТАКОГО ЖЕ рисунка?


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

3 страниц V < 1 2 3 >
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.09.2020 11:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name