|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
Изучение PureBasic с точки зрения новичка23.02.2023, 19:22. Показов 13951. Ответов 124
Метки нет (Все метки)
Здесь буду задавать вопросы, которые, на мой взгляд, не заслуживают создания отдельной ветки. Ну просто чтобы не плодить кучу тем, не слишком полезных для подавляющего большинства.
Сейчас приступил к изучению "PureBasic - A Beginners Guide" в переводе Станислава Будинова. К сожалению, это книга эпохи версии 4.00.Там довольно подробно рассматриваются функции, содержащиеся в библиотеке OnError Library, а именно: GetErrorNumber(), GetErrorDescription(), GetErrorLineNR() и GetErrorModuleName(). Правильно ли я понимаю, что это уже полный анахронизм, и сейчас всю отладку рекомендуется производить в самом отладчике, поскольку он теперь (на современных компьютерах) стал очень быстрым, и нужда в этих функциях уже полностью отпала? И кроме того, функция CreateGadgetList() тоже уже устарела, потому что список добавляемых на форму гаджетов создаётся теперь автоматически подобно коллекции Controls в VB? P.S. Сначала собирался озаглавить эту ветку вот так: "Вопросы новичка, приступившего к изучению PureBasic", но движок форума по какой-то причине цензурирует слово "вопросы". Пришлось как-нибудь перефразировать, чтобы обойтись без этого слова. Получилось не так хорошо, как было задумано, но всё-таки относительно близко к первоначальному варианту.
0
|
|
| 23.02.2023, 19:22 | |
|
Ответы с готовыми решениями:
124
Чего не хватает учебнику языкси.рф с точки зрения новичка? Если два метода выполняют одно и то же - с точки зрения программы, но разное - с точки зрения логики? о "старичках" с точки зрения "новичка" |
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 03.03.2023, 16:37 [ТС] | |||
![]() Ну разве что только в ZX-Spectrum бейсике такая возможность отсутствовала
0
|
|||
|
12 / 12 / 0
Регистрация: 02.07.2014
Сообщений: 114
|
|
| 03.03.2023, 16:42 | |
|
Вы меня не поняли. Вы выбрали инструмент в основе которого кроссплатформенность и это его главное преимущество перед другими, а удобство его меряете своими представлениями "only windows"
Именно поэтому в вашем исполнении "костыль" звучит в пренебрежительном смысле.
0
|
|
| 03.03.2023, 16:50 | |
|
Power_Basic
Если полностью ориентироваться на Windows, то можно посмотреть ещё на AutoIt3. Там большинство WinAPI просто уже разработаны как готовые функции, не надо их заставлять работать гугля флаги, там под каждой например из 150 функций ListView есть уже готовый пример. Отсутствуют типы, данные сами преобразуются в нужный тип, который требует функция. Под каждую тему автоматизации есть готовые функции с кучей флагов, больше чем воображение. При открытии файлов автоматически определяется кодировка, например FileRead() читает файл в переменную одним вызовом, без необходимости открывать дескриптор, закрывать, читать флаги BOM, строить выбор от флага или при отсутствии флага. У меня был свой путь перехода к PureBasic и до сих пор если мне надо быстро сварганить обработку файлов, мне легче делать на AutoIt3. Чтобы на PureBasic для меня было также легко, мне надо все функции AutoIt3 написать на PureBasic, сделать библиотеку pbi, подключить её как инклуд. Но, к примеру если у меня получилась функция одна из 300, к примеру WinGetHandle, то если посмотреть её в AutoIt3, у неё в 2 раза мощней функционал, она позволяет задать получение дескриптора по регулярному выражению для заголовка, по размерам окна и некоторым другим критериям и одновременным суммированием этих свойств.
0
|
|
|
12 / 12 / 0
Регистрация: 02.07.2014
Сообщений: 114
|
|
| 03.03.2023, 16:54 | |
|
Если вы захотите что то предложить по устранению костыльности, то добро пожаловать, но при этом вы предложите автору решение которое соберётся и будет работать как минимум похоже в mac(cocoa-gui),win(winapi-gui),lin(gtk2-gui,gtk3-gui,qt5-gui) из одного исходника. Да ещё и на разных архитектурах.
0
|
|
|
|
|||
| 03.03.2023, 17:00 | |||
|
Тип variant нужен не часто, а его повсеместное использование не самая лучшая идея. ![]()
1
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||
| 03.03.2023, 17:31 [ТС] | ||||||
![]() ![]() Мой главный ЯП это PowerBasic, и мне его с лихвой хватает для удовлетворения подавляющего большинства моих потребностей. К сожалению, это уже "мёртвый" язык, прекративший своё развитие 11 лет назад в связи с кончиной его главного разработчика Боба Зейла. Там уже никогда не будет х64. Вот именно для редчайших случаев, когда мне потребуется именно х64, мне и нужен какой-нибудь дополнительный язык. Я попробовал FreeBasic, не понравилось. Слишком сложно для любителя, программирующего что-нибудь один раз в 2 года ![]() Ну и пусть этим резервным языком (с возможностью писать программы для х64) будет PureBasic, почему нет? Здесь на форуме имеется прекрасный Учитель, настоящий эксперт в этом диалекте уважаемый locm, который уже несколько лет помогает мне разбираться с WinApi. Ну а второй мой Учитель по WinApi это, несомненно, The trick. Но это уже взгляд со стороны Визуального бейсика. Так что у меня здесь идеальные условия для изучения. Ну а вы мне уже вторую неделю сватаете AutoIt3. Ну не хочу я туда "переселяться". Не в обиду вам это говорю. Как там у классика говорится, я другому отдана и буду век ему верна ![]() Добавлено через 5 минут Добавлено через 3 минуты
0
|
||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||
| 03.03.2023, 19:08 [ТС] | |||||||
|
Ура! Моя первая законченная полноценная программа на PureBasic готова!
Тестер регулярных выражений Любые критические замечания и рацпредложения по оптимизации программы всячески приветствуются. В дальнейшем планирую добавить возможность выбирать различные комбинации флагов для поиска:
Кстати, как сделать так, чтобы программа запускалась в полноэкранном режиме на любом разрешении экрана, и при этом все гаджеты сохраняли свои пропорции?
0
|
|||||||
| 04.03.2023, 00:17 | |||
|
Когда отвечаешь не воспринимай это как лично для тебя, мне бывает интересно высказаться как отчёт сравнения двух языков. На форуме AutoIt3 я пишу такой же отчёт о PureBasic, чтобы люди не знающие его осознавали что их ждёт в другом языке.
0
|
|||
|
|
|||
| 04.03.2023, 01:15 | |||
|
После появления модулей, код публикуется в виде исходников. В основном на официальном форуме.
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 04.03.2023, 13:02 [ТС] | |||
![]() Кроме того, почитал информацию по AutoIt3 в интернете, посмотрел несколько видео, посвящённых ему на ютубе. Ну да, выглядит очень привлекательно особенно для автоматизации рутинных задач в Windows. Очень интересны возможности, реализуемые с помощью утилиты Au3Info. Ну да, скачаю, установлю, попробую. Тем более, что это, как я понял, абсолютно бесплатный софт.
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||
| 04.03.2023, 19:31 [ТС] | ||||||
|
Ну вот, добавил возможность играть флагами:
И ещё потом макросы планирую применить для "однородных" фрагментов кода. Они на них как-будто сами напрашиваются
0
|
||||||
| 05.03.2023, 00:02 | ||
|
Может вам это (RegExp) посмотреть? Или более надёжный в некоторых случаях его AutoIt3 версию...
1
|
||
| 05.03.2023, 00:38 | |
|
0
|
|
| 05.03.2023, 01:26 | ||
|
Открыл я предложенный вами выше сайт и скачал несколько комплектов autoitx3, Droopy, PureFILE, COMatePLUS. Поюзал первое впечатление, не так как если нашёл жемчужину, набор каких повторяющихся ненужных неоптимизированных функций. autoitx3 из комплекта AutoIt3, давненько я смотрел, можно ли использовать в своих задачах, ну во первых если мы грузим её (dll) в память, то проще тогда писать на AutoIt3, и там вырезано много интересного и на Linux это не работает, плюсов особо нет. PureFILE повторяет функции PureBasic, Droopy либо повторяет функции PureBasic, либо набор WinAPI, которых и так полно как примеров, либо аналог функций реестра от ts-soft написанный получше. COMatePLUS работа с объектами там изучать и изучать, в AutoIt3 получил объект и используешь методы, там примеры готовые есть, целые разделы фунrций IE, Excel, Word , а на форумах можно найти примеры с проводником и т.д.
0
|
||
| 05.03.2023, 01:43 | |||||
|
Не по теме:
Функции конечно есть, но писать скрипты сложно. Нет ни типов данных, не говоря про такую элементарную вещь как структуры. Допустить ошибку очень легко, а найти ее проблематично. В AutoIt нет инструментов по тестировании и отладке приложений. Пока скрипт небольшой, это не сильно мешает, но когда размер кода составляет тысячи и десятки тысяч строк, отсутствие нормальной IDE и инструментов для отладки и тестирования, заставляет тратить гораздо больше времени чем если код был на упомянутых C++ и C#, для которых как с IDE так и инструментами полный порядок. Например мне нужно работать с железом и WinAPI. В этом плане у PB преимущество перед AutoIt. Как минимум проще работать с WinAPI функциями и структурами. Проще отлаживать приложения.
0
|
|||||
| 05.03.2023, 02:43 | ||||
|
Как пример возьмём тестер регулярных выражений обсуждаемый здесь выше на пару постов, движок регвыр выполнит вычисление с одинаковой скоростью на обоих языках. реакция на кнопку мгновенна. Вывод тот что я выше и сказал.
1
|
||||
|
|
||||
| 05.03.2023, 15:21 | ||||
|
Некоторые из моих приложений грузят все ядра процессора на 100% и все равно кажется что программа выполняется медленно. Есть вот такой синтетический тест PI.zip Даже предположить не могу насколько дольше он будет выполнятся на AutoIt. Меньшая скорость выполнения при той же загруженности процессора, это не только большее время ожидания, но и больший нагрев компа (в ноутах еще и меньшее время автономной работы), больше шума от вентиляторов и больше счет за электричество.
1
|
||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||
| 05.03.2023, 15:23 [ТС] | ||||||||
|
На самом деле, регулярные выражения это вообще одна из моих любимейших тем. Есть в них мощь и... какая-то магия ![]() Может быть это имеет отношение к той настройке компилятора, о которой в справочной системе говорится вот так:
![]()
0
|
||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||
| 05.03.2023, 20:06 [ТС] | ||||||
|
4G это объём встроенного SSD, который уже невозможно увеличить. ОЗУ: изначально было 512 МБ, расширил до 2 гигов. Процессор: 900 МГц Intel Celeron_M ULV 353[6], работающий на частоте 630 МГц. То есть производитель намеренно урезал частоту процессора, чтобы нетбук не перегревался и для экономии ресурса батареи. С помощью сторонней утилиты я его "разгоняю" до штатной частоты, то есть до 900 МГц. Заменить штатный процессор невозможно, он впаян в материнскую плату. Покупал в 2008 или в 2009 году. Изначально там была Win_XP. Сейчас чудом впихнул туда полноценную семёрку (х32). Для этого приходится использовать внешний HD с объёмом 40 ГБ, врочем, это сильно избыточно. Как сильно избыточен и нынешний объём ОЗУ (2 ГБ). А вот как раз частоты процессора сильно не хватает даже в "разогнанном" состоянии. Мало того, последнее время запускаю этот нетбук дистанционно с планшета, лёжа под одеялом ![]() Кстати, мой первый вариант тестера рег. выражений Изучение PureBasic с точки зрения новичка был частично написан именно в режиме "из-под одеяла", потому и разрешение экрана там такое скромное ![]() А программа, связывающая двух этих "друзей" по Wi-Fi жрёт процессор очень сильно. В таком режиме он всегда загружен именно на 100%. Несколько раз полностью слетала винда по причине сильных перегрузок. Но у меня всё хорошо заархивировано, переустанавливать ничего не приходится. Просто заливаю архивную копию на HD вместо бракованного варианта. Ну вот и получается, что дополнительная загрузка процессора, которую будут вызывать мои самодельные программы, для меня критична. Ну разумеется, до тех пор, пока мой старичок окончательно не помер ![]() Добавлено через 8 минут А что, уже совсем отказались от твипов? Я смотрю, все размеры в PureBasic вроде бы исключительно в пикселях. Если да, то это отлично. А то много лишних проблем и путаницы из-за них всегда было. Ну у меня, по крайней мере
0
|
||||||
| 05.03.2023, 20:06 | |
|
Помогаю со студенческими работами здесь
40
Изучение функция стандартной библиотеки для новичка С точки зрения экономики С точки зрения закона Точки зрения на фигуру C точки зрения професcионала. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|