|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
||||||
Ошибка компиляции BAS-файла24.02.2015, 21:31. Показов 2623. Ответов 18
Метки нет (Все метки)
Для начала. Модуль писался отцом в 2009. Отца уже нету. EXE-шник работает. При запуске он составляет плейлисты с определенными параметрами. Проблема в том, что в ini-файле можно задать только одно время для формирования плейлистов. При добавлении второго времени модуль берет значение из последней строчки. То-есть составляет только один блок плейлистов. Мне же нужно, что б таких блоков создавалось два. На утро и на вечер для примера.
Вариантов реализации я видел 2. 1. Изменение параметров кода для получения возможности чтения из ini-файла нескольких значений времени. Для меня практически не подъемная задача, поскольку мне до понятий программирования как до луны на корточках. 2. Создание клона этого модуля с другим названием самого файла и с другим названием ini-файла в самом коде. Тогда за утренний блок будет отвечать один модуль, а за вечерний - другой. От отца у меня остались BAS-файл и скомпилированный из него рабочий EXE-шник. На его машине BAS ассоциирован с QBX.EXE. Рядом с QBX.EXE лежат файлы QBX.INI и QBX.KEY (видимо с настройками компиляции... не знаю). На сколько я понимаю - это компилятор именно QuickBasic 4.5? Вот тут я и столкнулся с проблемой. При попытке создать новый EXE-шник выдаёт 12 ошибок в синтаксисе...! Но отец же как-то его скомпилировал! Вот сам код. Кликните здесь для просмотра всего текста
Прикрепляю и сам BAS-файл. Может кто поможет иль подскажет.
0
|
||||||
| 24.02.2015, 21:31 | |
|
Ответы с готовыми решениями:
18
Как открыть BAS-файл для редактирования? Импорт файла *.bas с макросами для использования на другом ПК
|
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
|
| 24.02.2015, 21:45 [ТС] | |
|
Вот и сам файлик
0
|
|
|
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
|
||
| 25.02.2015, 09:12 | ||
|
iVladimir, при всем уважении к произведению Вашего ОТЦА (от 2009 года)
Давайте посмотрим на жизнь с немножко новых реалий?
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
||
| 25.02.2015, 13:58 [ТС] | ||
|
А внести изменения в эфир нужно сейчас.
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
|||
| 25.02.2015, 15:16 [ТС] | |||
|
Именно по этому я сделал ТЗ на новую программу. С интерфейсом и т.д. Вордовский документ на 25 страниц с рисунками и детальным описанием функций. Мне по большому счету по барабану, на чем она будет написана. Поиск фрилансера на сайте окончился для меня неподьемной суммой. А тот, которого нашел у себя в городе - тормозит ((
0
|
|||
| 25.02.2015, 16:21 | ||||
|
Не по теме:
Но без детального описания сложно оценить реальную стоимость разработки этого приложения.
0
|
||||
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
|
| 25.02.2015, 16:45 [ТС] | |
|
locm, Согласен... немного отклонились от темы.
Мне все таки не дает покоя тот факт, что отец эти файлы скомпилировал. Возможно я просто в самом процессе что-то делаю не так. Задаю какие-то не такие параметры. Возможно кто-то попробует скомпилировать то, что есть. На всякий случай в архив положил QBX.EXE, QBX.INI и QBX.KEY. Может в них собака зарыта?
0
|
|
|
|
||
| 25.02.2015, 17:36 | ||
Сообщение было отмечено iVladimir как решение
РешениеНу если нужен EXE именно этого MUSICDAY.BAS куска кода, то пожалуйте вот:
1
|
||
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
|
| 25.02.2015, 18:33 [ТС] | |
|
Pro_grammer, Добрый человек. Кланяюсь тебе в ноги и бью челом. Работает скомпилированный тобой ЕХЕ-шник. Вот только я балда несусветная. Выложил сюда файл со старым названием ini-файла в коде.
Вот тут новый, правленый. Не откажи горемыке. Скомпилируй пожалуйста еще раз.
0
|
|
|
|
||
| 25.02.2015, 20:06 | ||
|
В новом файле реально изменено только имя файла \musicday1.ini, а смысл было компилировать? Можно было просто скопировать целиком вашу драгоценную программу на другой диск ( или в другую папку), изменить содержание musicday.ini на то, что вам надо, и был бы тот же эффект!
1
|
||
|
|
|
| 25.02.2015, 20:22 | |
|
Ещё один путь развития, без изменения готовых модулей.
Пишем программу, которая формирует musicday.ini по расписанию, хоть 5 раз в сутки новый файл. Эта же программа в нужный момент стирает старый файл musicday.ini, записывает туда новый, запускает по расписанию формирование блока плейлистов. Мы имеем так называемый лаунчер, который будет автоматизировать весь процесс. Это намного проще, чем писать программу с нуля на на 25 страниц описания. И стоить будет сущие копейки ( по сравнению), работа не сложная.
0
|
|
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
|||||
| 25.02.2015, 21:16 [ТС] | |||||
|
Во первых спасибо большое. Завтра протестирую - отпишусь.
Далее... .
0
|
|||||
|
|
||
| 25.02.2015, 21:48 | ||
|
А на какой ОС крутится программа, какова мощность компьютера?
0
|
||
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
||
| 25.02.2015, 22:17 [ТС] | ||
|
С мощностью проблем нет. Ось стоит ХР сп3 х86. Программа написана в жесткой привязке к планировщику плеера Wolosoft Raduga. Проблема в том, что у версии, которая корректно работает с семеркой замечены проблемы с кодировками кириллицы. Именно по-этому остаюсь привязан к ХП.
0
|
||
|
|
||||||||||||
| 26.02.2015, 06:55 | ||||||||||||
|
Как создается этот musicday.ini? В коде есть запрет на запуск до 3-х часов ночи, там какая то автоматизация? Я тут внёс некоторое изменение в код. Теперь нет необходимости держать 2 клона, в начале запуска идет запрос, какой musicday.ini мы должны использовать, допустимые имена: musicday.ini musicday1.ini musicday2.ini и т.п. числом не ограничено. На запрос надо ввести соответствующую цифру и нажать "Enter", если цифры нет, то просто нажать "Enter". Естественно файлы musicday?,ini должны быть подготовлены и лежать там, где им положено. Изменения в исходном коде коде, добавлено 6 строка:
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
||||||
| 26.02.2015, 12:19 [ТС] | ||||||
|
musicday.ini содержит две строки
dir = \\main\E\Audio\musicday\ start = 1030 Тот файл, который был без изменений кода, отрабатывает на ура. musicd~1 выдает ошибку 0DDD:00C9 musicdn если просто нажать Enter - тоже отрабатывает. Если нажать 1 - ошибка 0DDD:0103 Возможно проблема кроется именно именно в имени ini-файла. Скорее всего где-то в коде отец привязал его к имени папки или рубрики. Давайте попробуем поменять в коде не имя ini-файла, а путь к нему. Например так:
А вообще самый прекрасный вариант был бы, если бы модуль работал только с одним ini. Есть dir = \\main\E\Audio\musicday\ start = 1030 делает один блок Есть dir = \\main\E\Audio\musicday\ start = 1030 start = 1630 делает два блока и т.д.
0
|
||||||
|
|
|
| 26.02.2015, 13:45 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 24.02.2015
Сообщений: 12
|
|
| 27.02.2015, 11:54 [ТС] | |
блин... вот же намудрил отец. По отдельности оба файла отрабатывают. Каждый берет данные из своего musicday.ini. Но если они работают вместе, то срабатывает только тот, который в очереди запуска стоит первым.Я сейчас полазил по коду... Проблему нашел. Правда пока не придумал, как ее обойти. Отец зачем-то ввел в код защиту от повторного монтажа... При чем глупую на мой взгляд (хотя кто знает как он себе это видел). При монтаже блока информация об использованных файлах записывается в event.log. В коде этот лог встречается 3 раза в строках 31, 77 и 102. Этот файл каждый день очищается. При запуске модуля он сканирует лог на наличие в нем уже использованных сегодня файлов. Если находит - больше их не использует. Я проверил. Если удалить из лога в ручном режиме использованные файлы - при повторном монтаже он их смонтирует заново... Смысл защиты я интуитивно улавливаю. Обычные плейлисты с музыкой, если по какой-то причине прошло время их выхода и подошел следующий, просто удаляются. Плейлисты рубрик остаются висеть в задании, пока не исполнятся и только потом удаляются. То есть допустим рубрика на 10-30 прошла и плейлисты удалились. Подходит время проверки новых заданий и программа монтирует новые плейлисты на 10-30. И они опять идут в эфир. То есть просто убрать функцию проверки event.log нельзя. Пока что я вижу только один вариант обхода этой проблемы. Изменение кода для возможности считывать из ini 2 времени. Есть еще вариант. Не менять основной код, а добавить в конце функцию копирования с переименовкой... Добавлено через 7 минут Вижу я себе это так. Создается musicday1.ini. В нем прописывается одна строка с нужным временем... Хотя тут тоже геморрой. Долго описывать... Надо обдумать. Добавлено через 20 минут Проблема с простой переименовкой состоит в том, что время, указанное в ini-файле используется только для именовки первого плейлиста в рубрике. Остальные высчитывает в зависимости от продолжительности предыдущего файла. Пример: Лежит в папке на сегодня 3 файла 1.mp3 17:00 2.mp3 16:00 3.mp3 08:00 При указанном в ini-файле времени старта 10:30 она смонтирует 3 плейлиста: 1030 1.m3u 1047 2.m3u 1103 3.m3u Если в musicday1.ini будет прописано 1600, то оно должно грамотно переименовать 1600 1.m3u 1617 2.m3u 1633 3.m3u Вторая проблема в определении файлов, которым необходима переименовка. В папке, куда закидываются готовые файлы рубрики, кроме них лежит около 200 других сформированных плейлистов на день (другие рубрики, музыка и т.д.). Как назначить, какие именно файлы нуждаются в копировании и переименовке? Добавлено через 1 час 19 минут Pro_grammer, У меня пока нет возможности отправлять ЛС. Видимо завтра появится. Так что пишу пока здесь. На счет вашего предложения - не получится. Очень уж одно на другое завязано. У меня есть другая идея. Все вот эти тесты я отрабатываю на машине-клоне. Я могу вам предоставить к ней доступ через TeamViewer. Вот тогда вы действительно сможете увидеть всю эту картину целиком. Добавлено через 17 часов 30 минут По большому счету тему можно закрывать. Изначально поставленная задача решена. Побочная проблема к теме не относится. Всем спасибо за участие.
0
|
|
| 27.02.2015, 11:54 | |
|
Помогаю со студенческими работами здесь
19
Ошибка в компиляции файла Cython Ошибка при компиляции файла Ошибка при компиляции файла Ошибка при компиляции exe файла Ошибка компиляции ввода-вывод файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|