Контакты

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (50)

Лучшие ответы пользователя

Все ответы (72)
  • Как верстать под печать?

    @acwartz
    angular, java, chrome extensions, delphi
    Но мне кажется, что это ерунда. Туда отдельно писать код для всей страницы снова?

    На чистом CSS - да.

    Чтобы скрасить монотонность копирования одного и того же, существуют препроцессоры css (LESS, SCSS, Stylus), и вместо дублирования под все медиа, Вы сразу пишите медиа запросы к конкретному классу, в последующем препроцессор сформирует нужное, и оно будет ожидаемо работать.
    Например:
    .sidebar {
      width: 300px;
      @media screen and (orientation: landscape) {
        width: 500px;
      }
      @media screen and (min-width: 640px) {
        width: 350px;
      }
      @media print {
        display: none;
      }
    }

    на выходе будет:
    .sidebar {
    	width: 300px;
    }
    
    @media screen and (orientation: landscape) {
    	.sidebar {
    		width: 500px;
    	}
    }
    
    @media screen and (min-width: 640px) {
    	.sidebar {
    		width: 350px;
    	}
    }
    
    @media print {
    	.sidebar {
    		display: none;
    	}
    }


    Отладка меди-запросов включается в DevTools доп утилитах рендера:
    5f9925e993892286417134.png
    Туть:
    5f99260ea64cd837540535.png
    Ответ написан
  • Как собрать программу (несколько вопросов)?

    @acwartz
    angular, java, chrome extensions, delphi
    Имя файла это имя проекта, можно изменить в менеджере проектов:
    5f896f9c34249105669309.png

    Расположение выходного файла меняется в настройках проекта,
    обратите внимание на наличие вагона конфигураций:
    5f896fb08365a536392909.png

    Я для output directory для all values - all platforms указываю ..\bin\, там и плодятся все бинарники.
    Но это у меня т.к. структура проектов всегда такая:
    ./prjects//bin/.exe
    ./prjects//source/DCU/{Platform}/{BuildMode}/
    ./prjects//source/.dproj
    3) В настройках проекта указал лого и иконку(почему то у exe'шника и в трее они не меняются) - их(иконки) нужно так же около exe файла держать?

    С лого и прочим тоже самое, для каждого конфига нужны свои настройки.
    Иконка в трее берется из соотв. свойства компонента.

    4)Еще такой вопрос - как лучше хранить настройки по умолчанию?(сейчас они просто прописаны в коде) Была мысль - ini файл рядом с exe положить, но среди настроек есть некоторые "секретные", поэтому нужно, чтобы обычный пользователь их не трогал и не видел - нормальное ли решение будет добавить dll в котором прописать функцию устанавливающую эти настройки(например логин, пароль, адрес сервера куда отправляются запросы)
    обычные настройки(автозапуск, горячие клавиши) записываю в реестр.

    Вдумайтесь, настройки по-умолчанию это те настройки которые есть всегда вне зависимости от доступности реестра/файлов. Они должны быть внутри самого exe, т.е. прямо в коде прописаны либо модулем с константами/функциями. И не надо городить ни в ресурсах ни рядом ни в dll ничего, никаких конф. файлов. Это лишняя и пустая трата времени, в 95% случаев вы туда только в первый раз полезете и всё.

    5) Нужно ли сжимать exe файл с помощью upx?

    И зачем это нужно делать? Чтобы лишний раз панику пользователю развести на пустом месте из ничего?
    Если задаётесь этим вопросом, ответ - НЕ НУЖНО. Соберите Release и всё.

    6) С помощью чего создать инсталлятор? сильно ли критичный вариант создать sfx-архив с exeшником, файлом реестра и dll файлам?.

    А точно нужен этот инсталлятор?
    Батника Uninstall с командой start /wait yourapp.exe --uninstall недостаточно? Программа запустится, найдет аргумент вычистит все свои данные, и завершится. Батник грохнет свою папку и себя. Всё.

    Инсталлятор нужен когда приложение очень много файлов ставит в т.ч. в систему (системные библиотеки, масса записей в ресстр). Если очень хочется модно/молодёжно, то создавайте при помощи InnoSetup.
    Ответ написан
  • Delphi 10.4.1 видит регистр XMM0-XMM7 но ругается на XMM8 и более, почему?

    @acwartz
    angular, java, chrome extensions, delphi
    Все что после XMM7 это для x64. Вики.

    Переключите приложение в сборку под x64, а лучше оберните нужный кусок кода в соотв. условие:
    {$IFDEF CPUX86}
      asm
        // ...
      end;
      {$ENDIF CPUX86}
      {$IFDEF CPUX64}
      asm
        // ...
      end;
    {$ENDIF CPUX64}
    Ответ написан
  • Как решить задачу с собеседования?

    @acwartz
    angular, java, chrome extensions, delphi
    Предельно простая задача с циклом while + рекурсия.
    скобки образуют вызов рекурсивной функции.
    Котлин не знаю.
    Примерно так:
    function task(str) result string {
      i, j integer = 0;
      max integer = str.length;
      ch char = #0;
      while (i < max) {
        ch = str[i];
        if ch in [0..9] {
          //делаем рекурсию столько раз сколько предписано
          //начало строки которую надо обработать, не включая тек. символ и символ начала рекурсии (
          substrStart Integer = i + 2;
          //конец строки которую надо обработать, ссылается на закрывающую рекурсию скобку )
          substrEnd Integer = str.pos(")", substrStart );
          //цикл повторов выражения в скобках
          for j = 1; j < ch; j++:
            //копируем из строки 2(3(c)d) значение 3(с)d не включая скобки и текущий символ указывающий кол-во повторов
            result = result + task(str.substring(substrStart, substrEnd -1)); 
          end for;
          //Прыгаем за закрываюющую скобку т.к. этот участок обработан рекурсивно, и нужно обработать хвост если он есть, например: aaa2(3(c)dd)QQ
          //в первой итерации task("aaa2(3(c)dd)QQ")
          //тут будет переход на позици подстроки "QQ"
          i = substrEnd + 1;
        } else {
          result = result + ch;
          i = i + 1;
        }
      }
    }
    }
    Ответ написан
  • Как продвигать своё расширение для Chrome?

    @acwartz
    angular, java, chrome extensions, delphi
    Кто идею придумал, вы или интернет? То что решает ваше расширение, у кого такая проблема, у вас одного?
    Есть ли уже существующие решения? Они живые? Актуальные? Их авторы адекватны в плане реакции на фидбек о работе расширения? Или может у моего сильно заумное название? Оно вообще в выдаче есть? Сабж мультиязычен?

    Вот какие вопросы надо изучать, а не вот это вот все:
    Я написал потому что могу, но кому оно нужно? Никому.
    Ответ написан