Прявязка пользовательских иконок центром

Запрашиваем и выполняем хотелки к SAS.Планете вне очереди

Модераторы: vdemidov, Tolik

Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: Прявязка пользовательских иконок центром

Сообщение DJ VK »

Пока нет желающих заняться немного комментариев по коду, для самостоятельных экспериментов так сказать.
вариант отрисовки может быть закодирован в имени картинки.
unit u_MarkPictureSimple
перечислены два варианта привязки. если нужны другие варианты - надо их сюда добавить

Код: Выделить всё

TMarkPictureAnchor = (paDefault, paCenter, paTop, paLeft, paRight);

процедура = procedure TMarkPictureSimple.InitPic;

Код: Выделить всё

var VFileName: string; {добавить объявление переменной в var}
перед строчкой case

Код: Выделить всё

FPicAnchor of
получаем имя файла без пути VFileName := ExtractFileName(FFullFileName);
и проверяем префиксы

Код: Выделить всё

{далее для каждого(!) случая прописываем проверку префикса. }
if(VFileName.Length() >= 7) then
  if(VFileName.SubString(1,7) = 'Center_') then
    FPicAnchor := paCenter;
if(VFileName.Length() >= 4) then
  if(VFileName.SubString(1,4) = 'Top_') then
    FPicAnchor := paTop;
if(VFileName.Length() >= 5) then
  if(VFileName.SubString(1,5) = 'Left_') then
    FPicAnchor := paLeft;
if(VFileName.Length() >= 6) then
  if(VFileName.SubString(1,6) = 'Right_') then
    FPicAnchor := paRight;

* если мы добавим свои варианты привязки, надо добавить и нахождение для этих случаев точки привязки

Код: Выделить всё

case FPicAnchor of
        paTop: begin        {привязка верхней серединой}
            VAnchor.X := VBitmap.Size.X / 2;
            VAnchor.Y := 0;
          end;
       paLeft: begin        {привязка левой серединой}
            VAnchor.X := 0;
            VAnchor.Y := VBitmap.Size.Y / 2;
          end;
       paRight: begin        {привязка правой серединой}
            VAnchor.X := VBitmap.Size.X;
            VAnchor.Y := VBitmap.Size.Y / 2;
          end;
        paCenter: begin    {привязка центром}
            VAnchor.X := VBitmap.Size.X / 2;
            VAnchor.Y := VBitmap.Size.Y / 2;
          end;

        else // paDefault
        begin
          VAnchor.X := VBitmap.Size.X / 2;
          VAnchor.Y := VBitmap.Size.Y;
        end;
        end;
имена файлов в папке переименовываем, добавляя префиксы
Left_ (лево), Right_ (право), Top_ (верх), Center_ (центр)
Vitalik
Новичок
Сообщения: 15
Зарегистрирован: 15 авг 2017, 09:50
Благодарил (а): 2 раза

Re: Прявязка пользовательских иконок центром

Сообщение Vitalik »

DJ VK давайте я Вам заплачу, а Вы попробуете сделать, может выйдет чё-нибудь. Как то сложновато мне в памяти делфи восстанавливать.
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: Прявязка пользовательских иконок центром

Сообщение DJ VK »

Vitalik писал(а):DJ VK давайте я Вам заплачу, а Вы попробуете сделать, может выйдет чё-нибудь. Как то сложновато мне в памяти делфи восстанавливать.
Короче юнит я вам напишу бесплатно, ибо строчек 10 всего поправить, а уж куда его Вы сунете....
Это все таки "костыльный" метод, не факт что его примут вообще.
скрытый текст: показать
времени свободного очень мало. Я хочу в место этого написать десяток больших программ, за которые не заплатят, отсканировать и распознать книги, наделать игрушек напильником и посидеть с детьми. Плюс отреманировать ванную + починить магнитофон и ноутбук. Плюс убраться хорошенько + начертить карту наземного транспорта с перспективой плюс ... и так на 15 лет вперед.. Это нельзя купить за деньги, которые вы мне предлагаете....
Я могу поправить юнит, это 5 минут. Собрать с ним программу с нуля - это полчаса, в лучшем случае. а в худшем несколько часов. но и этого мало. Это я только альтернативную программу соберу. 1 экземпляр. А чтобы функционал попал в основную программу(во все будущие релизы) - это надо еще возиться часов несколько. Настраивать репозиторий, собирать, и заливать изменения.
То есть исправлений два абзаца - но чтобы их в программу - все выходные на это убить. В гробу это все... Пробовал, не понравилось. С тех пор зарекся в коде планеты рыться лишний раз.
Ночнушки выходят регулярно. Значит программу собирают. Значит добавить юнит 2 секунды. Но это если не я сделаю. Не я, Карл. А вот с этим то и проблема. Каждый раз один и тот же ответ. Соберите сами и пропихните в репозиторий программы. Да, только ради надписи в репозитории. Этот код подправил биообъект такой-то. Ради какой-то стукаческой надписи для сатаныбольшого брата, Карл, еще день возни дополнительной. (Я планетой так редко занимаюсь, что для меня любая правка с регистрации на сайте битбукете заново и установки дельфи заново (если не студия берлин) начинаться должна !!!).
Из тех, кто занимался разработкой, самый адекватный garl был. С ним можно кодом было поделиться, когда он собирал программу.

