Перейти к содержанию
GPS навигатор СитиГИД

vlego

Beta Testing Team
  • Публикаций

    1242
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные vlego

  1. Обновил скрипты.

    Т.к. в версии 3.7.0.336 значение уровня громкости присутствует в конфиге, то скрипт меняет это значение на установленное. В верси ниже 3.7.0.336 по прежнему меняется системная громкость.

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

    Включил проверку запущенного explorera, если не запущен, то запускается.

    WinCE - 20100519_133914_StartCE_v013.zip

    WM - 20100518_213809_StartWM_v013.zip

  2. Вопрос к vlegoНа одном из навигаторов (TN-705) русский шрифт в надписях выбора порога предупреждения (60км/ч' date=' 90км/ч) пишет кракозябликами. Причем рядом лежит ещё один такой же 705-ый, там по-русски. Нет шрифта?Проблему конечно решили перезаписью в скрипте этих же строчек по англицки, но просто интересна причина.

    [/quote']

    Текстовый файл должен быть сохранен в кодировке UTF-8.

    На обоих навигаторах один и тотже файл или для каждого создавали свой? Проверьте кодировку.

  3. Скрипт для WM.

    (Большие буквы в окне выбора и таймер)

    #################################################################

    #   Скрипт изменяющий значение параметра "SpeedLimit" в реестре #

    #                    для WinMobile. V_0.11                      #

    #################################################################

    # для версии ниже 3.7.0.336 установка громкости (значения 0-255)

    #SetVolume( 250 )

    # путь установки программы

    cgPath = "флеш-дискProgram filesCity Guide 3"

    # наименование файла программы СитиГид

    cgName = "CityGuide"

    # значение для города

    SpeedLimit[1]="67"

    # значение для трассы

    SpeedLimit[2]="100"

    # наименование для города

    SpeedName[1]="ограничение скорости 60км/ч."

    # наименование для трассы

    SpeedName[2]="ограничение скорости 90км/ч."

    # если программа загружена, то запускаем сам ехешник

    if ( ProcExists( cgName & ".exe" ) )

         Run(cgPath & cgName & ".exe")

    # если программа не загружена, то запускаем скрипт

    else

         # чтение значения параметра из реестра

         ActiveSpeedLimit = RegRead( "HKCU", "SoftwareMITCity GuideSettings", "Speedlimit" )

         # определяем наименование текущего значения

         ForEach ix, idx in array ( SpeedLimit )

              if ( idx = ActiveSpeedLimit )

                   ActiveSpeedName = SpeedName[ix]

                   ActiveSpeedix = ix

              EndIf

         EndForEach

         # установка размера шрифта в окне выбора

         SetChoiceEntryFormat(156/MaxIndex(SpeedLimit),24)

         

         # выбор порога превышения скорости

         idx = Choice( "Selection", "Выбор порога превышения скорости.

              ^LF^Текущее " & ActiveSpeedName, ActiveSpeedix, 10, SpeedName )

         

         # если нажата кнопка не Cancel или истек таймер, то продолжаем

         if ( idx <> 0 )

              # сохранение значения лимита скорости в реестре

              RegWriteDWord( "HKCU", "SoftwareMITCity GuideSettings", "Speedlimit", SpeedLimit[idx] )

                 

              # если нужно, запускаем explorer

              # Run("Windowsexplorer.exe", "")

                 # Sleep(1000)

              # Запуск программы СГ

                   Run(cgPath & cgName & ".exe")

         EndIf

    EndIf

    ############################# Конец ############################

    Пробуйте. По результатам отпишитесь.

  4. Долго не мог понять, как вы свернутый СГ разворачиваете, дошло (не прошло и года). Нужно было просто еще раз запустить СГ.

    Пока тестировал на своем навике Marten опередил.

    Вот поправленный скрипт, пробуйте.

    #################################################################

    #    Скрипт изменяющий значение параметра "SpeedLimit" в файле #

    # "СityGuideCE.ini" для Windows CE. V 0.12                      #

    #################################################################

    # для версии 3.5 и ниже установка громкости (значения 0-255)

    #SetVolume( 250 )

    # пуь установки программы

    cgPath = "SDMMCCityGuide"

    # наименование файла программы СитиГид

    cgName = "CityGuideCE"

    # значение для города

    SpeedLimit[1]="67"

    # значение для трассы

    SpeedLimit[2]="100"

    # наименование для города

    SpeedName[1]="ограничение скорости 60км/ч."

    # наименование для трассы

    SpeedName[2]="ограничение скорости 90км/ч."

    if ( ProcExists( cgName & ".exe" ) )

         Run(cgPath & cgName & ".exe")

    else

         ################### чтение файла конфигурации ###################

         GetData = ReadFile( cgPath & cgName & ".ini" )

         

         ForEach strDat in split ( GetData, "^LF^", TRUE )

              if ( Find( strDat, "SettingsSpeedLimit=" ) )

                   ActiveSpeed = strDat

                   ActiveSpeedString = Part( strDat, "=", 1 ) & "="

                   ForEach ix, idx in array ( SpeedLimit )

                        if ( idx = Part( strDat, "=", 2 ) )

                             ActiveSpeedLimit = SpeedName[ix]

                             ActiveSpeedix = ix

                        EndIf

                   EndForEach

              EndIf

         EndForEach

         ################ выбор значения лимита скорости #################

         # установка размера шрифта в окне выбора

         SetChoiceEntryFormat(156/MaxIndex(SpeedLimit),24)

         

         # выбор порога превышения скорости

         idx = Choice( "Selection", "Выбор порога превышения скорости.

              ^LF^Текущее " & ActiveSpeedLimit, ActiveSpeedix, 10, SpeedName )

         

         # если не Cancel, то продолжаем

         if ( idx <> 0 )

              # сохранение значения лимита скорости

              SetData = Replace( GetData, ActiveSpeed, ActiveSpeedString & SpeedLimit[idx] )

              WriteFile( cgPath & cgName & ".ini", SetData )

              # Запуск программы

              Run("Windowsexplorer.exe", "")

              Sleep(1000)

              Run(cgPath & cgName & ".exe")

         EndIf

    EndIf

    ############################# Конец ############################

    • Upvote 1
  5.  

    Вот так - http://forum.probki.net/forum_posts.asp?TID=3872&KW=YFAutoRun%2Einf&PID=79222#79222 (как это работает - не представляю Big%20smile)

     

    Попробуйте перед загрузкой СГ, строка Run(cgPath & cgName & ".exe") загрузить explorer

    Run ("Windowsexplorer.exe")

    Sleep(1000)

    Run(cgPath & cgName & ".exe")

    Но у меня не работает.

  6.  

    Ага! Работает.

    Осталось придумать как доставать СГ из свёрнутого состояния...Unhappy

    Может быть надо сначала запускать дополнительное меню где а)программа' date=' б)задание скорости, т.е. путь к этому скрипту? (я в этом мало понимаю, так что не пинайте, если мысль глупая, но просто с путями к программам сворачивание/разворачивание работало Embarrassed)
    [/quote']

    А какая у вас версия СГ? У меня СГ никогда не сворачивался, чесно говоря, не заморачивался по этому поводу. Может у Вас СГ запускался тоже через МортСкрипт? Сначала грузился Explorer, а потом СГ?

  7. <... Кнопка Cancel не отменяет меню' date=' обязательно надо что-то выбрать, после чего грузится СГ. Хотелось бы отмены.

    2. Хотелось бы добавить таймер к значению по умолчанию (например, "Город") и без дополнительного вопроса, у которого к тому же мелкие кнопки.

    ...>[/quote']

    YFLoader6.exe - это родная оболочка TeXeT TN505. Перед загрузкой программы я ее выгружаю, а потом, после выгрузки программы загружаю обратно. Но это только для TN505.

    Вот поправленный скрипт, пробуйте. Таймер установлен на 10 сек.

    #################################################################

    #    Скрипт изменяющий значение параметра "SpeedLimit" в файле #

    # "СityGuideCE.ini" для Windows CE. V 0.12                      #

    #################################################################

    # для версии 3.5 и ниже установка громкости (значения 0-255)

    #SetVolume( 250 )

    # пуь установки программы

    cgPath = "SDMMCCityGuide"

    # наименование файла программы СитиГид

    cgName = "CityGuideCE"

    # значение для города

    SpeedLimit[1]="67"

    # значение для трассы

    SpeedLimit[2]="100"

    # наименование для города

    SpeedName[1]="ограничение скорости 60км/ч."

    # наименование для трассы

    SpeedName[2]="ограничение скорости 90км/ч."

    ################### чтение файла конфигурации ###################

    GetData = ReadFile( cgPath & cgName & ".ini" )

    ForEach strDat in split ( GetData, "^LF^", TRUE )

         if ( Find( strDat, "SettingsSpeedLimit=" ) )

              ActiveSpeed = strDat

              ActiveSpeedString = Part( strDat, "=", 1 ) & "="

              ForEach ix, idx in array ( SpeedLimit )

                   if ( idx = Part( strDat, "=", 2 ) )

                        ActiveSpeedLimit = SpeedName[ix]

                        ActiveSpeedix = ix

                   EndIf

              EndForEach

         EndIf

    EndForEach

    ################ выбор значения лимита скорости #################

    # установка размера шрифта в окне выбора

    SetChoiceEntryFormat(156/MaxIndex(SpeedLimit),24)

    # выбор порога превышения скорости

    idx = Choice( "Selection", "Выбор порога превышения скорости.

         ^LF^Текущее " & ActiveSpeedLimit, ActiveSpeedix, 10, SpeedName )

    # если не Cancel, то продолжаем

    if ( idx <> 0 )

         # сохранение значения лимита скорости

         SetData = Replace( GetData, ActiveSpeed, ActiveSpeedString & SpeedLimit[idx] )

         WriteFile( cgPath & cgName & ".ini", SetData )

         # Запуск программы

         Run(cgPath & cgName & ".exe")

    EndIf

    ############################# Конец ############################

  8. To vlego:здОрово' date=' спасибо. Поставил на свой ВМ, вроде работает. Бум пробовать на ходу.

    [/quote']

    Пожалуйста.

    Так как под рукой нет девайса с WM хотелось бы посмотреть на рабочий скрипт. Если не сложно киньте.

    Для будующих изменений.

  9. Ух-ты! От меня благодарность! Clap

    И сразу вопрос' date=' можно эти три строчки растянуть на весь экран по высоте, а то боюсь будет сложно попадать?

     
    [/quote']

    Можно.

    20100511_152312_v11.jpg

    Нужно добавить строчку в указанном месте:

    ################ выбор значения лимита скорости #################

    # установка размера шрифта в окне выбора

    SetChoiceEntryFormat(156/3,22)

    While( chCase <> 1 )

         idx = Choice( "Selection", "Выбор порога превышения скорости.

              ^LF^Текущее " & ActiveSpeedLimit, ActiveSpeedix, 0, SpeedName )

         if ( idx > 0 )

              Switch( Question(" Выбрано " & SpeedName[idx] & ".

              Хотите продолжить?","Внимание!","YesNo") )

                   Case( 1 )

                        chCase = 1

              EndSwitch

         EndIf

    EndWhile

    • Upvote 1
  10. скажите кто уже имел возможность опробовать: можно ли как-то изменять порог без выхода из самой программы? Или СГ надо закрывать каждый раз' date=' когда нужно изменить в реестре порог скорости?

    [/quote']

    Даже, если изменить в реестре значение, в программе порог не изменится. Программа считывает весь конфиг в момент загрузки. Для того, что бы менять порог скорости не перегружая программу необходимо это делать в интерфейсе программы, а для этого нужно лесть в код программы.

    Надеюсь в скором будующем разработчики доделают эту фичу, тем более, что она уже работает.

    Для PsevDANIm

    Прошу прощения за минимум информации по установке скрипта. Выложил скрипт, который делал для себя и расписал комментарии с надеждой, что каждый подгонит под своего зверька.

  11. Скрипты для запуска CityGuide.

    v01

    20100510_183408_v1_1.jpg

    20100510_183520_v1_2.jpg

    v02

    20100510_183632_v2.jpg

    WinCe 20100510_185341_StartCE.RAR

    WM 20100510_185400_StartWM.RAR

    Скрипты для WM проверить было не на чем. Поэтому может что то работать не будет.

    Файлы перед запуском переименовать в Start.mscr

    В начале скрипта добавил строчку для установки громкости "SetVolume( 250 )". Значения могут быть от 0 до 255. Строка закомментирована, кому надо раскомментируйте. Часто приходится выгружать пограмму, для изменения громкости, особенно в версии 3.5 и ниже. Если выставить необходимое значение, то программа будет всегда загружаться с этим значением громкости.

    • Upvote 1
  12. Чтобы каждый раз вручную не править значение скорости в конфиге, набросал скриптик для WinCE, который сначала предлагает выбрать порог ограничения скорости, а потом запускает СГ. Пути размещения программы необходимо поправить для своего девайса.

    Может кому пригодится.   smiley9.gif

    20100508_005546_WarnSpeen.rar

    • Upvote 1
  13. Спасибо Vlego поставил на навигатор версия 3' date='7 с "подрихтованным" land Pack работает исправно предупреждает вовремя (скорость набираю медленно) скорость установил 100 км/ч вовремя останавливает набор скорости когда по трассе кто-то "отчаянный" или блатной обгоняет нога машинально добавляет скорость а тут предупреждение-сказка. [/quote']

    Согласен, именно по этой причине и копал в этом направлении. Особенно актуально на трассе, когда не замечаешь увеличение скорости. У меня при установленном значении 100 четко срабатывает на скорости 102 км/ч.

  14. Прога сама знает какой файл.Интересно откуда топистартер узнал об этой недокументированной?vlego

       ! если не секрет

    Пробовал разговорить свой Навител, но так и не получилось. При переходе на СГ предположил, что в СГ не хватает голосового файла. Оставалось, только узнать как он называется. Немного поковырялся в exeшнике и вот...

  15. Для того, чтобы в Вашем навигаторе при превышении, установленного Вами порога скорости, звучало предупреждение о превышении скорости необходимо взять любой WAV файл, переименовать его в OverSpeed.ru.wav и скопировать его в папку Voice.

    Можете скачать уже готовый файл.

    Далее для устройств, которые работают под WindowsCE необходимо сделать изменения в файле конфигурации CityGuideCE.ini.

    В строке SettingsSpeedLimit= поставить значение порога превышения скорости.

    Для устройств, которые работают под WindowsMobile необходимо сделать изменения в реестре.

    В ветке HKCU/Software/MIT/City Guide/Settings изменить значение.

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

    20100526_164512_s1.jpg

    Скрипты и описание находятся здесь.

    vlego2010-11-06 22:21:40

    • Upvote 2
×
×
  • Создать...