1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Soft Помогите со скриптом InnoSetup

Тема в разделе "Hard & Soft", создана пользователем Дядюшка Эль, 3 окт 2012.

  1. Дядюшка Эль

    Дядюшка Эль

    Регистрация:
    8 янв 2011
    Сообщения:
    165
    Я хочу сделать несколько репаков старых игр. Нужно, чтобы Inno создавал *.bat файл с командами для DosBox:

    mount k [путь с установленной игрой]
    k:
    cd [имя папки с установленной игрой]
    game.exe
    exit

    Проблема заключается в том, что я не знаю, как получить само имя папки, без полного к ней пути, всё остальное работает. Помогите, пожалуйста, я уже пятый день мозги ломаю :nono:
     
  2. _Dominus_

    _Dominus_

    Регистрация:
    21 сен 2008
    Сообщения:
    411
    Я делал проще - в дистр включал настроенный на конкретную игру DosBOX (потому как общий конфиг применим не для всех).
    Делал я следующим образом -
    1. Создавал в каталоге с досбоксом еще один каталог (например, data в котором размещалась сама игра)
    2. В конфиге досбокса прописывал следующее (в самом конце):

    @ECHO OFF
    mount C ".\data"
    c:
    cls
    game.exe
    exit

    3. Паковал все это дело InnoSetup
    4.Enjoy =)

    Если интересно, могу скинуть на примере Кирандии вместе со скриптом.
     
    Дядюшка Эль нравится это.
  3. Дядюшка Эль

    Дядюшка Эль

    Регистрация:
    8 янв 2011
    Сообщения:
    165
    Огромное спасибо! О таком решении не догадался, хотя DosBox и включал в дистрибутив, но клал его в папку с игрой. Так и удобнее будет - отдельно DosBox, отдельно - игра, и проблема устраняется.

    Однако, если кто знает, как получить имя папки, буду рад узнать. Уже из-за простого любопытства :)
     
  4. _Dominus_

    _Dominus_

    Регистрация:
    21 сен 2008
    Сообщения:
    411
    Дядюшка Эль, если мне не изменяет память, то есть такая константа - {app}, которая содержит путь.
     
    Последнее редактирование: 3 окт 2012
  5. Дядюшка Эль

    Дядюшка Эль

    Регистрация:
    8 янв 2011
    Сообщения:
    165
    Ага, она самая. Только вот из полного пути я так и не смог получить имя отдельной папки.
     
  6. _Dominus_

    _Dominus_

    Регистрация:
    21 сен 2008
    Сообщения:
    411
    Дядюшка Эль, а, собственно говоря, зачем? Я просто не понимаю, для чего оно тебе отдельно?
     
  7. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Там же на встроенном языке можно запросто написать разбор пути. Тем более что в данном случае нужно просто отрезать два первых символа.
     
    Goblinit нравится это.
  8. Дядюшка Эль

    Дядюшка Эль

    Регистрация:
    8 янв 2011
    Сообщения:
    165
    _Dominus_, повторюсь, теперь это уже интерес с целью понять, как это вообще можно сделать.

    MisterGrim, а как примерно должен выглядеть подобный код? Я единственное, что нашёл - это функцию StringChangeEx, но ума ей не дал.
     
  9. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Copy
    Delete
    Ну или написать самому — делов-то.
     
  10. A.P.$lasH

    A.P.$lasH

    Legacy

    Регистрация:
    27 фев 2010
    Сообщения:
    4.666
    MsgBox(ExtractFileName(RemoveBackslash(ExpandConstant('{app}'))),mbInformation,MB_OK);
     
    Дядюшка Эль и Goblinit нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление