<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=3871716</guid>
        <pubDate>Fri, 15 Jul 2022 23:49:40 +0000</pubDate>
        <title>BCX Basic-to-C-транслятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=3871716</link>
        <description><![CDATA[Kopa: Бейсик программы в BCX (бейсик транслируется в Си и далее компилируется код уже Си компилятором доступным в системе MinGW, VS, LCC, Pelles C, ...)<br>
 сам исходник BCX написан на BCX Бейсике и транслируется в Си для сборки в целевой системе (как в Windows так и Linux и для других ОС).<br>
<br>
Погонял примеры программ пользователей в Linux под Wine сделанные за годы существования этого проекта. <br>
Основная площадка пользователей с форумом проекта <a class='tag-url' href='https://bcxbasiccoders.com/' target='_blank'>https://bcxbasiccoders.com/</a><br>
<br>
<a class='tag-url' href='https://sourceforge.net/projects/bcx-basic/' target='_blank'>https://sourceforge.net/projects/bcx-basic/</a> <a class='tag-url' href='https://sourceforge.net/projects/bcxdevsuite/' target='_blank'>https://sourceforge.net/projects/bcxdevsuite/</a><br>
IDE (EZIDE) в системе написана на BCX и собирается нормально.<br>
<br>
<br>
Интересно, что какие то программы (файл бейсика) могут работать в LCC и нет в Pelles C и могут отличаться в некоторых ньюансах (в запуске среды под Wine)<br>
и по скорости Pelles C в целом быстрее LCC, но не сильно кардинально. Алгоритм сортировки таблицы примера отработал 5 и 3, 10 мс <br>
Какие то программы для сборки брал из архива пользователей группы Yahoo вышеприведённой сайта.<br>
<br>
Pelles C Загрузить не последние версии можно по такому шаблону адреса <a class='tag-url' href='http://www.smorgasbordet.com/pellesc/1000/setup.exe' target='_blank'>http://www.smorgasbordet.com/pellesc/1000/setup.exe</a> (10.0) <br>
после 8.0 выпускаются только 64-ёх битные. (последняя версия 11.0)<br>
<br>
LCC <a class='tag-url' href='https://lcc-win32.services.net/' target='_blank'>https://lcc-win32.services.net/</a> и ещё сайт <a class='tag-url' href='https://drh.github.io/lcc/' target='_blank'>https://drh.github.io/lcc/</a><br>
<br>
<br>
<br>
P.S. Под Linux тоже есть некоторые варианты проектов на базе BCX.]]></description>
        <author>Kopa</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=2099683</guid>
        <pubDate>Sat, 25 Oct 2008 19:11:51 +0000</pubDate>
        <title>BCX Basic-to-C-транслятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=2099683</link>
        <description><![CDATA[sklimkin: Спасибо за быстрое реагирование, но там под названием:<br>Microsoft Windows CE Toolkit for Visual Basic 6.0<br>лежит пример VB-проекта Simple ADOCE (33кБ), а дальше тишина. WinCE ToolKit BV6 они отдали торговцам - продается за немалые деньги, но на сайтах MS давно отсутствует. Да и старенький он больно - 1999г.<br>Я уже пробовал eVB3 - П-код на выходе и все очень убого и кривенько, а он поновее чем WinCE ToolKit BV6.<br>Может быть SCINER сможет ответить на мои вопросы, кажется он не так уж давно занимался темой &quot;NativeDLL from VB6&quot;.<br><br>А вообще, то что я написал не о VB, а о BCX и PellesC, это не противоречит политике партии?<br>Сергей.]]></description>
        <author>sklimkin</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=2099638</guid>
        <pubDate>Sat, 25 Oct 2008 18:17:00 +0000</pubDate>
        <title>BCX Basic-to-C-транслятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=2099638</link>
        <description><![CDATA[B.V.: Многабукв, все не осилил. Но вот здесь ты смотрел: http://www.microsoft.com/downloads/details.aspx?FamilyID=2D12142C-F8C7-4FC2-BE13-45F253648E5B&displaylang=en ?]]></description>
        <author>B.V.</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=2099632</guid>
        <pubDate>Sat, 25 Oct 2008 18:12:20 +0000</pubDate>
        <title>BCX Basic-to-C-транслятор</title>
        <link>https://forum.sources.ru/index.php?showtopic=254267&amp;view=findpost&amp;p=2099632</link>
        <description><![CDATA[sklimkin: После долгих мытарств: как сделать нормальную программу для WinCE не зная C/C++<br>-------------------------------------------------------------------------------<br>Мне нужно сделать программу для Windows Mobile (2002-2005), но я совсем не знаю C/C++ &#33;<br>Программа должна соединяться по COM-порту с GPS приемниками и навигаторами фирмы<br>Garmin и получать от них данные не только текстового протокола NMEA, но и так назывемый<br>бинарный поток данных Garmin-Binary. Эти данные нужно декодировать в понятные человеку<br>цифры широты, долготы, высоты, времени и так далее, и вывести на экран дисплея.<br>Данные (сырые и декодированные) надо записать в файлы. Ну и еще кое-что специфическое<br>для темы GPS-позиционирования и навигации. Короче - это современная геодезия.<br><br>Для десктопа я сделал программу в MS VB5 и она выполняет то, что я от нее ожидал.<br>Но наладонник с ОС WinCE (Mobile) это отдельная песня, как все у фирмы MS.<br>Есть среда разработки embedded VC-3 (4), VS-xxxx - для меня все это марсианская речь.<br>Есть embedded VB-3, это вижуал бейсик, которому обрезание делал пьяный раввин, результат<br>очень печальный. На выходе модуль в P-коде. Нужна установка интерпретатора в наладоннике.<br>Библиотека MSComm.dll работает хуже аналогичной для десктопа. Вообще работа с COM-портом<br>через MSComm.dll создает нюансы, не прозволяющие послать некоторые команды GPS-приемнику<br>и получить от него ответ. Уже открытый COM-порт при этом теряется, программа не может<br>продолжать работу. Стабильная работа возможна через обращение программно к структуре<br>блочного управления COM-портом под названием DCB. На десктопе для этого есть вызов Win-API<br>из главной системной библиотеки Kernel32.dll, но ее нет в WinCE - есть аналог CoreDll.dll,<br>в котором отсутствуют некоторые важные функции Kernel32.dll (например BuildCommDCB).<br>И наконец в VB WinCE невозможно создать пользовательские типы данных UDT, необходимые для<br>работы со структурами Windows (в данном случае Type DCB, COMSTAT, COMMTIMEOUTS).<br><br>Компилятор и линкер MS VB-6 имеют ключи компиляции под ARM-процессор для WinCE, но<br>как-то скрытно, секретно. Может MS бросил эту тему на пол-пути, как не раз случалось,<br>а может и нет, но разобраться с этими возможностями может только настоящий профессионал.<br>Я к таким не отношусь. Но решение должно быть найдено в мировой помойке Internet&#33;<br>И я его нашел. Это два свободных продукта: BCX (Basic to C Xtranslator) и Pelles-C.<br>Первый позволяет писать программы почти как в MS-VB, а если надо и умеешь, то делать в них<br>вставки на обычном C и даже ASM. Для создания окон и элементов управления ими есть несколько<br>инструментов. Написанный BAS-код транслируется в C-код, который BCX может компилировать на<br>различных компиляторах: LCC, Pelles-C, MS-VC++, Borland-С, Vatcom-С, MinGw, DigitalMars-C.<br>Солидный список&#33; Скажу о двух из него: LCC и PellesC проверял, примеры работают.<br><br>Инструментов для разработки программ в среде BCX много и даже многовато, что вызвало у меня<br>некоторую растерянность. Особенно ценно то, что все они (и даже от MS) бесплатны для<br>разработки коммерческих программ. Исключение составляет только LCC.<br>Компиляция возможна и под WinCE (что и было предметом моего поиска).<br>Получаются шустрые и компактные нативные *.EXE. На удивление легко разрабатываются<br>различного рода библиотеки *.DLL. Работа с консольными приложениями - с этого начинался BCX.<br><br>Для программ, которые будут компилироваться под LCC никаких особых приемов не нужно.<br>Все продумано автором и прописано в нескольких BAT-файлах. Компиляция под PellesC чуть сложнее.<br>После чтения и тыкания в разные инструменты остановил свой выбор на EZ-IDE.<br><br>Для понимания процесса разработки программы в среде BCX под PellesC, используя EZ-IDE:<br>1. берем из примеров в папке C:&#092;Program Files&#092;BCX DevSuite Pro&#092;Examples&#092;Gui&#092;<br>   .BAS файл проекта (я выбрал &#092;EZ_GUI&#092;Demo&#092;Demo.Bas);<br>2. открываем его в EZ-IDE (Open a existing sourcefile) и<br>3. получаем сообщение: This is not a EZ-IDE SourceFile; <br>4. подтверждаем кнопкой OK, файл открывается, а еще создается пустое окно;<br>5. вызываем компиляцию того, что есть под PellesC:<br>   меню File -&gt; Compile -&gt; Make EXE using PellesC;<br>6. начинается компиляция и в левой части окна открытого нами файла<br>   кроме закладки Declarations появляется новая закладка Compile-Log,<br>   где в случае удачи последняя строка такая: Compiled successful;<br>7. если есть сообщения об ошибках (они указываются для вновь созданного<br>   C-файла), то смотрим их по номерам строк сначала в новом C-файле,<br>   а исправления делаем ОБЯЗАТЕЛЬНО В BAS-файле, ОТКРЫТОМ В ОКНЕ EZ-IDE;<br>8. повторяем процесс компиляции.<br>    ......<br>9. После этого был получен нормально работающий Demo.exe из примеров автора BCX<br>   (C:&#092;Program Files&#092;BCX DevSuite Pro&#092;Examples&#092;Gui&#092;EZ_GUI&#092;Demo&#092;Demo.Bas).<br>   Этот пример интересен тем, что автор показал в нем все стандартные элемены<br>   управления окном (так привычные в MS-VB) включая управление цветом, GIF-анимацию<br>   и манипуляции в RichEdit-Control боксе, с копированием графики.<br><br>10. Старая версия этого примера имела строки, вызывающие ошибку компиляции под PellesC<br>   и нормально компилировалась под LCC. В первых строках SUB FORMLOAD были<br>   закомментированы значения: Form1_Styles = &#39;1422852096 и Form1_XStyles = &#39;320<br>   По указанию строк с ошибками в C-файле легко нашел эти строки в исходном BAS-файле<br>   и поправил в рабочем окне EZ-IDE, после чего компиляция прошла успешно.<br><br>Есть 3 заметных недостатка у этих программ: отладка в BCX в зачаточном состоянии;<br>HELP касающийся создания оконного интерфейса небогат в обеих программах;<br>C-файл оттранслированный BCX из BAS-файла успешно компилится из командной строки в EXE,<br>но этот же C-файл при компиляции в IDE-PellesC вызывает кучу ошибок, их смысл мне непонятен.<br>Хотелось бы HELP подробней и с короткими, но внятными примерами в самих HELP.CHM, но до<br>MSDN не по силам дотянуться команде даже самых одаренных энтузиастов-разработчиков. Да и<br>сам MSDN не так хорош, как его гигантский размер. Хватает и путаницы и неосвещенных мест.<br>Поэтому спасибо этим ребятам (Kevin Diggins, Pelle Orinius и командам их помощников) за то,<br>что они отважились выступить на фоне таких монстров, как MS и Borland, и сделали интересные<br>и полезные инструменты и выложили их бесплатно. Их конференции в интернете освещают много<br>сложных вопросов. Версии программ обновляются нечасто (но и нередко), что свидетельствует<br>о профессионализме авторов.<br>Есть одно, но заметное достоинство у этих программ: приверженность авторов к WinAPI-стилю<br>программирования. Никаких MFC и dotNET, притом OOP наличествует и активно развивается.<br>Поэтому программы сделанные на их инструментах не требуют тянуть за собой никакой требухи,<br>они компактны и быстры. Их содержимое легко просмотреть и понять. Они самодостаточны<br>настолько, насколько это возможно в такой ОС как Виндоус.<br><br>После примеров автора написал свой код в BCX. Компилю под WinDesktop. Работает.<br>Под WinMobile пока не пробовал. По ходу смотрю как VB код выглядит в C-трансляции.<br> <br>END&#33;<br><br>Для тех, кто не умеет пользоваться поиском (а как тогда можно уметь программировать?),<br>привожу ссылки на BCX, PellesC, LCC (но&#33; время меняет многое, особенно в интернете):<br>http://www.BcxGurus.com/<br>http://bcx.vpndns.com/<br>прямая ссылка:<br>http://rjpcomputing.wordpress.com/programming/bcx/devsuite-pro/<br>http://groups.yahoo.com/group/BCX/<br>http://bcxolr.bcxgurus.com<br><br>это непрямые ссылки, но по ним можно найти:<br>http://smorgasbordet.com/pellesc/index.htm<br>http://forum.pellesc.de<br>http://wiki.pellesc.de<br><br>без подробной регистрации LCC не получить, поэтому только через ftp:<br>ftp://ftp.ku.lt/pub/Windows/lang/lcc...cwin32.exe<br>---------------------------------------------------------------------------------<br><br>Мои вопросы к серьезным программерам (а их здесь немало), в 1-ю очередь к модераторам:<br>1. Есть-ли возможность &quot;заставить&quot; MS-VB-компилятор/линкер делать код под WinCE<br>   (в ключах компилятора и линкера это теоретически присутствует);<br>2. Если кто-то работал в BCX, то какова грамотная цепочка создания программы с<br>   графическим интерфейсом, так чтобы это было почти как в VB (пока я свои элементы<br>   окна прописываю циферками в едином BAS-файле - как и во многих примерах автора).<br><br>Если есть интерес, исходник (BAS и C могу выложить).<br><br>Я обращался в группу BCX-Yahoo, но внятных ответов - 0, может-быть виной тому<br>мой английский, вот текст моего вопроса:<br>1. I shoise EZIDE for begin to write and compile my BCX code,<br>   and not found Samples to work in EZIDE from 0.<br>   Many samples from mr.BCX (Schoene Beispielen&#33;&#33;&#33;) includes declarations to<br>   Form and Controls is in one BAS-file, not in separate *.RC (or *.RES) file.<br>   If my BAS-file has these declarations for Form and its Controls, all right&#33;<br>   (my Form in EZIDE after opening BAS-file as existing Project must by empty&#33;)<br>   But if I create Form &amp; Controls in EZIDE, compilation is NOT sussefull.<br>   I know only MS-Basic, who Code &amp; Form created in one Time: I paint Form,<br>   then write Code for those Form and compile my Program. All work fine&#33;<br>   C-language I do&#39;t know. Maiby nomore read C-text.<br>   Who can my send Sample, painted and coded in EZIDE from none, whose can<br>   by compiled uhder PellesC? - 1 Form, 2 Commands, 2 ComboBoxes, 1 EditBox.<br>2. If C-file, compiled by BCX to PellesC, I open in PellesC IDE-environment,<br>   then found Errors for C-strings in Standard Prototypes section:<br>	HWND    BCX_Form(char*,int=0,int=0,int=250,int=150,int=0,int=0);<br>	HWND    BCX_Input(char*,HWND,int,int,int,int,int,int=0,int=-1);<br>	HWND    BCX_Button(char*,HWND,int=0,int=0,int=0,int=0,int=0,int=0,int=-1);<br>	HWND    BCX_Label(char*,HWND,int=0,int=0,int=0,int=0,int=0,int=0,int=0);<br>	HWND    BCX_Group(char*,HWND,int,int,int,int,int,int=0,int=0);<br>	HWND    BCX_Combobox(char*,HWND,int,int,int,int,int,int=0,int=-1);<br>   PellesC Compiler-Linker NOT assept &quot;int=...&quot;.<br>   BCX get working *.exe, but PellesC do&#39;t work and generated Errors.<br><br>Now I build Win-Desktop Program (it works fine), but further these Program shuld by Win-Mobile.<br>Mayby then needed Compile-Link it in PellesC-Environment.<br><br>Сергей.]]></description>
        <author>sklimkin</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	