Не хватает документации? кому над, смотрите



  • Всем привет, столкнулся с проблемой, с нехваткой документации по басу, а вернее ее полном отсутствии(увидел только вики по типичным примерам).

    Что я хочу?

    1. список всех функций, аля rand() и др(хз де смотреть список)
    2. хоть какую то инструкцию по работе с ресурсом баз данных(какой тип базы, как подключать и использовать)
    3. список внутренних функций и переменных в Expression, четко знать scope для каждой переменной и функции


  • +1



  • @UlybnisJe Базы данных пока не реализованы.
    По остальным вопросам можете смотреть любой учебник по javascript так как все, что используется в expression является чистым javascript за исключением того, что в код можно вставлять ресурсы и переменные.



  • @UlybnisJe по поводу scope все переменные можно использовать в данном потоке, все глобальные переменные на протяжении всей работы скрипта.



  • @support пфф, console.log не пашет, как дебажить написанный код в пользовательских функциях? Я хочу хотя бы вывести в лог обьект window и посмотреть что да как, консоль не пашет видать из за того что стандартной консоли(что в стандартных браузерах) тут нет, есть ли какие способы что бы дебажить?



  • @UlybnisJe Конечно. Действие Лог предназначено для этого.



  • @support и как его вызывать из пользовательской функции? где написано все на чистом js'e?



  • @UlybnisJe Объект window тоже нет доступен.



  • @support кароче буду самостоятельно вытаскивать документацию из баса, первый прогресс уже есть

    0_1476374465090_3333Untitled picture.png



  • @support все что я "добыл", это вся документация? т.е все свойства и методы? или есть еще какие то?

    Заходите на сайт http://www.jsoneditoronline.org/

    И вставляете весь список методов

    ["Math","NaN","undefined","Infinity","JSON","Object","Function","Array","Boolean","String","Number","Date","RegExp","Error","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","eval","parseInt","parseFloat","isNaN","isFinite","escape","unescape","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","print","gc","version","Helper","CsvHelper","HtmlParser","Browser","ScriptWorker","Results1","Results2","Results3","Results4","Results5","Results6","Results7","Results8","Results9","Logger","FactorySolver","EngineRes","ResourceHandlers","Properties","_K","MemoryInfo","ThreadNumber","ResourceLoader","_template","tr","_L","Cycle","Cycles","_next","_next_or_section","_kill_call_stack","_break","_iterator","_arguments","_do","_repeat","_if","_if_else","_call","_result","_set_result","_return","_set_label","_rewind","VAR_CYCLE_INDEX","VAR_FOREACH_DATA","LINK_REGEXP","VAR_FOR_EACH_CSS","VAR_FOR_EACH_MATCH","IF_ELSE_EXPRESSION","CYCLES","memory_virtual_total","memory_virtual_available","memory_physical_total","memory_physical_available","html_parser_xpath_parse","html_parser_xpath_xml","html_parser_xpath_count","html_parser_xpath_exist","html_parser_xpath_text","html_parser_xpath_xml_list","html_parser_xpath_text_list","rss_item_parse","_get_function_body","rand","proxy_parse","proxy_pack","parse_json","md5","base64_encode","base64_decode","file_read","file_read_base64","file_write","file_write_base64","file_append","file_append_base64","directory_of","directory_create","filename_of","combine_path","encode_string","image_get_dimension","image_central_crop","oauth1_header","csv_parse","csv_generate","date_format","date_format_now","db_date_now","translit","_stop_subscript_execution","fail","die","success","debug_variables","_ensure_http_client","on_http_client_loaded","new_http_client","http_client_set_fail_on_error","http_client_was_error","http_client_error_string","http_client_get","http_client_get2","http_client_download","http_client_solve","http_client_post","http_client_get_no_redirect","http_client_get_no_redirect2","http_client_post_no_redirect","http_client_url","http_client_content","http_client_content_base64","http_client_header","http_client_status","http_client_set_header","http_client_clear_header","http_client_proxy","http_client_set_proxy","http_client_get_cookies","http_client_save_cookies","http_client_restore_cookies","http_client_xpath_parse","http_client_xpath_xml","http_client_xpath_text","http_client_xpath_xml_list","http_client_xpath_text_list","http_client_xpath_count","http_client_xpath_exist","_ensure_pop3_client","new_pop3_client","pop3_client_set_config","pop3_client_proxy","pop3_client_was_error","pop3_client_error_string","pop3_client_set_proxy","pop3_client_pull_messages_length","pop3_client_pull_message","pop3_client_messages_length","pop3_client_body","pop3_client_subject","pop3_client_sender","_ensure_imap_client","new_imap_client","imap_client_set_config","imap_client_set_proxy","imap_client_proxy","imap_client_was_error","imap_client_error_string","imap_client_pull_messages_length","imap_client_messages_length","imap_client_search","imap_client_custom_search","imap_client_search_result","imap_client_pull_message","imap_client_message","imap_custom_query","imap_custom_query_result","imap_custom_query_log","wait_url","wait_load","wait_memory","wait_content","wait_css","wait_async_load","wait","BROWSERAUTOMATIONSTUDIO_WAIT_TIMEOUT","BROWSERAUTOMATIONSTUDIO_FULL_LOAD_TIMEOUT","RS","R","RSafe","Refuse","RIsRefused","Reload","RInsert","RSync","RCreate","RTake","RSuccessAll","RFailAll","RDieAll","RInfo","RPick","RPickRandom","RMap","_R","_RKEY","P","PSet","PClear","sms_reg","sms_reg_set_transaction","sms_reg_get_number","sms_reg_solve","sms_reg_revise","sms_reg_success","sms_reg_failed","sms_reg_used","_ensure_browser_created","_simulate_crush","new_browser","_mbr","_mar","browser","mouse","mouse_up","mouse_down","timezone","geolocation","popupclose","popupselect","render","scroll","move","wait_code","section_end","load","load_instant","open_file_dialog","prompt_result","http_auth_result","screenshot","url","get_cookies","resize","reset","jquery","optimize","save_cookies","restore_cookies","page","log","log_html","log_success","log_fail","ResultResolve","result","result_html","result_file","css","frame","position","match","match_all","all","thread_number","sleep","script","onloadjavascript","agent","antigate","rucaptcha","twocaptcha","capmonster","solver_property","dbc","solve","solve_base64","solver_failed","progress","progress_value","progress_maximum","suspend","on_fail","clear_on_fail","on_success","clear_on_success","_on_fail","_on_fail_exceed","_on_success_exceed","_finnaly","_clear_on_fail","_on_success","_clear_on_success","_set_max_fail","_set_max_success","DEC","db_add_record","_on_start","native","native_async","general_timeout","async_load_timeout","solver_timeout","_preprocess","VAR_WAS_ERROR","VAR_LAST_ERROR","_get_network_access_manager","header","clear_header","proxy","set_proxy","cache_allow","cache_deny","request_allow","request_deny","cache_get_base64","cache_get_string","cache_get_status","cache_clear","cache_data_clear","cache_masks_clear","is_load","get_load_stats","section_start","section_insert","NumbersParseRecaptcha2","NetworkAccessManager"]



  • @UlybnisJe Более менее все что есть в global scope.
    Но основной частью лучше пользоваться через действия.
    Другие - это части javascript.

    А зачем Вам это?



  • @support как же это зачем? функционала не хватает без понимания структуры приложения. Например сделал пользовательский код на генерацию js класса. И что бы работать с ним нормально, необходимо вызывать из кода "стандартные" плюшки баса. А эти стандартные делаются только на следующем шаге, и сложных вещей не сделать.

    Кстати, будет ли возможность создания собственных js плагинов(виджетов) для разработчиков? Я смотрю тут даже jquery вы используете и если разрабы подтянутся можно будет сделать из БАСа монстра, конкурирующего с зенкой



  • @UlybnisJe

    необходимо вызывать из кода "стандартные" плюшки баса

    Ясно. Как вариант можете вызывать стандартные функции, созданные в БАС с помощью такого кода

    _call(НАЗВАНИЕ_ФУНКЦИИ, null, callback)

    Кстати, будет ли возможность создания собственных js плагинов(виджетов) для разработчиков?

    БАС позволяет создавать модули с использованием js и с++
    Модули имеют возможность добавлять свои действия, внедрять свой код в браузер, в джавастриптовый движок БАС, автоматически превращать сишный код в многопоточный, вызывать с++ из js и т. д. Все это без пересборки БАС

    Вот примеры модулей

    https://github.com/bablosoft/BAS/tree/master/Modules



  • @support или например как в Expression сделать новую переменную?

    Теперь я знаю, что нужно просто написать:
    this.VAR_ИМЯ_ПЕРЕМЕННОЙ
    или просто
    VAR_TEST123 = 'test123'

    Очень полезно, знать документацию к проекту(хоть какую)



  • @UlybnisJe

    Создать переменную еще можно так

    [[VAR]] = "123"



  • @support думаю, мы понимаем, что документация все же должна появиться на свет?) Хоть в каком то виде



  • @UlybnisJe Та да(



  • @support said in Не хватает документации(кому над, смотрите):

    БАС позволяет создавать модули с использованием js и с++
    Модули имеют возможность добавлять свои действия, внедрять свой код в браузер, в джавастриптовый движок БАС, автоматически превращать сишный код в многопоточный, вызывать с++ из js и т. д. Все это без пересборки БАС

    Афигеть, я думал что для этого надо только c++ и компиляция. Спасибо большое, опробовал, работает!
    0_1476380468671_555Untitled picture.png



  • @UlybnisJe Вот некоторое подобие документации для внутреннего апи

    0_1476381369578_InternalApi.pdf

    Немного устаревшее, но тем не менее



  • здесь полный список ?
    https://github.com/bablosoft/BAS/blob/master/Engine/text/apilist.txt
    где найти актуальную документацию ?


Log in to reply