Ну не получается у меня поладить с людьми которые считают, что репозитории(электронный учет, электронные деньги, и вообще научно-технический прогресс) - это благо, поэтому и мы должны с ними в это стойло идти, если прикажут....
Vitalik
Новичок
Сообщения: 15
Зарегистрирован: 15 авг 2017, 09:50
Благодарил (а): 2 раза

Re: Прявязка пользовательских иконок центром

Сообщение Vitalik »

Интересное стихотворение вы написали. Ладно, буду по старинке. Карту загонять в exel и там рисовать свои иконки... Спасибо. за ответы. Тему можно закрыть.
Аватара пользователя
garl
Гуру
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз
Поблагодарили: 272 раза

Re: Прявязка пользовательских иконок центром

Сообщение garl »

если DJ VK сделает юнит, могу его зпуллить в репо забесплатно (мне на минуту делов, ибо уже всё настроено)
примут его или нет - уже другой вопрос. DJ VK будет ли его допиливать в соответствии с требованиями?
Russian NDN Team
QIP NightlyTester
Аватара пользователя
DJ VK
Гуру
Сообщения: 1468
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 80 раз
Поблагодарили: 314 раз

Re: Прявязка пользовательских иконок центром

Сообщение DJ VK »

garl писал(а):мне на минуту делов, ибо уже всё настроено
Вот именно поэтому, я и отказываюсь заниматься сборкой, ибо у меня это займет массу времени.
Вот юнит.
Привязка иконок осуществляется дописыванием в начало имени файла следующих префиксов:

Код: Выделить всё

Center_
Top_
Left_
Right_
TopLeft_
TopRight_
BottomLeft_
BottomRight_
upd нашел ошибку
if(VFileName.Length() >= 9) then
if(VFileName.SubString(1, 9) = 'TopRight_') then

вложение поправил
Вложения
u_MarkPictureSimple.rar
(1.77 КБ) 227 скачиваний
Аватара пользователя
vdemidov
Гуру
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз
Поблагодарили: 157 раз

Re: Прявязка пользовательских иконок центром

Сообщение vdemidov »

скрытый текст: показать
DJ VK писал(а): времени свободного очень мало. Я хочу в место этого написать десяток больших программ, за которые не заплатят, отсканировать и распознать книги, наделать игрушек напильником и посидеть с детьми. Плюс отреманировать ванную + починить магнитофон и ноутбук. Плюс убраться хорошенько + начертить карту наземного транспорта с перспективой плюс ... и так на 15 лет вперед.. Это нельзя купить за деньги, которые вы мне предлагаете....
Я могу поправить юнит, это 5 минут. Собрать с ним программу с нуля - это полчаса, в лучшем случае. а в худшем несколько часов. но и этого мало. Это я только альтернативную программу соберу. 1 экземпляр. А чтобы функционал попал в основную программу(во все будущие релизы) - это надо еще возиться часов несколько. Настраивать репозиторий, собирать, и заливать изменения.
То есть исправлений два абзаца - но чтобы их в программу - все выходные на это убить. В гробу это все... Пробовал, не понравилось. С тех пор зарекся в коде планеты рыться лишний раз.
Ночнушки выходят регулярно. Значит программу собирают. Значит добавить юнит 2 секунды. Но это если не я сделаю. Не я, Карл. А вот с этим то и проблема. Каждый раз один и тот же ответ. Соберите сами и пропихните в репозиторий программы. Да, только ради надписи в репозитории. Этот код подправил биообъект такой-то. Ради какой-то стукаческой надписи для сатаныбольшого брата, Карл, еще день возни дополнительной. (Я планетой так редко занимаюсь, что для меня любая правка с регистрации на сайте битбукете заново и установки дельфи заново (если не студия берлин) начинаться должна !!!).
Из тех, кто занимался разработкой, самый адекватный garl был. С ним можно кодом было поделиться, когда он собирал программу.

Ну не получается у меня поладить с людьми которые считают, что репозитории(электронный учет, электронные деньги, и вообще научно-технический прогресс) - это благо, поэтому и мы должны с ними в это стойло идти, если прикажут....
Как понимаю камень в мой огоро. А почему бы не предположить что у других людей тоже нет времени? Мне пофигу на то кто зальет в репозиторий. Мне важно что бы это кто-то сделал. У меня доступ к компу в последнее время есть очень эпизодически и на короткое время. Поэтому взять чей-то патч, проверить, исправить форматирование, проверить компиляцию, исправить замечания, закоммитить просто нет возможности. Но есть возможность просмотреть пулреквест и написать комментарии на битбукете я могу. Отсюда мое требование присылать пул реквест. Сделать клон репозитория, коммит и пул реквест занимает 10 минут и 10 кликов мышкой.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Закрыто

Вернуться в «Внеочередное исполнение хотелок»