|
|
| Результаты опроса: Нужен ли раздел для FreeBasic | |||
| Определённо нужен |
|
13 | 76.47% |
| В разделе нет необходимости |
|
3 | 17.65% |
| Другой вариант(написать в теме) |
|
1 | 5.88% |
| Голосовавшие: 17. Вы ещё не голосовали в этом опросе | |||
|
|
Рейтинг 4.54/105:
|
|
Кормпилятор
|
|
Создание раздела FreeBasic (голосование)19.10.2012, 18:45. Показов 26168. Ответов 228
Приветствую всех форумчан!
9
|
|
| 19.10.2012, 18:45 | |
|
Ответы с готовыми решениями:
228
Создание статической библиотеки в FreeBasic Создание блок-схемы FreeBasic - Basic
|
|
Модератор
|
|
| 18.03.2020, 17:44 | |
|
locm, ну вообще проще использовать штатную многопоточность "из коробки" - ActiveX EXE. Если по какой-либо причине это не подходит то тогда уже можно использовать другие обходные варианты.
Прелесть COM в том что с COM объектами можно работать прозрачно. Сами объекты могут жить в разных потоках/процессах/машинах. Работа с ними от этого не меняется.
0
|
|
|
Кормпилятор
|
||
| 18.03.2020, 17:53 [ТС] | ||
|
Вообще FB с одной стороны хорош, с другой нет. Например уже говорил про Linux-подобные библиотеки с их экономным засовыванием не всего кода, привыкнуть можно, но неприятно. Далее ассемблер, слава всем богам что он есть и что в FB коде он intel-о подобный, но мать их всех за ногу, что сам ассемблер(результирующий код) GNU... со всеми вытекающими. Там в их документации член сломаешь. Не FASM конечно... Короче надо походу брать и перехерачивать этот компиль с нуля. Отрезать кучу гавна лишнего, оставить QB базу но чтобы под винду всё работало и будет кошерно. Это конечно тянет за собой хотя бы примитивный ассемблер, а он тянет за собой линковщик. Короче до пенсии будет чем заняться.
0
|
||
|
|
||
| 18.03.2020, 18:58 | ||
|
Для Андроид планшета могу порекомендовать Basic4Android Basic для платформы Android - Basic4Android
0
|
||
|
COM‐пропагандист
|
||
| 18.03.2020, 19:03 | ||
|
В автоматизации (всё что унаследовано от IDispatch) все строки представлены в виде BSTR. Это юникодные строки. Я решил не заниматься бессмысленной, тупой, замедляющей работу программ и увеличивающей их размер работой по конвертации байтов в юникод и обратно. Все эти конвертации — это путь bloatware. Я решил раз и навсегда хранить исходники в юникоде. Чтобы компилятор считал все строки юникодными надо сохранять исходник в одной из юникодных кодировок с указанием порядка байтов BOM. Для этого подходят кодировки UTF-8 с BOM и UTF-16 Litte Endian c BOM. Метка порядка байтов, она же BOM, — это указание в какой последовательности символы текста преобразовывать в байты на диске. Когда компилятор встречает BOM, то он считает этот файл юникодным, и все строковые литералы становятся юникодными. https://ru.wikipedia.org/wiki/... сти_байтов Для FBEdit UTF-16 — это единственный известный мне способ заставить его понимать юникод, но файл всё равно придётся создавать внешним редактором, сам FBEdit делать этого не умеет. Для UTF-8 есть опция, сохранять файл в голой UTF-8 или UTF-8 вместе с BOM. Для UTF-16 практически всегда редакторы автоматически вставляют BOM и используют Little Endian, поэтому обычно при указании UTF-16 фразы «BOM» и «Little Endian» опускают. Блокнот из Windows XP может сохранять UTF-8 только вместе с BOM, а UTF-16 LE там названа загадочно «юникод»: рис. 1: выбор кодировки в блокноте Windows XP (Благодаря BOM размер пустого файла в кодировке UTF-8, созданного в блокноте WinXP, равен трём байтам, в «юникоде» — двум байтам, хотя символов текста в таком файле нет.) Блокнот из Windows 10 называет все эти кодировки своими именами, тут есть UTF-8 и UTF-16 LE: рис. 2: выбор кодировки в блокноте Windows 10 Истерическая справка. Текст представлен символами, однако хранятся символы в памяти, поэтому необходимо преобразовывать символы в байты. Для преобразования символа в байт применяли кодовую таблицы, которая ставят соответствие между графическим рисунком и определённым числом. Все считали, для этого хватит одного байта, поэтому байт = символ, а символ = байт. Где‐то в 1970‐х стало понятно, что для представления всех символов не хватает диапазона не только 0-127, но и диапазона 0-255. Тогда придумали хитрый трюк: одно и то же число могло представлять разные символы в зависимости от кодовой таблицы (кодировки). Так появились кодировки типа 866 DOS, 1251 и прочие КОИ-8. До конца 1980‐ых этот трюк работал. К 1990 накопилось столь много кодировок, что все они мешали международному общению. Собралось мировое сообщество, сказало, что отныне у нас будет одна универсальная кодировка, которая будет содержать все символы из всех языков мира, самопровозгласило себя консорциумом юникода и разработало ЮНИКОД. Теперь для представления символов число может быть в любом диапазоне, например, от 0 до 65535 или даже больше. На практике зафиксирована верхняя граница числа 1112064, но в будущем она может быть увеличена. Такие большие числа не вмещается в один байт. Теперь для представления одного символа требуется не один байт, а несколько. В 1991 году мировая гармония «байт = символ» была уничтожена, а музыка сфер перестала звучать в сердцах несогласных. Хранение в памяти чисел больше 255 можно представить несколькими способами: сначала старшие байты потом младшие (Big Endian, BE), или наоборот младшие байты, потом старшие (Little Endian, LE). Юникод пытался уйти от кодировок, но парадокс в том, что для представления юникода требуются свои юникодные кодировки: * UTF-7, но я её рассматривать не собираюсь; * UTF-8: символ = от 1 до 6 байт; * UTF-16: символ = 2 байта; * UTF-16 с суррогатными парами (UCS-2): символ равен 2 или 4 байтам, в ядре Windows применяется именно это представление юникода; * UTF-32: символ = 4 байтам, в жизни практически не встречается; * UTF-32 с суррогатными парами (UCS-4): символ = 4 или 8 байт, теоретически возможна, но в жизни не встречается. Байты в UTF-16 и UTF-32 могут быть записаны от старшего к младшему (получаем Big Endian) или от младшего к старшему (получаем Little Endian).
0
|
||
|
|
|||||||
| 18.03.2020, 19:55 | |||||||
|
Компилируется, но не говорит. Если заменить кракозяблы на нормальный английский текст, то говорит. Тот что SapiVoice.UTF-16 LE выглядит правильно в редакторе, компилируется. Но чтобы заговорил надо вставить английскую фразу, по-русски не понимает, а выбора движка нет у тебя.
0
|
|||||||
|
COM‐пропагандист
|
|
| 18.03.2020, 20:00 | |
|
0
|
|
|
|
|
| 18.03.2020, 21:19 | |
|
0
|
|
|
COM‐пропагандист
|
|
| 18.03.2020, 22:46 | |
|
FBEdit может читать уже готовые файлы в UTF-16, но сам создавать такие файлы не умеет. Пичалька.
0
|
|
| 18.03.2020, 23:01 | |
|
0
|
|
|
COM‐пропагандист
|
|
| 18.03.2020, 23:27 | |
|
0
|
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||||||
| 19.03.2020, 01:10 | ||||||||||||
WinAPI и COM только в случае крайней необходимости, когда уже деваться некуда.Ну да впрочем вот прямо сейчас мне эта кроссплатформенность вовсе не нужна. Её я рассматриваю исключительно как дополнительный бонус с прицелом на очень далёкое будущее. Ну вот и будет "шарманка" для моих интернет-программ, но впрочем он уже и сейчас неплохо справляется с этой ролью. Но если программы будут "потяжелее", тогда переход на линукс может оказаться единственным выходом из положения.![]() Не надо ожидать слишком многого от продвинутой домохозяйки ![]() ![]() ![]() Сейчас у меня 8 гигов оперативки, со временем планирую подкупить до 64. Сейчас не обидно, а вот когда из имеющихся 64 можно будет использовать только 3, тогда это, знаю наперёд, будет очень обидно. Разумеется, можно выходить из положения, используя что-то вроде страниц. Но это же опять получается что-то вроде сегментации памяти в MS-DOS'е, ну каменный век какой-то ![]() ![]() Я эту прогу (или, наверно, точнее будет сказать, среду разработки) впервые обнаружил на сайте 4pda в 2016-ом году. Замучался её устанавливать. Она же платная. Установишь, сначала вроде бы всё в порядке, а потом через пару часов она начинает бастовать. Но потом один форумчанин поделился со мной уже точно работающей версией (5.50+full). Это была далеко уже не самая свежая версия на тот момент, но зато работала безотказно. Но в конечном итоге я написал тогда всего лишь одну простую пробную программу, а потом снова полностью переключился на винду. Ну просто не было идей для андроида. Там же плей-маркет, бесплатные программы на любой вкус и под любую задачу. А чтобы написать свой "серьёзный" софт это же надо серьёзно вникать во все тонкости. Вы-то хоть тогда были увлечены идеей написать свой Блокнот, а у меня как-то и идей на тот момент для Андроида не нашлось, ну вот и забросил. Спасибо, что напомнили. Кстати, она теперь бесплатной стала, оказывается. Так что все желающие скачивайте, не пожалеете! https://www.b4x.com/
0
|
||||||||||||
|
|
||||
| 19.03.2020, 01:43 | ||||
|
1
|
||||
|
Кормпилятор
|
|||||||
| 19.03.2020, 05:07 [ТС] | |||||||
|
написанную изначально ось они всей шайкой договорились с вендорами и решили срубить бабла. Маркетологи их конечно поддержали. А линуксы - да, та ещё параша неповоротливая да и не френдли(friendly fire ). Тенденции настигли линукс, когда в самой популярной убунтезафигарили вот эту менюшку слева. Это был эпичнейший провал. Последние linux-ы которые я ставил в прошлом году(mint lxde) вызвали у меня чувство глубочайшего стыда за разработчиков, потому что на двух виртуалках оболочка не смогла себя отобразить со старта. слегка больше 100 - у бюджетных). Скорость доступа к памяти - десятки гигабайт в секунду. При каком-либо редактировании или обработке - это более юзабельно. Есть мысли, что небольшие файлы в 100-200 Мб можно и в памяти держать, не дёргая диск. Скидывание на диск хорошо тем, что при вырубании электроэнергии - данные останутся. Ну и если пользователь знает что ему надо единоразово записать - тогда тут вопросов вообще нет. расфуфыренных "типа прогеров" вполне себе раскатает. Можно и в ЛС, я так чисто по братски интересуюсь, не в том формате в котором обычно это вынужден делать( ).из него сваяли инструмент для программиста, да ещё и для типа "любого" программиста, когда нужен просто блокнот без лишнего гавна. Вообще если негласно - все исходники обычно распространяют в ASCII, в не расширенном. Когда для работы исходника требуется, чтобы исходник был в какой-либо кодировке - это уже нонсенс. Грамотный код сам преобразует всё в необходимый формат, либо через системные функции, либо через самописные. Более того, меня напрягает и FBEdit о чём не раз упоминал. И когда идёт речь о FB то имхо - нет каких-то конкретных стандартов пока. Потому что в нормальных диалектах к компилятору идёт и IDE и всё притёрто строго к одной кодировке. FB же оставили на откуп программистам. Каждый вертится как может. Просто если ты хочешь чтобы твои исходники не работали у 95% прогеров, то да можно выставить им требования к кодировке. Это воля каждого. И если чтобы понять работу ASCII достаточно оглядеть 1 раз таблицу, то для юникодов там запудрили всем мозги кучей каких-то преобразований и любая документация будет страниц на 5 минимум. Вон Стас тогда писал свои версии LCASE, UCASE, потом поиск в строке, он замудохался, меня спросил а я ему чё отвечу, всю жизнь на ASCII сижу, глянул документацию, просто опух от количества нюансов, алгоритм словами описал, говорю: да фиг знает. Думал на асме пропишу, а хрен там пел. Просто понимаю что оптимизировать то особо и нечего, т.е. не особо реально и будет не быстрее чем он написал используя функции си. Добавлено через 14 минут не переведут, ради тебя. Просто осознай это. То была 1251 и OEM866, KOI я не рассматривал и никогда с ней не работал. Считай две популярные кодировки под винду, а сейчас UTF-8, UTF-16, новый ещё подтянули UTF-32(на которую по-моему мировое сообщество вообще забило, отложив в долгий ящик). Да ещё и BOM-ы эти, в гробу я их видал думать ещё о последовательности бит, они совсем что-ли опупели. И по факту сейчас единственное что решает проблему - это спаривание компилятора, IDE и написание функций для взаимодействие с ОС. Если это всё есть - проблем у кодера нет. Как только чего-то такого нет - всё начинается вихлянье туда сюда, геморы и несовместимости.
1
|
|||||||
|
|
||
| 19.03.2020, 07:08 | ||
|
Мало того, что хорошая mp3 книга всегда разделена на главы, так её удобно слушать, так ещё и технический аспект, для гарантийной совместимости, обычно карту памяти форматируют в FAT32, а это ~ 4 ГБ на файл макс. И практический аспект состоит в том, что реально будет обидно, когда вся ваша работа по записи непрерывного файла пусть даже на 10 ГБ навернётся из за сбоя записи на диск или сбоя памяти. В случае с маленькими фалами вы теряете только один, а тут сразу всё. Разрезать руками текст не надо. Надо программно делить текст на главы, это же не трудно сделать, они же отличаются визуально по многим признакам. Тогда процесс будет непрерывным, а книжка удобной и совместимой с любым носителем.
1
|
||
|
COM‐пропагандист
|
||
| 19.03.2020, 09:51 | ||
|
Дело в том, что в WinAPI функции которые строки принимают, они только в одном варианте существуют: в юникодном. А неюникодные функции — это лишь оболочка над юникодными, они просто гоняют байты из неюникода и обратно в юникод, внутри себя они ничего не делают, лишь вызывают юникодную версию функций. Использовать неюникодные функции — это замедлять работу программы тупой конвертацией строк и расходовать память, то есть создавать медленное и раздутое BloatWare. Это не мой путь.
0
|
||
|
Кормпилятор
|
|||||
| 19.03.2020, 11:12 [ТС] | |||||
|
Большой вопрос где тратится больше ресурсов. Плюс когда ты обрабатываешь меньше информации, есть возможность написать более эффективные функции. Или англичанам, французам, итальянцам? Нет. Ну коли нет - этот вопрос идеально решает расширенный ASCII. Ну разумеется если тебе не нужны какие-нибудь чёрточки, загагулины и прочее фиг пойми что, чего нет на твоей клавиатуре(что это даже и напечатать не сможешь, без ворда с его "вставкой символа" или таблиц в интернете). Критичные аспекты в данном случае это всё что требует идентичности при конверсии строк, например имена файлов(из-за того что туда можно насовать всякой юникодной фигни которой попросту нет в ASCII, чем злоупотребляют "блондинко-юзеры"). Говорилке же абсолютно насрать, она говорит буквами, которые будут в любой кодировке тут перевод 100% идентичный. и отожранность вообще никак не влияет, если грамотный прогер пишет. Во-первых юникод(с переменным кол-вом байт на символ) жрёт больше памяти, чем фиксированная байтовая кодировка. Во-вторых нефиксированная байтовая кодировка требует полного "расплетания" строки в память(в отдельную между прочим), чтобы только начать работать с ней. Во-вторых ты завязываешь это всё на натив, выйдет новая винда, введут новую кодировку и всё, твои функции будут такое же BloatWare. На старых же версиях винды оно может вообще откинуться или дать крякозябрики, что частенько мы наблюдали лет 20 назад во времена 98-й, 2000-й и XP, когда то, что писалось "честно" нативно под более старые винды в итоге обсиралось, сейчас стабильность выше, т.к. всё это более менее устаканилось, но тебе по прежнему никто ничего не гарантирует. Это означает что рано или поздно может такое случиться, когда разработчкики плюнут на поддержку старых кодировок. усадит свои нежные жопы в мягкие кресла переговоров, консолидирует стандарт, напишет грамотную, качественную документацию со всеми нюансами, на понятном, человеческом языке - вот тогда я обдумаю твоё предложение. А так что ты хочешь меня пересадить на UTF? - Нет мне он неудобен, нахера мне тысячи символов, я свой чарсет нарисовал из 255, мне хорошо и удобно. Всё быстро считается, всё быстро рисуется, всё своё, зависимостей ноль. Если я захочу открыть файл со 100% гарантией - могу воспользоваться системным диалогом. Или написать соотв. утилиту, которая будет делать всю эту грязную работу. UTF-8 компилятор поддерживает нормально. Чё мне ещё надо? У меня всё работает, кому я код бы не дал, у всех будет результат на 100% идентичный. Хочешь меня пересадить на нотепад++ - так его я вообще в гробу видал, мне что нотепад, что FBEdit терплю, пока терпится. Вот в QB был редактор, адово, невероятно удобный. А эти чушковые - далеки от моих хотелок, да ещё шило на мыло менять. Нет, упаси "лоссось" от таких перемен. Добавлено через 17 минут И нет я не навязываю. Пользуйтесь чем хотите. Юникод всякий разный, FBEdit, Notepad++. Сам пользуюсь тем, чем мне удобно и не навязываю. Для вас работает - хорошо. Cвои проги буду писать со своим "уровнем совместимости", бояться мне не за что, потому что всё тестируется многократно. Это новичкам если хотите прививайте, я это всё пишу просто чтобы люди понимали суть и в частности то, что историю IT просто так не поменять, то что сделано - не выкинуть. Вон PB, зафигачили ЯП, IDE, всё ПРЕКРАСНО работает на UTF-8, я когда кодил на нём НИ РАЗУ не лез в API винды по кодировкам, вообще забыл что такое кодировки, просто решал задачи. Путь указан. А пока всё как говорил Стас "разброд и шатание". И не будет по-другому, потому что везде есть свои фишки, разная степень удобства с теми или иными вещами.
0
|
|||||
|
Модератор
|
|||||||
| 19.03.2020, 11:17 | |||||||
|
Насчет многопоточности. Чем не устраивает ActiveX EXE многопоточность которая встроенная? Второй момент это то что прежде чем писать многопоточную программу нужно правильно это уметь делать. Мой модуль можно использовать как библиотеку - разбираться как он работает изнутри - необязательно. Вы же к примеру не разбираетесь как работает тот же SAPI внутри, как происходит синтез и т.п. Тоже самое и здесь.
0
|
|||||||
|
Кормпилятор
|
|||
| 19.03.2020, 11:32 [ТС] | |||
|
И если мы почему то такие добрые, хотим угодить и америкосам и китайцам, то и тем и другим на нас плевать, причём на 100%, они пальцем ноги не шевельнут, чтобы даже на английский свои творения перевести. И вот до поры до времени, пока в дело не включились китайцы со своими 5000 иероглифами, людям вполне хватало расширенного ASCII. Ну конечно если это не полиграфия. Для элементарного GUI - редко когда нужны какие-либо нестандартные символы из этих самых таблиц юникода. Разумеется если публиковать исходник в международное пользование - то на английском. А для этого хватает и обычного, не расширенного ASCII.
0
|
|||
|
Модератор
|
|||||||||
| 19.03.2020, 11:49 | |||||||||
|
Не могу понять противников Юникода. Сейчас по-моему все системы нативно поддерживают Юникод. Так в чем проблема - бери и используй. В чем потенциальный выигрыш от устаревшей ANSI? Ну ANSI это тот же урезанный UTF-8 с кучей проблем этих кодовых страниц. Зачем они вам? Добавлено через 9 минут
1
|
|||||||||
|
Кормпилятор
|
||||||||
| 19.03.2020, 12:16 [ТС] | ||||||||
|
Например clear type - это аццки убогая фигня, от которой глаза начинают напрягаться и слезиться уже через минуту. использовать ротацию битов. Городить код на бейсике - да ну нафиг. Врубил асм, одной инструкцией ROL \ ROR фигакс - дело сделано. А там бы пришлось заводить переменную, выделять 7 бит, двигать его, потом двигать то откуда взяли его, потом соединять через OR, а обратно двигать - так там другая последовательность, опять мудрить. И ради этого открывать отдельную среду, делать модуль, потом руками его подключать - не дядь. Добавлено через 19 минут Заведи буфер, да проверь сколько под него надо, да то, да это, потом убей буфер. Бегай следи за этими указателями. про это всё, думал думу и решил что ну его нафиг. Обойдутся узкоглазые. А на большинство европейских стран легко сделать через ASCII, если появится спрос. Сначала спрос - потом уже локализация. Для наших российских ребят и так канает. Плюс на какой-нть OpenGL проще писать через ASCII свой шрифт. Большинству гуёв этого хватает позарез. А где не хватает - там уже выхода нет. Ну ещё скажу открыто мне не нравится эта тряхомудия с WString Разрабы не могут сделать STRING как STRING - а я парься по этому поводу. Да ну их нафиг. Вот как IDE напишут и заточку сделают - тогда будет им. Добавлено через 3 минуты Короче сойдёмся на том что квит уже стар для всего этого дерьма. Добавлено через 2 минуты заменяя на смайлики из отдельно загруженного чарсета. В обратную сторону тоже работает.
0
|
||||||||
| 19.03.2020, 12:16 | |
|
Создание раздела
Создание отдельного раздела Создание раздела fedora 16
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|