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

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

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

Правила форума
Настоятельно рекомендуем ознакомиться с правилами раздела платных услуг ТУТ.

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

Сообщение DJ VK » 24 авг 2017, 10:48

Пока нет желающих заняться немного комментариев по коду, для самостоятельных экспериментов так сказать.
вариант отрисовки может быть закодирован в имени картинки.
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_ (центр)
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

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

Сообщение Vitalik » 26 авг 2017, 14:03

DJ VK давайте я Вам заплачу, а Вы попробуете сделать, может выйдет чё-нибудь. Как то сложновато мне в памяти делфи восстанавливать.
Vitalik
Новичок
 
Сообщения: 15
Зарегистрирован: 15 авг 2017, 09:50
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

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

Сообщение DJ VK » 26 авг 2017, 19:54

Vitalik писал(а):DJ VK давайте я Вам заплачу, а Вы попробуете сделать, может выйдет чё-нибудь. Как то сложновато мне в памяти делфи восстанавливать.

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

Ну не получается у меня поладить с людьми которые считают, что репозитории(электронный учет, электронные деньги, и вообще научно-технический прогресс) - это благо, поэтому и мы должны с ними в это стойло идти, если прикажут....
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

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

Сообщение Vitalik » 26 авг 2017, 22:58

Интересное стихотворение вы написали. Ладно, буду по старинке. Карту загонять в exel и там рисовать свои иконки... Спасибо. за ответы. Тему можно закрыть.
Vitalik
Новичок
 
Сообщения: 15
Зарегистрирован: 15 авг 2017, 09:50
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

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

Сообщение garl » 26 авг 2017, 23:22

если DJ VK сделает юнит, могу его зпуллить в репо забесплатно (мне на минуту делов, ибо уже всё настроено)
примут его или нет - уже другой вопрос. DJ VK будет ли его допиливать в соответствии с требованиями?
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1621
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 96 раз.
Поблагодарили: 241 раз.

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

Сообщение DJ VK » 27 авг 2017, 15:37

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 KiB) Скачиваний: 50
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

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

Сообщение vdemidov » 29 авг 2017, 21:20

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

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

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

За это сообщение автора vdemidov поблагодарил:
DJ VK (30 авг 2017, 00:04)
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Пред.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1