На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Батники для компиляции любой версией Delphi , пользуйтесь, кому нужно :)
    Если у вас установлено несколько версий Delphi, вы можете использовать мой батник (вернее, cmd-шник) для компиляции любой версией. Ну и ещё несколько вспомогательных...

    Файлы:
    • dcc.cmd - основной файл для компиляции, имеет много опций; запускайте без параметров и смотрите возможные варианты опций.
    • dcc.config.cmd - файл настроек (не забывайте указать верные пути в разделе "Delphi main paths" !!!)
    • cleanupdpr.cmd - очистка от лишних файлов (как работает см. ниже).
    • d64.cmd - запуск dcc.cmd с опцией /64
    • d7.cmd - запуск Delphi 7 IDE
    • d07.cmd - запуск Delphi 2007 IDE
    • d10.cmd - запуск Delphi 10.3 Rio IDE
    • dccAll.cmd - компиляция всеми компиляторами (после каждого пауза с вопросом: продолжить или нет)
    • dccAllE.cmd - компиляция всеми компиляторами (пауза с вопросом только в случае ошибки)
    • dccAllS.cmd - компиляция всеми компиляторами (пауза с вопросом только в случае успешной компиляции)
    • dccAllF.cmd - компиляция всеми компиляторами (аналогично dccAllE.cmd) с созданием папки под каждый компилятор, т.е. на выходе получаем файл, скомпилированный каждым компиляторов в отдельную папку
    • bds2006.bat - запуск Delphi 2006 IDE (учитывая, что там есть косяки с файлом EditorLineEnds.ttr в %TEMP%)
    • bds2007.bat - запуск Delphi 2007 IDE (учитывая, что там есть косяки с файлом EditorLineEnds.ttr в %TEMP%)

    dccAll*.cmd планирую вложить в dcc.cmd как руки дойдут, пока пользуюсь этими вариантами...

    Немного о том как работает dcc.cmd
    Батник содержит внутри себя строки с путями к разным компиляторам. Если в командной строке не задан компилятор, используется тот, который задан в батнике (в начале). Компилятор задаётся опцией типа /7 или /XE5, или /103, разрядность - как /32 или /64 (можно так: /XE8/64 или /XE8x64). Таким образом, для компиляции, скажем, из Far'а можно ввести dcc/2007 MyProj.dpr или dcc/XE8/64 MyProj.dpr, или dcc/103x64 MyProj.dpr. Для запуска IDE задаётся опция /ide (лучше комбинировать с /s). См. справку, в общем :)

    Немного о том как работает cleandpr.cmd
    Этому батнику в качестве параметров можно задавать ту же строку, что и при компиляции.
    Если в этой строке будет присутствовать существующий dpr-файл (можно задавать маску), батник удалит файлы с тем же именем и расширениями cbk ddp drc dsk dsm identcache ~*, а также все файлы с расширениями dcu dcuil drc dsm map ~*, pas-файл которых лежит рядом.
    Если dpr-файл с указанным именем не будет найден, удаляются только файлы с указанным именем и расширениями cbk ddp drc dsk dsm identcache ~* (без dcu dcuil drc dsm map ~*).
    Если будет задан (и найден!) pas-файл, также удаляются расширения dcu dcuil drc dsm map ~*, но только для этого файла.
    Если параметры для батника не заданы, удаляются все указанные расширения для всех файлов (кроме dcu dcuil drc dsm map ~*, для которых нет pas-файлов).
    Если в качестве первого параметра задать одиночный дефис (-), расширения dcu dcuil drc dsm map ~* не удаляются (можно оставить один дефис, а можно после него задать параметры для компилятора или файл(ы)).

    В общем, юзайте, кому надо ;)

    p.s. Если есть другие идеи по поводу расширений (может, что-то не стоит удалять или наоборот добавить), пишите. Ну или ещё по каким-то вопросам...

    Прикреплённый файлПрикреплённый файлdcc_1.12.zip (11,32 Кбайт, скачиваний: 156) [с поддержкой Delphi 10.4 Sydney]

    Старые версии:
    Прикреплённый файлПрикреплённый файлdcc_1.11.zip (9,47 Кбайт, скачиваний: 170) (+42 скачивания)
    Прикреплённый файлПрикреплённый файлdcc_1.10.zip (8,96 Кбайт, скачиваний: 195)
    Прикреплённый файлПрикреплённый файлdcc.zip (7,78 Кбайт, скачиваний: 192)
    Сообщение отредактировано: Jin X -
      Новая версия батнка (dccAll пока ещё отдельно)!
      Пофиксены баги (и надеюсь, не наделано новых :D), переработано взаимодействие со строками, добавлены фичи.
      ExpandedWrap disabled
        :: VERSION HISTORY
        ::
        :: v1.10 (16.10.2017)
        :: [!] Settings are taken out to 'dcc.config.cmd' file
        :: [+] Default batch options can be specified in 'dcoptions' environment variable (that declared in 'dcc.config.cmd')
        :: [+] Added 'x86' suffix for '/version' option
        :: [+] Added '/i', '/ii' and '/i-' options to avoid multiple instance run
        :: [+] Added '/si' option (run via 'start' command for IDE only)
        :: [+] Added aliases for compiler versions in 'dcc.config.cmd' (you can use '/07' option instead of '/2007' if setting 'delphiveralias_07=2007' is added)
        :: [+] More settings for compiler and IDE (some of variables are renamed): 'delphiexeVERSION_BITS', 'defdelphiexe_BITS', 'delphiideexeVERSION', 'defdelphiideexe',
        ::     'delphioptVERSION_BITS', 'defdelphiopt_BITS', 'delphiideoptVERSION', 'defdelphiideopt'
        :: [+] Executable filename settings ('delphiexeVERSION_BITS', 'defdelphiexe_BITS', 'delphiideexeVERSION', 'defdelphiideexe') can contain full paths to EXE or just paths relatively to %delphipath%;
        ::     you can also specify a command line with prefix '@' (like '@call MyDelphi.bat') or '@@' if you want to ignore '/s' (run via 'start') option (like '@@call MyDelphi.bat');
        ::     add hyphen '-' after '@' or '@@' if you don't want to use any options instead of command line parameters (like '@-call MyDelphi.bat' or '@@-call MyDelphi.bat')
        :: [+] Option settings 'delphioptVERSION_BITS', 'defdelphiopt_BITS', 'delphiideoptVERSION' and 'defdelphiideopt' can be set as single hyphen '-' to cancel options (and don't use 'defXXX' options);
        ::     this rule doesn't apply to 'extradelphiopt' and 'extradelphiideopt' or any other settings
        :: [-] Fixed some bugs (e.g. '/ca' and '/cb' options worked vice versa) and many internal changes are made (including string processing improvements); one russian string is translated into English :)
        ::
        :: v1.00 (10.10.2017 and earlier)
        :: [!] The first version!

      Прикреплённый файлПрикреплённый файлdcc_1.10.zip (8,96 Кбайт, скачиваний: 195)
        Автор большой молодец
        Дополняю для bds2006, также должен работать в tubro delphi 2006

        1. 20ю строку в dcc.config.cmd следует заменить на
        set delphipath2006=%ProgramFiles(x86)%\Borland\BDS\4.0

        2. bds2006.cmd

        @echo off
        del /q /f %temp%\EditorLineEnds-*.ttr 2>nul>nul
        if exist %temp%\EditorLineEnds.ttr ren %temp%\EditorLineEnds.ttr EditorLineEnds-%random%%random%.ttr
        call "%~dp0dcc.config.cmd"
        start "" "%delphipath2006%\%defdelphiideexe%" -pDelphi

        p.s. Не по теме
        Не получается добавить файл во вложение, а также написать в личку.
        Уважаемый Jin X, буду рад Вашему сообщению в личку, хочу пообщаться за рамками форума
        Сообщение отредактировано: pu008 -
          В связи в выходом Delphi 10.3 Rio новая версия :)

          ExpandedWrap disabled
            :: v1.11 (05.12.2018)
            :: [+] Added Delphi 10.3 Rio support (in 'dcc.config.cmd' and 'dccAll*.cmd')
            :: [+] Added bds2006.cmd to run Delphi 2006 IDE (thanks to pu008)

          Прикреплённый файлПрикреплённый файлdcc_1.11.zip (9,47 Кбайт, скачиваний: 170)



          Цитата pu008 @
          буду рад Вашему сообщению в личку, хочу пообщаться за рамками форума
          Не увидел сообщения (либо оповещение почему-то не появилось). Написал в личку.
          p.s. Контакты, собственно, у меня указаны на сайте (ссылка в профиле).
            Новая версия в связи с выходом RAD Studio 10.4 Sydney.

            ExpandedWrap disabled
              :: v1.12 (05.06.2020)
              :: [+] Added Delphi 10.4 Sydney support (in 'dcc.config.cmd' and 'dccAll*.cmd').
              :: [-] Corrected default cleanup mode (it was '/cb' instead of '/ca').
              :: [*] Extended list of aliases (10.0, 10.1, 10.2, 10.3, 10.4).
              :: [*] Made some text changes in 'dcc.cmd' (including help), extended description in 'dcc.config.cmd'.

            Прикреплённый файлПрикреплённый файлdcc_1.12.zip (11,32 Кбайт, скачиваний: 156)
              Новая версия в связи с выходом RAD Studio 11 Alexandria.

              ExpandedWrap disabled
                :: v1.13 (04.11.2021)
                :: [+] Added Delphi 11 Alexandria support (in 'dcc.config.cmd' and 'dccAll*.cmd').

              Прикреплённый файлПрикреплённый файлdcc_1.13.zip (11,48 Кбайт, скачиваний: 43)
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0408 ]   [ 27 queries used ]   [ Generated: 28.03.24, 09:35 GMT ]