|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
Быстрый старт в изучении C++ для относительно опытных программистов Basic18.04.2020, 16:11. Показов 15007. Ответов 253
Метки basic, c++, c++ для начинающих, com для начинающих, power basic, powerbasic, vb, vb winapi com, vb_winapi_com, visual basic, winapi_com_с++, winapi_com_c++, winapi_для_начинающих, winapi_и_com, азбука com, азбука winapi, заметки недопрограммиста, различие c++ и vb, сходство c++ и vb (Все метки)
В этой ветке предлагаю обсуждать сходства и различия между C++ и Visual Basic.
Ну хотя бы для упрощения процесса изучения параллельного (дополнительного) языка для тех, кто уже относительно неплохо знаком с Visual Basic. Ну просто как-то "не вкусно" начинать изучение совсем уж с нуля, когда, в принципе, уже и без того много знаешь (циклы, ветвления, указатели, видимость переменных ... ). На самом деле, начал сейчас просмортр на ютубе курса по C++. Дядька очень толково и понятно всё объясняет, явно есть у него талант хорошего преподавателя. Самые первые отличия, которые бросились в глаза, это: - комменты обозначают двумя косыми чертами вместо апострофа, - в конце каждой строки точка с запятой, - все процедуры, функции, "тела" циклов ... в фигурных скобках, - вложенные циклы можно описывать одной строкой, - если переменная объявлена, но ей не присвоено значение, то она содержит случайный "мусор" из памяти, а не как у нас в бейсике, где сразу получает значение ноль или пустую строку, - массивы с квадратными скобками вместо круглых, - область видимости переменных ограничена фигурными скобками и причём неважно функция это, цикл или "тело" функции IF, а не как у нас область видимости переменных ограничена только функциями и процедурами. Ветка открытая, пишите кто хочет. Особенно приветствуются советы опытных специалистов, уже овладевших несколькими языками. Ну уж им-то гораздо виднее, в чём сходство и различие разных языков. Сказать по правде, лично мне сейчас C++ и его младший брат нужны, главным образом, для удобства изучения материалов MSDN.
0
|
|
| 18.04.2020, 16:11 | |
|
Ответы с готовыми решениями:
253
предложение для опытных программистов Быстрый старт и софт для Modicon TM251MESE (Schneider Electric) Книги или справочники для опытных(или проффесиональных) программистов! |
|
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 22.04.2020, 22:21 | ||
|
0
|
||
|
Модератор
|
|||
| 22.04.2020, 22:27 | |||
|
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||
| 22.04.2020, 22:30 [ТС] | |||
![]() Я вообще всегда сторонник простых решений. Хотя иногда "под настроение" и "головоломки" тоже оказываются "в тему". Ну ведь пыхтел же я совсем недавно целый месяц над установкой Win_7 на нетбук (900 Мгц, 2 гб ОЗУ, 4 гб SSD). И ведь установил-таки! Просто приходит вдруг в голову какая-то "безумная" идея, увлекает желанием попробовать, ну а дальше уже азарт! ![]() Ну да кому я всё это рассказываю-то? Мы же все здесь такие, наверняка!
0
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||
| 22.04.2020, 22:40 [ТС] | ||
|
Ну да это полезная возможность для расширений функционала. Можно использовать дополнительные объекты, их свойства и методы.
0
|
||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|||||||||
| 22.04.2020, 23:25 [ТС] | |||||||||
![]() Добавлено через 3 минуты https://docs.microsoft.com/en-... v%3Dvs.85) Добавлено через 7 минут
Через собственный реестр. Классно! Добавлено через 20 минут
На самом деле, для меня это сейчас не принципиально. Главное, что сейчас проблемы такой нет. Добавлено через 11 минут Не по теме:
0
|
|||||||||
|
|
||
| 23.04.2020, 13:33 | ||
|
То есть даже если Scintilla.dll не окажется на компе, это не помешает запуску проложения. Просто функция InitScintilla вернет 0. Вот типичный импорт PureBasic.
0
|
||
|
Модератор
|
|||
| 23.04.2020, 13:59 | |||
|
0
|
|||
|
|
|||||
| 23.04.2020, 14:47 | |||||
|
Это обычная dll-ка. Ее ненужно регистрировать в системе и достаточно поместить в папку откуда ее загружает приложение. IDE вообще не требует установки и прекрасно работает с флешки без каких-либо модификаций. Достаточно запустить IDE с ключом /PORTABLE чтобы настройки хранились в папке PB. Но какая связь между зависимостями IDE и создаваемыми приложениями? Для создаваемых приложений этот файл не требуется, кроме случая разработки текстового редактора на основе Scintilla. Быстрый старт в изучении C++ для относительно опытных программистов Basic MultiHash - программа вычисляющая хеши файлов Найдите в них динамическую загрузку Scintilla.dll.
0
|
|||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
|
| 23.04.2020, 16:34 [ТС] | |
|
Да, всё-таки с определёнными оговорками, но тем не менее, записываем это в сходство между VB и C++.
Для работы требуются рантайм-библиотеки. Ну а из различий, пока ещё не упомянутых в этой ветке, можно отметить появившуюся в Windows_10 проблему получения контекстной справки из редактора VB5 при нажатии клавиши F1. Разумеется, в С++ такой проблемы быть не должно. Дело в том, что майкрософтовцы сочли файлы .hlp потенциально уязвимыми для вирусов и прекратили их поддержку. На самом деле, для меня это было шоком, потому что я всегда (начиная с 2004-го года) предпочитал именно VB5 по той причине, что там была роскошная встроенная справочная система. Для VB6 надо было отдельно скачивать библиотеку MSDN, да ещё же надо было знать, какую версию скачивать, а тогда я этого, разумеется не знал. Да и увесистая она, а интернет-то был медленный и стоимость зависела от трафика. Ну а теперь вот всё наоборот стало, - в VB6 справка у меня есть, а в VB5 (хоть и пробовал плясать с бубном) нету. На скриншоте показано, куда меня посылают при попытке нажать F1 из IDE VB5. В просмотре уроков С++ на ютубе добрался до темы указателей. Здесь надо сказать, что это уже моя третья попытка "подружиться" с С++. Самая первая была предпринята ещё где-то в районе вышеупомянутого 2004-го года. Тогда мне приятель отдал (за ненадобностью) 3 CD по теме программирования. Ну просто он тогда купил где-то оптом по дешёвке целую охапку CD-ков по совершенно разной тематике, ну вот и расщедрился ![]() Это были Бейсики (под MS-DOS и VB 4-6), C/C++ (тоже разные версии) и Делфи. К Делфи я так никогда и не притронулся. Занимался всегда только Бейсиками. Но и с С++ уже тогда в первый раз попытался "познакомиться". Камнем преткновения послужило как ни странно, изобилие типов. Я не понимал тогда, зачем они нужны, ну ведь тогда ещё не знал ничего про WINAPI и COM. Ну просто реально не понимал, зачем нужны какие-то дополнительные типы данных, без которых (как я видел в VB) можно прекрасно обходиться. Ну вот и отверг я тогда С++ практически с самого порога. Следующая попытка была предпринята лет 7 тому назад. И это тоже, как и сейчас, был курс уроков на ютубе. Добросовестно скачал и установил компилятор, который там порекомендовали, выполнял все домашние задания, которые там задавали. А вот камнем преткновения на этот раз послужили именно указатели. Ну не понятно мне было, как всё это работает. И это даже несмотря на то, что я даже и с ассемблером к тому времени уже был знаком на начальном уровне. Короче говоря, в тот раз тоже показалось, что С++ это "для высших умов", и я вернулся в родной и уютный VB. Ну а потом получилось так, что совершенно случайно узнал, что MS-DOS-ный PowerBasic, для которого я когда написал несколько любительских учебных программ (а он тоже был на том самом CD с бейсиками) реинкарнировался в Windows'е. Порылся в интернете, "клюнул" на маркетингговую рекламу, что он дескать почти такой же быстрый как С, ну вот и завис на нём с тех пор. Я это так подробно рассказываю, потому что в том языке тоже есть указатели, и каким-то образом постепенно я научился их использовать в свои программах, хотя и недолюбливаю до сих пор по старой памяти ![]() Так что если кто-то когда-то будет читать эту ветку в поисках возможностей быстрого старта в изучении С++ для более или менее осмысленного умения работать из среды Визуального бейсика с WinAPI и COM, тот должен понимать, что типы данных и указатели это "суровая необходимость" ![]() Ну просто так оно там всё устроено, хотим мы того или нет.
0
|
|
|
Модератор
|
||||||
| 23.04.2020, 16:45 | ||||||
|
0
|
||||||
|
|
||||||||||||||
| 23.04.2020, 17:40 | ||||||||||||||
|
Тогда все просто.
То есть нужно учитывать сложность и востребованность программы. Касаемо PureBasic у него большую часть дистрибутива занимают не исполняемые файлы, а библиотеки ЯП и ресурсы примеров (особенно те что относятся к 3D). Зависимость от Scintilla.dll есть в винде, а в IDE для Linux библиотека отсутствует в дистрибутиве. Значит статически прилинкована.
0
|
||||||||||||||
|
|
|
| 23.04.2020, 17:51 | |
|
А ещё есть такой геморрой в C++, как Microsoft Visual C++ Redistributable, причем 2005-2008-2010-2012-2013-2017 годов.
И нужно то одно, то другое, не взаимозаменяемы, и в конечном итоге ставится на комп всё сразу, чтоб наверняка! После такого мегабайтная MSVBVM60.DLL уже такая мелочь, что приаттачить её к своей программе ни чего не стоит.
0
|
|
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||||
| 23.04.2020, 22:16 [ТС] | ||||||||||
Ну вот просто констатируем это и всё. А уже то, хорошо это или плохо оставим за кадром. Наверняка же у каждого подхода имеются свои плюсы и минусы. Самое главное, что это же не тонны дутого софта, которые требуется устанавливать для работы Net-приложений, например. Добавлено через 1 час 5 минут
Указатель на указатель, потом ещё один указатель на всю эту конструкцию, потом ещё один, потом всё это разыменовывал до "голого" значения переменной. Может быть я сейчас что-нибудь неточно воспроизвожу, но что-то там было именно вот такого плана. Переменная в скобках, перед скобками звёздочка, потом всё это снова в скобках, потом снова звёздочка, ну и так далее. Ну вот мне и показалось тогда, что никогда такого не осилю. А может быть без понимания этого дальше уже ничего не пойму? Ну вот и остыл мой энтузиазм тогда. А нынешний преподаватель как-то попроще всё объясняет и не "фокусничает", и это правильный подход, я считаю.
![]() И кстати, нынешний преподаватель хорош тем, что использует пока только int и float, ну и char ещё вскользь упомянул в самом-самом начале. Хотя я уже добрался до 46-го урока. Они у него по 10-15 минут каждый. И уже довольно сложные темы затрагивал (циклы, ветвления, работа с массивами, стек, рекурсия, теперь вот до указателей добрался).
![]() Я же обычно очень простенькие программы пишу, в которых, по большому счёту, и отлаживать-то нечего ![]() Существует ли возможность использовать компоненты COM на тех машинах, где нет соответствующих библиотек?
0
|
||||||||||
|
|
|||
| 23.04.2020, 22:38 | |||
|
Как правило статически линкуется процедурный код. И с динамической загрузкой проблем нет.
1
|
|||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||
| 23.04.2020, 22:54 [ТС] | ||||||
|
А пока, будете смеяться, использую для уроков эмулятор компилятора С++ на андроид-планшете. Но там все примеры пока очень простенькие, поэтому его ресурсов вполне хватает. И кстати, это тоже заслуга нынешнего преподавателя. Он же простой блоггер на ютубе, а тот предыдущий был профессиональным преподавателем в институте каком-то, как я понял, и там была съёмка его реальных лекций в этом институте. Добавлено через 15 минут
![]() Но фишка в том, что он пока в своих уроках реально всего двумя переменными обходится. Для относительно лёгкого старта это как раз самое оно.
0
|
||||||
|
Модератор
|
|||||||||||||
| 23.04.2020, 23:23 | |||||||||||||
|
Добавлено через 2 минуты
0
|
|||||||||||||
|
|
||||||||
| 24.04.2020, 00:01 | ||||||||
|
Это касается VB. Если по нормальному, в винде контролы создаются функцией CreateWindow и не требуют танцев с бубном чтобы они работали.
0
|
||||||||
|
Модератор
|
|||||||||
| 24.04.2020, 00:44 | |||||||||
|
Думаешь кого-то заботит что тут куча внешних DLL файлов?
0
|
|||||||||
|
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
|
||||||||
| 24.04.2020, 02:35 [ТС] | ||||||||
![]() Привык уже ![]() Ну а процедуры и функции, да, конечно же отделены друг от друга. Но это так компилятор требует. А вообще-то я, пожалуй, запроста смог бы даже сейчас писать, как когда-то в Спектрум-бейсик, - всё подряд сверху вниз и с прыжками GOTO на номера строк ![]() Нет, всё-таки на лейблы, пожалуй, а то номера-то они же сдвигаются, если что-нибудь вставлять ![]()
Сейчас-то удалось-таки установить полноценную семёрку на "малыша", поэтому вопрос отпал, а на тот момент удалось "втиснуть" только очень сильно урезанную сборку с отрезанным SAPI. Отдельно SAPI установить невозможно, потому что, начиная с Windows_XP, это неотъемлемая часть самой винды. Соответственно, программы с озвучкой там не работали. Практический вопрос отпал, но теоретический всё-таки остался.
0
|
||||||||
| 24.04.2020, 02:35 | |
|
набор опытных C++ программистов Приглашаю На работу Опытных Программистов Нужен совет опытных программистов на C# Нужен совет опытных программистов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|