PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » SpiderBasic » Cобрать IDE SpiderBasic из исходников


Cобрать IDE SpiderBasic из исходников

Сообщений 1 страница 8 из 8

1

Изначально хотел задать этот вопрос, но решил сначала попробовать, итак
Сделал поиск строки "SpiderBasic" по всем файлам, всем заправляет константа #SpiderBasic, но единственное место присвоения в файле CompilerFlags.pb

Код:
CompilerIf Not Defined(SpiderBasic, #PB_Constant)
  #SpiderBasic = 0
CompilerEndIf

При чём судя по коду, здесь проверяется определена ли константа и если нет, то определена как 0, значит есть место где эта константа получает определение например проект или батник (*.bat/*cmd-файл). В проекте не нашёл ни в опциях проекта, ни ещё где либо, а в батнике есть текст "If the target directory is a SpiderBasic installation ....." и далее условие

Код:
    IF EXIST %PUREBASIC_HOME%\Compilers\sbcompiler.exe (
        GOTO configure_spiderbasic

где метка configure_spiderbasic определяет переменную PB_JAVASCRIPT=1

Код:
:configure_spiderbasic

SET PB_JAVASCRIPT=1

В файле tools\makeversion.pb есть проверка переменной PB_JAVASCRIPT

Код:
  If GetEnvironmentVariable("PB_JAVASCRIPT") = "1" ; SpiderBasic build
    ProductName$ = "SpiderBasic"
    Home$ = GetEnvironmentVariable("SPIDERBASIC_HOME")
    Compiler$ = "sbcompiler.exe"

Вот наверно здесь надо заменить условие на "If 1" но я не увидел тут определение константы #SpiderBasic, поэтому я вначале сказанного определения"#SpiderBasic = 0" просто заменил константу на 1 и собрал. То есть открыл исходник PureBasic.pb и скомпилировал в ASM с безопасный поток, с версией 6.20.

А вопрос возник он потому, что много было добавлено - подсветка имён функций на панели списка функций, чёрные вкладки (мной).
Дополнительно импортировал ресурсы, экспортированные из оригинала, а это иконки, информация о версии.

Скомпилировал проект на новом IDE, всё прошло успешно, ведь сам IDE только передаёт данные компилятору, а сам IDE не участвует в компиляции, поэтому скорее всего проблем с несовместимостью версий компилятора и IDE не возникнет.

Вот думаю сделать отдельную папку исходников для SpiderBasic и сделать перевод текстов окна, хотя бы частичный, заменив тексты в Language.pb во втором столбике. Уже перевёл (только меню) и это работает.

https://i6.imageban.ru/out/2025/06/21/d771f3d18d4725cd66b84676a4ccbd43.png

Скачать - надеюсь не нарушил лицензию, всё же исходники IDE открыты, но SpiderBasic компилирую первый раз.

Отредактировано AZJIO (21.06.2025 11:08:14)

0

2

AZJIO написал(а):

Сделал поиск строки "SpiderBasic" по всем файлам, всем заправляет константа #SpiderBasic, но единственное место присвоения в файле CompilerFlags.pb

Нет, не единственное. Откройте файл PureBasicIDE\PureBasicIDE.pbp. После откройте окно настроек компилятора и перейдите на вкладку "Константы".

0

3

Пётр
ОК, посмотрю.

Обновлено
1. Переведено на 99%. Из 1551 строк перевода осталось пару десятков строк.
2. Сделал обе версии x64 и x86 в C-Backend.

На версию на скрине смотреть не надо, это определяет используемый компилятор, а версия самого IDE из последних версий исходников. То есть когда я компилирую приложение, то размер окна прогресса, который раньше был мизерный, теперь он больше, как в новой версии.

Последние косяки перевода:
1. Кнопка "Создать apk" вместо "Создать приложение", вроде компактно, но на айфоне расширение файла другое.
2. В настройках компилятора - "Тема для Windows", на самом деле "Тема для окна", так как в контексте используется не название ОС, а стиль окна.
3. Заметил, что перевод иногда отличается от оригинала взятого из "Catalogs\Russian", например мессага обновлений, в англ-тексте - перейти в аккаунт для скачивания, а у нас - посетить форум для скачивания, и так во многих местах, вроде не критично и по итогу почти тот же смысл.

Непонятно, почему не подхватывается перевод из папки "Catalogs\Russian"? Может там чуть-чуть не докрутили? По сути то какая разница PureBasic или SpiderBasic, функционал тот же самый и теоретически должно работать.

Отредактировано AZJIO (22.06.2025 12:38:10)

0

4

Как перевести фразу "Keep app directory" (Удерживать каталог приложения). Не пойму эту опцию в "Создать приложение".

Обновлено
Встроен новый перевод
Перевод 100%

1. Перевод окна "Найти/Заменить" сделал в своём стиле.
2. Исправил выше описанные ошибки.
3. Использовал новый перевод, где исправлены опечатки, удалены лишние пробелы и прочие правки.

Исходники (изменяемые части) как обычно в комплекте.

Добавил в комплект батник для автоматической встройки ресурсов

Код:
@echo off
"C:\Program Files (x86)\Resource Hacker\ResourceHacker.exe" -open "C:\purebasic-devel\SpiderBasic.exe" -save "C:\purebasic-devel\SpiderBasic.exe" -action addskip -res "C:\purebasic-devel\SpiderBasic.res"
 :: @pause

Ещё правки "iOS" заменил на "Айфон" - так всем понятней.

Отредактировано AZJIO (25.06.2025 06:11:09)

0

5

AZJIO написал(а):

Как перевести фразу "Keep app directory"

Нужно смотреть на контекст. Вероятнее всего "Сохранить каталог приложения". Или "Запомнить каталог приложения".

0

6

И тут разочарование, компилировать то компилирует в apk, а вот тест по F5 в браузере захлебнулся. А без него весь смысл потерялся. Есть надежда попробовать старые исходники, минимальная папка "purebasic-devel" у меня от 12.2022, а первая запись 3.00 на форуме SpiderBasic в 2024 году. И тут я понял как важно иметь папки "purebasic-devel" за разные периоды.
Ещё нюанс, компиляция сыпет в отладчике вперемешку русские и англ. тексты, думаю можно найти их в отладчике "purebasic-devel\PureBasicDebugger", по крайней мере константа #SpiderBasic там найдена.

Посмотрел по дате, в декабре 2022 действующая версия была 6.00, с ней скомпилировался, а с 5.73 или 6.04 или с 6.20 даёт ошибки, то константы не объявлены, то уже объявлены. Ну в итоге результат SpiderBasic.exe пишет, что не может подключить Scintilla.dll, дословно:

Cannot initialize Scintilla engine! Make sure the 'Scintilla.dll' is placed in the 'Compilers' subdirectory of your SpiderBasic setup.

Естественно она там есть.

Вау, получилось !!! Я проверил размер оригинальный 372, а в 6.00 dll-ка уже 479. Подсовываю 479, и ура, по F5 в браузере работает.

Та же ссылка, добавил в архив правильные версии.

Ещё бы 'Multicolored Procedure List' встроить. Они для версии 6.12, так что простым сравнением не отделаться, но во всех строках есть пометка автора PeDre, так что возможно получится.

Отредактировано AZJIO (27.06.2025 20:25:36)

0

7

AZJIO написал(а):

Есть надежда попробовать старые исходники, минимальная папка "purebasic-devel" у меня от 12.2022, а первая запись 3.00 на форуме SpiderBasic в 2024 году.

На гите есть версии SB 2.40 - 3.10 и PB начиная с версии 6.00. Выбирается в списке слева где текст "devel".

0

8

Пётр написал(а):

На гите есть версии SB 2.40 - 3.10 и PB начиная с версии 6.00. Выбирается в списке слева где текст "devel".

Нашёл, вот скриншот, кто хочет быстро найти в проекте PureBasic

Записал видео с демонстрацией переведённых окон.

Я хотел найти англ. строки отладки, чтобы сделать для них перевод, так вот они не найдены в проекте совсем и подозреваю что их генерирует Cordova или Java.

Отредактировано AZJIO (Вчера 09:10:40)

0


Вы здесь » PureBasic - форум » SpiderBasic » Cобрать IDE SpiderBasic из исходников