![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
hiv |
![]()
Сообщение
#21
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Не могу найти в инете ничего стоящего, Возможно это АПИ фукнции, а с ними я еще не сталкивался... Код CharToOEM/OEMToChar Может что-нибудь это? Тогда что за тим PAnsiChar??? Смотри DRKB (советую загрузить) function StrToOem(const AnsiStr: string): string; Здесь win->dos , а наоборот сам переделаешь ![]() Удачи. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
}0pa |
![]()
Сообщение
#22
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Большое Вам спасибо, что потратили время на эту задачу...Вроде все сделано.
ЗЫ: Что такое DRKB? -------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
hiv |
![]()
Сообщение
#23
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
}0pa |
![]()
Сообщение
#24
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Тьфу,ты...
![]() ![]() ![]() Кстати, Код Attr:=$FFFFFFFF - faDirectory; Означает, все файлы в текущей директории??? ![]() -------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
hiv |
![]()
Сообщение
#25
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Кстати, Код Attr:=$FFFFFFFF - faDirectory; Означает, все файлы в текущей директории??? ![]() Абсолютно верно. Причем faAnyFile не хляет, вместо него $FFFFFFFF. А не хляет потому, что мелкософтовцы в винде повводили еще новых атрибутов - да еще и в инвертированом виде. ![]() -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
}0pa |
![]()
Сообщение
#26
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код { 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; } Я сомневаюсь,что эта часть кода жизненно необходима ![]() ![]() -------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
hiv |
![]()
Сообщение
#27
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Я сомневаюсь,что эта часть кода жизненно необходима ![]() Необходима, если карты будут другие. Тогда смещения dx и dy, которые ты константами прописываешь в своей программе, прийдется менять, что повлечет перекомпиляцию кода. Тем более, что в этом коде используются все входные данные. Иначе зачем они тебе давались? Вспомни школьную физику или математику: "При решении задачи используются все данные, которые даны в условии, иначе задача решена НЕПРАВИЛЬНО!". Да, к тому же зачем вообще рисовать прямоугольник? ![]() Где ты видел рисование? ![]() -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
}0pa |
![]()
Сообщение
#28
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Случилось самое страшное
![]() ![]() -------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
hiv |
![]()
Сообщение
#29
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Случилось самое страшное ![]() ![]() Тогда масштаб должен быть вещественным. Целочисленное деление DIV должно быть заменено вещественным /. Результируемые координаты должны быть округлены до целого. И тот кусок кода что выкинул - верни и доработай, чтоб масштаб вычислять. ![]() -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
Гость |
![]()
Сообщение
#30
|
Гость ![]() |
Нужно связать переменную m, отвечающую за масштаб с длиной и шириной формы, но другое дело, как это сделать?
|
}0pa |
![]()
Сообщение
#31
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Тогда масштаб должен быть вещественным. Целочисленное деление DIV должно быть заменено вещественным /. Результируемые координаты должны быть округлены до целого. А это я сделал, тем самым уменьшив шаг масштаба... ![]() -------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
}0pa |
![]()
Сообщение
#32
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Еще требуется обратиться к каждому региону нажатием Левой кнопки мыши
Вот не пойму как можно это сделать7 ![]() -------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
hiv |
![]()
Сообщение
#33
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Еще требуется обратиться к каждому региону нажатием Левой кнопки мыши Вот не пойму как можно это сделать7 ![]() Что значит обратиться? (поподробнее) ЗЫ: Пересчитывай координаты мышки обратно в координаты карты, т.е. умножай на масштаб и добавляй смещение. Делать это по событию onMouseDown. -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
}0pa |
![]()
Сообщение
#34
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 75 Пол: Мужской Репутация: ![]() ![]() ![]() |
Обратиться. При нажатии на отдельный регион, появляется новая форма с этим регионом, но при этом этот регион в точности имеет размер формы и при Resize карта менят размеры.
-------------------- Ну, а почему бы в свободное время не позаниматься программированием?
|
hiv |
![]()
Сообщение
#35
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Главная проблема в определении принадлежности точки многоугольнику. Ее решение можешь посмотреть здесь.
-------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
NTL |
![]()
Сообщение
#36
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Необходимо в этой же задаче: Дан рисунок, необходимо, создавая динмаически очередной ТАКОЙ же рисунок,
разместить его в точке, где находится Райцентр. Вот мой вариант, но что-то не получается...Не отображается копия. Помогите плзю Код 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)
|
NTL |
![]()
Сообщение
#37
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
А как же связать масштаб с габаритами формы? Чтобы при изменении размера формы, карта была в точности размером формы?
![]() -------------------- ICQ (384-043-857)
|
hiv |
![]()
Сообщение
#38
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
А как же связать масштаб с габаритами формы? Чтобы при изменении размера формы, карта была в точности размером формы? ![]() Очень просто: 1) Определяешь масштаб горизонтальный = размер региона по горизонтали / ширину формы; 2) Определяешь масштаб вертикальный = размер региона по вертикали / высоту формы; 3) Выбираешь из этих двух масштабов выбираешь максимальный. ЗЫ: А причем тут растровая графика TImage? Ведь все время работали с векторной графикой! ![]() -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
NTL |
![]() ![]()
Сообщение
#39
|
![]() Фанат Delphi ![]() ![]() Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
ЗЫ: А причем тут растровая графика TImage? Ведь все время работали с векторной графикой! ![]() Поподробнее не могли бы... ![]() -------------------- ICQ (384-043-857)
|
hiv |
![]()
Сообщение
#40
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Необходимо в этой же задаче: Дан рисунок, необходимо, создавая динмаически очередной ТАКОЙ же рисунок, разместить его в точке, где находится Райцентр. Вот мой вариант, но что-то не получается...Не отображается копия. Помогите плзю Нет! Это Вы поподробней: ![]() 1) Что за рисунок? Изображение региона мы сами рисуем по его координатам (это векторная графика) 2) Что значит разместить рисунок в точке? Это что - ужать его до такого состояния? Стандартные рисунки TImage (растровая графика) отображаются не в точке, а в прямоугольнике (который можно задавать типом TRect). 3) А где должна отображаться копия НЕИЗВЕСНОГО ТАКОГО ЖЕ рисунка? -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
![]() ![]() |
![]() |
Текстовая версия | 10.07.2025 6:04 |