Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/56: Рейтинг темы: голосов - 56, средняя оценка - 4.54
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443

Быстрый старт в изучении C++ для относительно опытных программистов Basic

18.04.2020, 16:11. Показов 14877. Ответов 253

Студворк — интернет-сервис помощи студентам
В этой ветке предлагаю обсуждать сходства и различия между C++ и Visual Basic.
Ну хотя бы для упрощения процесса изучения параллельного (дополнительного) языка для тех, кто уже относительно неплохо знаком с Visual Basic.
Ну просто как-то "не вкусно" начинать изучение совсем уж с нуля, когда, в принципе, уже и без того много знаешь (циклы, ветвления, указатели, видимость переменных ... ).

На самом деле, начал сейчас просмортр на ютубе курса по C++. Дядька очень толково и понятно всё объясняет, явно есть у него талант хорошего преподавателя.

Самые первые отличия, которые бросились в глаза, это:
- комменты обозначают двумя косыми чертами вместо апострофа,
- в конце каждой строки точка с запятой,
- все процедуры, функции, "тела" циклов ... в фигурных скобках,
- вложенные циклы можно описывать одной строкой,
- если переменная объявлена, но ей не присвоено значение, то она содержит случайный "мусор" из памяти, а не как у нас в бейсике, где сразу получает значение ноль или пустую строку,
- массивы с квадратными скобками вместо круглых,
- область видимости переменных ограничена фигурными скобками и причём неважно функция это, цикл или "тело" функции IF, а не как у нас область видимости переменных ограничена только функциями и процедурами.

Ветка открытая, пишите кто хочет.
Особенно приветствуются советы опытных специалистов, уже овладевших несколькими языками.
Ну уж им-то гораздо виднее, в чём сходство и различие разных языков.

Сказать по правде, лично мне сейчас C++ и его младший брат нужны, главным образом, для удобства изучения материалов MSDN.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2020, 16:11
Ответы с готовыми решениями:

предложение для опытных программистов
добрый день уважаемые госпда программисты - необходима помощь по выполнению лабораторных по предмету Операционные Системы. Ищу человека...

Быстрый старт и софт для Modicon TM251MESE (Schneider Electric)
Так сложилась ситуация, что в скором времени предстоит познакомиться с ПЛК TM251MESE от Sneider Electric. Начал интересоваться как...

Книги или справочники для опытных(или проффесиональных) программистов!
Пожалуйста, Подскажите книги или справочники для опытных и проффесиональных программистов! Особенно хотелось бы найти: 1) полный...

253
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
22.04.2020, 22:21
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Pro_grammer Посмотреть сообщение
или Время наработки на отказ 1700000 ч.
или того что отказом считается неспособность хранить записанные данные более года без включения питания?
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
22.04.2020, 22:27
Цитата Сообщение от Power_Basic Посмотреть сообщение
Майкрософтовцы же её в десятку-то уже не включили
Это неправда. Данная библиотека идет в составе системы. Ее можно просто рядом с файлом положить, никакой установки не требуется.

Цитата Сообщение от Power_Basic Посмотреть сообщение
А если бы без неё VB-программы работали, ну тогда бы и вообще не было бы никакого смысла всем этим заморачиваться.
Это глупо. Много ли Вы видели профессиональных программ которые никаких DLL не используют? Да почти любая современная среда разработки тянет за собой кучу библиотек и это не плохо, а наоборот хорошо. Библиотеки придумали как раз для того чтобы ими пользовались, а не для того чтобы обходить их стороной.
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
22.04.2020, 22:30  [ТС]
Цитата Сообщение от Power_Basic
Получается, что даже и в VB можно обойтись без рантайм-библиотеки?
Цитата Сообщение от The trick Посмотреть сообщение
Для С/C++ нужен рантайм, но он системный (msvcrt.dll). Для VB6 при желании также можно написать код без рантайма, но это сложно и ненужно.
Ну да, дучше не надо
Я вообще всегда сторонник простых решений.
Хотя иногда "под настроение" и "головоломки" тоже оказываются "в тему".
Ну ведь пыхтел же я совсем недавно целый месяц над установкой Win_7 на нетбук (900 Мгц, 2 гб ОЗУ, 4 гб SSD).
И ведь установил-таки!

Просто приходит вдруг в голову какая-то "безумная" идея, увлекает желанием попробовать, ну а дальше уже азарт!
Ну да кому я всё это рассказываю-то? Мы же все здесь такие, наверняка!
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
22.04.2020, 22:40  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
VB6 поддерживает библиотеки типов (tlb). Вот есть такие типа win32.tlb и т.д. которые можно подключить в проект и функцие объявленные там будут доступны для использования. В аттаче пример. Там не все функции, но библиотеки можно дополнять и т.п. Кстати с такими библиотеками приложение будет работать быстрее.
VB6IDE->Project->References->Browse
Открыл в Object Browser'е и почти уверен, что это она, хотя там название отличается на одну букву от имени файла.
Ну да это полезная возможность для расширений функционала. Можно использовать дополнительные объекты, их свойства и методы.
Миниатюры
Быстрый старт в изучении C++ для относительно опытных программистов Basic  
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
22.04.2020, 23:25  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
В SAPI очень много настроек и событий, там чуть ли не каждое слово можно отредактировать.
Ну да можно... но только сначала хорошо бы научиться с этими Lexicon'ами работать

Добавлено через 3 минуты
Цитата Сообщение от Pro_grammer Посмотреть сообщение
По каждому слову это я понял, про то и написал. А вот есть ли механизм "подключить словарь оптом"?
Есть движки, в которые уже встроены их "личные" словари, это тоже знаю. Но есть ли общая концепция на уровне SAPI?
Где-то здесь надо "копать":
https://docs.microsoft.com/en-... v%3Dvs.85)

Добавлено через 7 минут
Цитата Сообщение от Power_Basic
Там словари у них именуются Lexicon'ами. Но как их подключать, я нигде информацию найти не смог.
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Я нашёл через реестр в SAPI5 один словарь подключить:
[HKEY_LOCAL_MACHINE\SOFTWARE\Loquendo\LTT S7\LoqSAPI5]
"Lex.1049"="e:/ggg.lex"
Фигасе! А я даже и не предполагал, что есть такая возможность!
Через собственный реестр. Классно!

Добавлено через 20 минут
Цитата Сообщение от Power_Basic
Майкрософтовцы же её в десятку-то уже не включили
Цитата Сообщение от The trick Посмотреть сообщение
Это неправда. Данная библиотека идет в составе системы. Ее можно просто рядом с файлом положить, никакой установки не требуется.
Ну может быть я сейчас что-то путаю, не знаю. Проблему-то эту я решал больше года тому назад. Но точно помню, что такая проблема была и я какую-то утилиту тогда скачивал. Правда я тогда ещё и восьмёрку устанавливал, как вторую систему на компе. Может там.
На самом деле, для меня это сейчас не принципиально. Главное, что сейчас проблемы такой нет.

Добавлено через 11 минут

Не по теме:

Цитата Сообщение от Power_Basic
Майкрософтовцы же её в десятку-то уже не включили. А если бы без неё VB-программы работали, ну тогда бы и вообще не было бы никакого смысла всем этим заморачиваться.
Цитата Сообщение от The trick Посмотреть сообщение
Это глупо. Много ли Вы видели профессиональных программ которые никаких DLL не используют? Да почти любая современная среда разработки тянет за собой кучу библиотек и это не плохо, а наоборот хорошо. Библиотеки придумали как раз для того чтобы ими пользовались, а не для того чтобы обходить их стороной.
Ну вот например, PowerBasic и, как я подозреваю, Pure Basic не используют никаких библиотек кроме встроенных в Windows WinAPI и COM.
И соответственно их программы безо всяких проблем запускаются на любой Windows-машине от Win_95_86 до Win_10_64.

0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
23.04.2020, 11:55
Цитата Сообщение от Power_Basic Посмотреть сообщение
Ну вот например, PowerBasic и, как я подозреваю, Pure Basic не используют никаких библиотек кроме встроенных в Windows WinAPI и COM.
И соответственно их программы безо всяких проблем запускаются на любой Windows-машине от Win_95_86 до Win_10_64.
Ну PureBasic использует к примеру Scintilla.dll
PowerBasic использует RC.EXE
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,018
Записей в блоге: 7
23.04.2020, 13:33
Цитата Сообщение от The trick Посмотреть сообщение
Ну PureBasic использует к примеру Scintilla.dll
Только при вызове функции InitScintilla и библиотека не линкуется статически.
То есть даже если Scintilla.dll не окажется на компе, это не помешает запуску проложения. Просто функция InitScintilla вернет 0.
Вот типичный импорт PureBasic.
Миниатюры
Быстрый старт в изучении C++ для относительно опытных программистов Basic  
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
23.04.2020, 13:59
Цитата Сообщение от locm Посмотреть сообщение
Только при вызове функции InitScintilla и библиотека не линкуется статически.
То есть даже если Scintilla.dll не окажется на компе, это не помешает запуску проложения. Просто функция InitScintilla вернет 0.
Судя по всему она используется средой, без нее не работает пурик:


Цитата Сообщение от locm Посмотреть сообщение
Вот типичный импорт PureBasic.
А причем тут импорт? Библиотека может загружаться динамически. Если ты к примеру используешь какой-либо компонент в VB6 то его тоже не будет в импорте.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,018
Записей в блоге: 7
23.04.2020, 14:47
Цитата Сообщение от The trick Посмотреть сообщение
Судя по всему она используется средой
Естественно используется ведь Scintilla это текстовый редактор с подсветкой синтаксиса, автодополнением и т. д. https://ru.wikipedia.org/wiki/Scintilla
Это обычная dll-ка. Ее ненужно регистрировать в системе и достаточно поместить в папку откуда ее загружает приложение.
IDE вообще не требует установки и прекрасно работает с флешки без каких-либо модификаций. Достаточно запустить IDE с ключом /PORTABLE чтобы настройки хранились в папке PB.
Но какая связь между зависимостями IDE и создаваемыми приложениями?

Цитата Сообщение от The trick Посмотреть сообщение
без нее не работает пурик
IDE сообщает что не найден файл Scintilla.dll. Он нужен т. к. является редактором кода.
Для создаваемых приложений этот файл не требуется, кроме случая разработки текстового редактора на основе Scintilla.

Цитата Сообщение от The trick Посмотреть сообщение
А причем тут импорт? Библиотека может загружаться динамически.
Вот файлы написанные на PB.
Быстрый старт в изучении C++ для относительно опытных программистов Basic
MultiHash - программа вычисляющая хеши файлов
Найдите в них динамическую загрузку Scintilla.dll.

Цитата Сообщение от The trick Посмотреть сообщение
Если ты к примеру используешь какой-либо компонент в VB6 то его тоже не будет в импорте.
VB завязан на COM, в отличие от PureBasic. Он использует процедурные dll.
0
 Аватар для Power_Basic
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, тот должен понимать, что типы данных и указатели это "суровая необходимость"
Ну просто так оно там всё устроено, хотим мы того или нет.
Миниатюры
Быстрый старт в изучении C++ для относительно опытных программистов Basic  
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
23.04.2020, 16:45
Цитата Сообщение от locm Посмотреть сообщение
Но какая связь между зависимостями IDE и создаваемыми приложениями?
Такая что я об этом и написал Power_Basic'у что ничего плохого нет что приложение использует какие-либо DLL и вообще зависимости. PureBasic и PowerBasic тому пример.

Цитата Сообщение от locm Посмотреть сообщение
IDE сообщает что не найден файл Scintilla.dll. Он нужен т. к. является редактором кода.
Для создаваемых приложений этот файл не требуется, кроме случая разработки текстового редактора на основе Scintilla.
Я о том же. Вас не смущает что пурик использует внешние зависимости? Меня нет. Я уже написал что использовать сторонние библиотеки не зло, а благо.

Цитата Сообщение от locm Посмотреть сообщение
Найдите в них динамическую загрузку Scintilla.dll.
Я не говорю про файлы которые делаются пуриком. Ты меня неверно понял. Я говорю что любое более-менее серьезное приложение в большинстве своем использует внешние зависимости. Даже пурик. То что у кого-то патологическая боязнь заиметь лишнюю зависимость в виде DLL, OCX, EXE - на это большинству рядовых пользователей все равно.

Цитата Сообщение от locm Посмотреть сообщение
VB завязан на COM, в отличие от PureBasic. Он использует процедурные dll.
А в чем разница? ActiveX DLL такие же DLL как и другие. Более того можно иметь DLL которая является и процедурной и COM или ActiveX библиотекой.

Цитата Сообщение от Power_Basic Посмотреть сообщение
Для работы требуются рантайм-библиотеки.
Для C++ и C можно написать приложение которое не будет требовать рантайма вообще. Рантайм библиотеки есть и у PowerBasica и у PureBasic'а просто они "зашиваются" в исполняемый файл.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,018
Записей в блоге: 7
23.04.2020, 17:40
Цитата Сообщение от Power_Basic Посмотреть сообщение
В просмотре уроков С++ на ютубе добрался до темы указателей.
Немного мудрено сделано, но если разобраться работа с указателями не очень сложная.

Цитата Сообщение от Power_Basic Посмотреть сообщение
Камнем преткновения послужило как ни странно, изобилие типов.
Можно воспользоваться stdint.
Тогда все просто.
uint8_t - беззнаковый 8 бит.
int16_t - знаковый 16 бит.
uint32_t - беззнаковый 32 бита.
int64_t - знаковый 64 бита.
Код с использованием этих типов. https://www.cyberforum.ru/blog... g5169.html

Цитата Сообщение от Power_Basic Посмотреть сообщение
Ну не понятно мне было, как всё это работает.
Отладчиком нужно было пользоваться и смотреть как работает программа. Тогда было бы видно как изменения кода влияют работу программы.

Цитата Сообщение от The trick Посмотреть сообщение
Такая что я об этом и написал Power_Basic'у что ничего плохого нет что приложение использует какие-либо DLL и вообще зависимости. PureBasic и PowerBasic тому пример.
Но когда простая программа типа "привет мир" требует зависимостей на несколько десятков метров, это не нормально.
То есть нужно учитывать сложность и востребованность программы. Касаемо PureBasic у него большую часть дистрибутива занимают не исполняемые файлы, а библиотеки ЯП и ресурсы примеров (особенно те что относятся к 3D).

Цитата Сообщение от The trick Посмотреть сообщение
Я о том же. Вас не смущает что пурик использует внешние зависимости?
Не нужно путать рантайм без которого приложение работать не будет и dll используемые в приложении.

Цитата Сообщение от The trick Посмотреть сообщение
Я уже написал что использовать сторонние библиотеки не зло, а благо.
Допустим я пишу на VB и не хочу чтобы использовалась MSVBVM60.DLL есть способ от нее избавится? А в случае подключаемых библиотек, они не обязательны для всех создаваемых приложений, а только при явном использовании требуемых библиотек. Повторюсь, не нужно путать рантайм и подключаемые библиотеки.

Цитата Сообщение от The trick Посмотреть сообщение
Я говорю что любое более-менее серьезное приложение в большинстве своем использует внешние зависимости.
Разработчик приложения выбирает каковы будут эти зависимости и при необходимости можно использовать статическую библиотеку и тогда ее код будет в исполняемом файле т. е. зависимостей не будет.

Цитата Сообщение от The trick Посмотреть сообщение
Даже пурик.
Он использует только Scintilla.dll. Она кстати есть в виде Scintilla.lib что позволяет при необходимости прилинковать статически. Исходники IDE в свободном доступе https://github.com/fantaisie-software/purebasic и при желании можно избавится от этой зависимости.

Зависимость от Scintilla.dll есть в винде, а в IDE для Linux библиотека отсутствует в дистрибутиве. Значит статически прилинкована.

Цитата Сообщение от The trick Посмотреть сообщение
То что у кого-то патологическая боязнь заиметь лишнюю зависимость в виде DLL, OCX, EXE - на это большинству рядовых пользователей все равно.
Не всем пользователям может быть фиолетово что приложение требует права администратора для установки библиотек.

Цитата Сообщение от The trick Посмотреть сообщение
А в чем разница? ActiveX DLL такие же DLL как и другие.
ActiveX DLL совсем не тоже самое что процедурные DLL. Первые нужно регистрировать в системе (нужны права администратора и не самое лучшее решение для приложений без установки), а из вторых просто вызываем функции.

Цитата Сообщение от The trick Посмотреть сообщение
Для C++ и C можно написать приложение которое не будет требовать рантайма вообще.
И будут весить больше МБ.

Цитата Сообщение от The trick Посмотреть сообщение
Рантайм библиотеки есть и у PowerBasica и у PureBasic'а просто они "зашиваются" в исполняемый файл.
Что у PowerBasica не знаю. У PureBasic рантайм - msvcrt.dll по умолчанию присутствующий начиная с Windows 95 OSR2. То есть считайте что это системный файл присутствующий во всех версиях винды.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.04.2020, 17:51
А ещё есть такой геморрой в C++, как Microsoft Visual C++ Redistributable, причем 2005-2008-2010-2012-2013-2017 годов.
И нужно то одно, то другое, не взаимозаменяемы, и в конечном итоге ставится на комп всё сразу, чтоб наверняка!
После такого мегабайтная MSVBVM60.DLL уже такая мелочь, что приаттачить её к своей программе ни чего не стоит.
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
23.04.2020, 22:16  [ТС]
Цитата Сообщение от Power_Basic
Для работы требуются рантайм-библиотеки.
Цитата Сообщение от The trick Посмотреть сообщение
... я об этом и написал Power_Basic'у что ничего плохого нет что приложение использует какие-либо DLL и вообще зависимости. PureBasic и PowerBasic тому пример.... Для C++ и C можно написать приложение которое не будет требовать рантайма вообще. Рантайм библиотеки есть и у PowerBasica и у PureBasic'а просто они "зашиваются" в исполняемый файл.
Наверно нам всем сейчас имеет смысл просто ограничиться констатацией факта, что для работы VB и С++ (если не прибегать к каким-нибудь дополнительным ухищрениям) требуются рантайм-библиотеки, и в этом состоит одно из их сходств, а другие языки могут включать свои рантайм-библиотеки в свои исполняемые файлы, ну или ещё как-то подходить к решению этой проблемы.
Ну вот просто констатируем это и всё. А уже то, хорошо это или плохо оставим за кадром. Наверняка же у каждого подхода имеются свои плюсы и минусы. Самое главное, что это же не тонны дутого софта, которые требуется устанавливать для работы Net-приложений, например.

Добавлено через 1 час 5 минут
Цитата Сообщение от Power_Basic
В просмотре уроков С++ на ютубе добрался до темы указателей.
Цитата Сообщение от locm Посмотреть сообщение
Немного мудрено сделано, но если разобраться работа с указателями не очень сложная.
Ну да, наверно надо просто привыкнуть к ним как-то. Ну а сама возможность "потрогать" с их помощью любой байт это, конечно, очень ценная штука. Просто тот первый преподаватель смутил меня тем, что начал демонстрировать разыменовывание, да ещё с самого же начала какие-то очень сложные примеры приводил, "фокусы" показывал
Указатель на указатель, потом ещё один указатель на всю эту конструкцию, потом ещё один, потом всё это разыменовывал до "голого" значения переменной. Может быть я сейчас что-нибудь неточно воспроизвожу, но что-то там было именно вот такого плана. Переменная в скобках, перед скобками звёздочка, потом всё это снова в скобках, потом снова звёздочка, ну и так далее. Ну вот мне и показалось тогда, что никогда такого не осилю. А может быть без понимания этого дальше уже ничего не пойму? Ну вот и остыл мой энтузиазм тогда.
А нынешний преподаватель как-то попроще всё объясняет и не "фокусничает", и это правильный подход, я считаю.

Цитата Сообщение от Power_Basic
Камнем преткновения послужило как ни странно, изобилие типов.
Цитата Сообщение от locm Посмотреть сообщение
Можно воспользоваться stdint.
Тогда все просто.
uint8_t - беззнаковый 8 бит.
int16_t - знаковый 16 бит.
uint32_t - беззнаковый 32 бита.
int64_t - знаковый 64 бита.
Код с использованием этих типов.
По ссылке посмотрел. На самом деле, мне сейчас совсем не до такой "высшей математики"
И кстати, нынешний преподаватель хорош тем, что использует пока только int и float, ну и char ещё вскользь упомянул в самом-самом начале. Хотя я уже добрался до 46-го урока. Они у него по 10-15 минут каждый. И уже довольно сложные темы затрагивал (циклы, ветвления, работа с массивами, стек, рекурсия, теперь вот до указателей добрался).

Цитата Сообщение от Power_Basic
Ну не понятно мне было, как всё это работает.
Цитата Сообщение от locm Посмотреть сообщение
Отладчиком нужно было пользоваться и смотреть как работает программа. Тогда было бы видно как изменения кода влияют работу программы.
Ну это да. Сейчас-то я понимаю, что так и надо было действовать, но я тогда ещё очень мало опыта имел в работе с отладчиками и поэтому недолюбливал их, если честно
Я же обычно очень простенькие программы пишу, в которых, по большому счёту, и отлаживать-то нечего

Цитата Сообщение от locm Посмотреть сообщение
Разработчик приложения выбирает каковы будут эти зависимости и при необходимости можно использовать статическую библиотеку и тогда ее код будет в исполняемом файле т. е. зависимостей не будет.
А вот этот вопрос меня как раз интересует и я даже относительно недавно создал ветку приблизительно на такую же тему, но там мне никто (кроме флуда) ничего толком так и не ответил:
Существует ли возможность использовать компоненты COM на тех машинах, где нет соответствующих библиотек?
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,018
Записей в блоге: 7
23.04.2020, 22:38
Цитата Сообщение от Power_Basic Посмотреть сообщение
И уже довольно сложные темы затрагивал (циклы, ветвления, работа с массивами, стек, рекурсия.
Не сказал бы что это сложные темы. Это основы.

Цитата Сообщение от Power_Basic Посмотреть сообщение
А вот этот вопрос меня как раз интересует и я даже относительно недавно создал ветку приблизительно на такую же тему, но там мне никто (кроме флуда) ничего толком так и не ответил
ActiveX не предназначен для статической линковки.
Как правило статически линкуется процедурный код. И с динамической загрузкой проблем нет.
1
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
23.04.2020, 22:54  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
А ещё есть такой геморрой в C++, как Microsoft Visual C++ Redistributable, причем 2005-2008-2010-2012-2013-2017 годов.
И нужно то одно, то другое, не взаимозаменяемы, и в конечном итоге ставится на комп всё сразу, чтоб наверняка!
По совету The trick'а решил устанавливать всё-таки компилятор С++ из VS 2019. Займусь этим на днях.
А пока, будете смеяться, использую для уроков эмулятор компилятора С++ на андроид-планшете. Но там все примеры пока очень простенькие, поэтому его ресурсов вполне хватает. И кстати, это тоже заслуга нынешнего преподавателя. Он же простой блоггер на ютубе, а тот предыдущий был профессиональным преподавателем в институте каком-то, как я понял, и там была съёмка его реальных лекций в этом институте.

Добавлено через 15 минут
Цитата Сообщение от Power_Basic
И уже довольно сложные темы затрагивал (циклы, ветвления, работа с массивами, стек, рекурсия).
Цитата Сообщение от locm Посмотреть сообщение
Не сказал бы что это сложные темы. Это основы.
Ну да, это пока ещё не самые высокие вершины С++, я понимаю
Но фишка в том, что он пока в своих уроках реально всего двумя переменными обходится. Для относительно лёгкого старта это как раз самое оно.

Цитата Сообщение от Power_Basic
А вот этот вопрос меня как раз интересует и я даже относительно недавно создал ветку приблизительно на такую же тему, но там мне никто (кроме флуда) ничего толком так и не ответил
Цитата Сообщение от locm Посмотреть сообщение
ActiveX не предназначен для статической линковки.
Как правило статически линкуется процедурный код. И с динамической загрузкой проблем нет.
Понял, спасибо за консультацию.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
23.04.2020, 23:23
Цитата Сообщение от locm Посмотреть сообщение
Но когда простая программа типа "привет мир" требует зависимостей на несколько десятков метров, это не нормально.
C этим я не спорю, но в современном мире это считается нормальным и большинство это устраивает. В конечном счете основная масса приложений пишется не для программистов, а для пользователей которому эти лишние 10 мб вообще не проблема установить.

Цитата Сообщение от locm Посмотреть сообщение
Не нужно путать рантайм без которого приложение работать не будет и dll используемые в приложении.
А рантайм это не dll? рантайм такая же внешняя зависимость как и любая другая.

Цитата Сообщение от locm Посмотреть сообщение
Допустим я пишу на VB и не хочу чтобы использовалась MSVBVM60.DLL есть способ от нее избавится?
Зачем избавляться? Что это даст в конечном счете? Ты не можешь не использовать ее в приложениях на VB6.

Цитата Сообщение от locm Посмотреть сообщение
Разработчик приложения выбирает каковы будут эти зависимости и при необходимости можно использовать статическую библиотеку и тогда ее код будет в исполняемом файле т. е. зависимостей не будет.
Видимо идея DLL прошла мимо тебя. В VB6 при желании внешние зависимости (к примеру контролы) можно хранить внутри.

Цитата Сообщение от locm Посмотреть сообщение
Он использует только Scintilla.dll. Она кстати есть в виде Scintilla.lib что позволяет при необходимости прилинковать статически. Исходники IDE в свободном доступе https://github.com/fantaisie-software/purebasic и при желании можно избавится от этой зависимости.
Зависимость от Scintilla.dll есть в винде, а в IDE для Linux библиотека отсутствует в дистрибутиве. Значит статически прилинкована.
Ну и? Зависимость то есть. Какая разница прилинкована она статически или динамически? Если ты переживаешь за размер, то в итоге он будет тем же самым.

Цитата Сообщение от locm Посмотреть сообщение
Не всем пользователям может быть фиолетово что приложение требует права администратора для установки библиотек.
Если такая необходимость есть, то без нее не обойтись. Если нет, то не нужно. Не пойму что ты этим хотел сказать. "Не всем пользователям может быть фиолетово что приложение требует клавиатуру и колонки для работы" - для меня это звучит также.

Цитата Сообщение от locm Посмотреть сообщение
ActiveX DLL совсем не тоже самое что процедурные DLL. Первые нужно регистрировать в системе (нужны права администратора и не самое лучшее решение для приложений без установки), а из вторых просто вызываем функции.
Это неправда. Не нужно дезинформировать, есть SxS манифест где никаких прав и регистрации не требуется.

Цитата Сообщение от locm Посмотреть сообщение
И будут весить больше МБ.
Это зависит от "прямоты рук", можно писать вполне себе компактные приложения.

Цитата Сообщение от locm Посмотреть сообщение
Что у PowerBasica не знаю. У PureBasic рантайм - msvcrt.dll по умолчанию присутствующий начиная с Windows 95 OSR2. То есть считайте что это системный файл присутствующий во всех версиях винды.
Когда ты вызываешь встроенные в пурике функции, как ты думаешь что это?

Цитата Сообщение от locm Посмотреть сообщение
У PureBasic рантайм - msvcrt.dll по умолчанию присутствующий начиная с Windows 95 OSR2.
Ну и MSVBVM60 присутствует по умолчанию.

Цитата Сообщение от Power_Basic Посмотреть сообщение
Наверно нам всем сейчас имеет смысл просто ограничиться констатацией факта, что для работы VB и С++ (если не прибегать к каким-нибудь дополнительным ухищрениям) требуются рантайм-библиотеки, и в этом состоит одно из их сходств, а другие языки могут включать свои рантайм-библиотеки в свои исполняемые файлы, ну или ещё как-то подходить к решению этой проблемы.
Ну вот просто констатируем это и всё. А уже то, хорошо это или плохо оставим за кадром. Наверняка же у каждого подхода имеются свои плюсы и минусы. Самое главное, что это же не тонны дутого софта, которые требуется устанавливать для работы Net-приложений, например.
DLL были разработаны для повторного использования кода, как-раз чтобы избежать дублирования кода в исполняемых файлах, обеспечить модульность. Это удобно во многих случаях, к примеру обновления безопасности, добавление функционала и т.п. DLL - это шаг от монолитных блоков до модульной архитектуры. Ну ты же к примеру не пишешь весь код в одном файле, ты с большой вероятностью разделяешь его на блоки, где каждый файл выполняет какую либо задачу, или деление на функции и процедуры - из той же серии.

Добавлено через 2 минуты
Цитата Сообщение от Power_Basic Посмотреть сообщение
А вот этот вопрос меня как раз интересует и я даже относительно недавно создал ветку приблизительно на такую же тему, но там мне никто (кроме флуда) ничего толком так и не ответил:
Если лицензия позволяет, то можно распространять библиотеки с приложением.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,018
Записей в блоге: 7
24.04.2020, 00:01
Цитата Сообщение от The trick Посмотреть сообщение
А рантайм это не dll? рантайм такая же внешняя зависимость как и любая другая.
Я уже писал. Разница в том что без рантайма приложение не запустится не говоря о работе, а используемые dll зависят от типа приложения и их может и не быть.

Цитата Сообщение от The trick Посмотреть сообщение
Зачем избавляться? Что это даст в конечном счете? Ты не можешь не использовать ее в приложениях на VB6.
Отсутствие зависимости от метровой либы. Прочитайте о чем шла речь. О разнице между рантаймом и подключаемыми dll.

Цитата Сообщение от The trick Посмотреть сообщение
Видимо идея DLL прошла мимо тебя. В VB6 при желании внешние зависимости (к примеру контролы) можно хранить внутри.
Как скомпилированный ActiveX контрол поместить в EXE чтобы он работал без последующего извлечения куда-то?
Это касается VB. Если по нормальному, в винде контролы создаются функцией CreateWindow и не требуют танцев с бубном чтобы они работали.

Цитата Сообщение от The trick Посмотреть сообщение
Ну и? Зависимость то есть.
Тогда можно сказать что в программе зависимость от каждой строки кода. Речь о внешних зависимостях. Обычно это dll.

Цитата Сообщение от The trick Посмотреть сообщение
Какая разница прилинкована она статически или динамически?
Речь не о статически прилинкованой DLL, когда она в таблице импорта приложения, а о статических библиотеках. https://en.wikipedia.org/wiki/Static_library

Цитата Сообщение от The trick Посмотреть сообщение
Когда ты вызываешь встроенные в пурике функции, как ты думаешь что это?
Речь про внешний рантайм, а не функции языка. Их код в исполняемом файле, а не сторонней библиотеке.

Цитата Сообщение от The trick Посмотреть сообщение
DLL были разработаны для повторного использования кода, как-раз чтобы избежать дублирования кода в исполняемых файлах, обеспечить модульность.
Хотели как лучше, а получилось как всегда. https://ru.wikipedia.org/wiki/DLL_hell
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
24.04.2020, 00:44
Цитата Сообщение от locm Посмотреть сообщение
Я уже писал. Разница в том что без рантайма приложение не запустится не говоря о работе, а используемые dll зависят от типа приложения и их может и не быть.
Без нужной зависимости приложение также не запустится. Скрин от пурика я скинул где он не может работать без Scintilla. Безразлично если приложение не может запуститься из-за отсутствия рантайма или отсутствия какой-либо DLL - итог один и тотже.

Цитата Сообщение от locm Посмотреть сообщение
Отсутствие зависимости от метровой либы. Прочитайте о чем шла речь.
Это не проблема, тем более с либой которая стоит в системе по умолчанию.

Цитата Сообщение от locm Посмотреть сообщение
Как скомпилированный ActiveX контрол поместить в EXE чтобы он работал без последующего извлечения куда-то?
Так не нужно делать. Нужно держать ресурсы приложения рядом, как у 99% приложений. Тот способ который описан у тебя обычно используется всякими вредоносными программами. Если нужно запустить приложение из себя, то его необходимо извлечь чтобы обеспечить корректную работу функций, к примеру таких как GetModuleFileName, GetModuleHandle. Так работает к примеру PorcessExplorer.

Цитата Сообщение от locm Посмотреть сообщение
Это касается VB. Если по нормальному, в винде контролы создаются функцией CreateWindow и не требуют танцев с бубном чтобы они работали.
Нет. Контролы бывают вообще безоконные.

Цитата Сообщение от locm Посмотреть сообщение
Тогда можно сказать что в программе зависимость от каждой строки кода. Речь о внешних зависимостях. Обычно это dll.
Ну и что в этом плохого? Я привел пример того же пурика и с самого начала говорю что внешние зависимости - это не плохо. Ты меня пытаешься убедить в обратном или что?

Цитата Сообщение от locm Посмотреть сообщение
Речь не о статически прилинкованой DLL, когда она в таблице импорта приложения, а о статических библиотеках.
Я о них и говорю. Какая разница что библиотеки прилинкована статически или динамически? Кода почти столько же (т.е. размер единого EXE файла + DLL и EXE + LIB почти одинаков) При динамическом способе у нас больше преимуществ и в модульности и в отладке и в обновлении и т.п.

Цитата Сообщение от locm Посмотреть сообщение
Речь про внешний рантайм, а не функции языка. Их код в исполняемом файле, а не сторонней библиотеке.
Это не имеет значения. Код есть код. То что он в отдельном файле никого по большей части не заботит. Посмотри на большинство профессиональных программ.

Думаешь кого-то заботит что тут куча внешних DLL файлов?

Цитата Сообщение от locm Посмотреть сообщение
Хотели как лучше, а получилось как всегда.
Для этого и есть SxS манифесты. Это еще два десятилетия назад было решено. Для своего приложения ты в 99% случаев не столкнешься с этой проблемой.
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
24.04.2020, 02:35  [ТС]
Цитата Сообщение от The trick Посмотреть сообщение
PowerBasic использует RC.EXE
Цитата Сообщение от The trick Посмотреть сообщение
Рантайм библиотеки есть и у PowerBasica и у PureBasic'а просто они "зашиваются" в исполняемый файл.
Цитата Сообщение от locm Посмотреть сообщение
Что у PowerBasica не знаю.
Ну если уж решили всё-таки докопаться до истины, вот такой у PowerBasic'а лог коипилятора при создании файла с одним окном и ничего другого кроме этого окна. Я не знаю хорошо это или плохо, но просто здесь все зависимости вроде бы перечислены, потому и решил показать:

PowerBASIC 10 for Windows
Copyright (c) 1996-2012 PowerBasic Inc.
Englewood, Florida USA
All Rights Reserved

Primary source: B:\RAM_STOL\New_File_1.bas {194880 total lines}
Target compilation: New_File_1.EXE
Compile time: 0.3 seconds, at 38976000 lines/minute

1104 bytes compiled code, 39392 bytes RTLibrary,
64 bytes string literals, and 2836 bytes dgroup.
Executable stack size: 1048576 bytes.
Disk image: 49152 bytes Memory image: 42292 bytes.

Component Files:
----------------
B:\RAM_STOL\New_File_1.bas
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WIN32API.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\SDKDDKVER.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\NTSTATUS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINDEF.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINNT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\BASETSD.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WTYPES.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\EXCPT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\KTMTYPES.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINGDI.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINUSER.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\TVOUT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINRESRC.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\DLGS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINVER.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\VERRSRC.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINBASE.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINERROR.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINREG.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\REASON.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINNLS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\COMMDLG.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\PRSHT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\COMMCTRL.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\SHLOBJ.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINCON.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\OLE2.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\OBJBASE.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\UNKNWN.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\OBJIDL.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\UNKNWN.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\OLEAUTO.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\OAIDL.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\RPC.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\OLEIDL.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\SHLGUID.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\ISGUIDS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\KNOWNFOLDERS.I NC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\SHTYPES.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINNETWK.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WNNC.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\SHELLAPI.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IPHLPAPI.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IPEXPORT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IN6ADDR.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\INADDR.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\TCPESTATS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINDNS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WS2DEF.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WS2IPDEF.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINSOCK2.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\QOS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IPRTRMIB.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\MPRAPI.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\LMCONS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINCRED.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\RAS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINCRYPT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\BCRYPT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\NCRYPT.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IPIFCONS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IPMIB.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IFMIB.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IFDEF.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\NLDEF.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\TCPMIB.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\UDPMIB.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\IPTYPES.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\TIME.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\NETIOAPI.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\NTDDNDIS.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\DEVPKEY.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\DEVPROPDEF.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\PCIPROP.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINDOT11.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WLANTYPES.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\MCX.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\MMSYSTEM.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\URLMON.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\WINDOWSX.INC
D:\PROGSWITHOUTINSTALLATION\POWERBASIC\! POWERBASIC_10.04.0108\PBWIN 10.04.0108\PBWIN10\WINAPI\PBFORMS.INC


Code Extracted:
---------------
RTLMOVEMEMORY
RTLCOPYMEMORY
RTLFILLMEMORY
RTLZEROMEMORY
RTLSECUREZEROMEMORY
TPINITIALIZECALLBACKENVIRON
TPSETCALLBACKTHREADPOOL
POINTSTOPOINT
EXITWINDOWS
CREATEWINDOWA
CREATEWINDOWW
CREATEWINDOW
CREATEDIALOGA
CREATEDIALOGW
CREATEDIALOG
CREATEDIALOGINDIRECTA
CREATEDIALOGINDIRECTW
CREATEDIALOGINDIRECT
DIALOGBOXA
DIALOGBOXW
DIALOGBOX
DIALOGBOXINDIRECTA
DIALOGBOXINDIRECTW
DIALOGBOXINDIRECT
GETSYSMODALWINDOW
SETSYSMODALWINDOW
GETWINDOWTASK
MOVEMEMORY
COPYMEMORY
FILLMEMORY
ZEROMEMORY
SECUREZEROMEMORY
GLOBALDISCARD
LOCALDISCARD
GETFREESPACE
PROPSHEET_SETCURSEL
PROPSHEET_REMOVEPAGE
PROPSHEET_ADDPAGE
PROPSHEET_CHANGED
PROPSHEET_RESTARTWINDOWS
PROPSHEET_REBOOTSYSTEM
PROPSHEET_CANCELTOCLOSE
PROPSHEET_QUERYSIBLINGS
PROPSHEET_UNCHANGED
PROPSHEET_APPLY
PROPSHEET_SETTITLE
PROPSHEET_SETWIZBUTTONS
PROPSHEET_PRESSBUTTON
PROPSHEET_SETCURSELBYID
PROPSHEET_SETFINISHTEXT
PROPSHEET_GETTABCONTROL
PROPSHEET_ISDIALOGMESSAGE
PROPSHEET_GETCURRENTPAGEHWND
PROPSHEET_INSERTPAGE
PROPSHEET_SETHEADERTITLE
PROPSHEET_SETHEADERSUBTITLE
PROPSHEET_HWNDTOINDEX
PROPSHEET_INDEXTOHWND
PROPSHEET_PAGETOINDEX
PROPSHEET_INDEXTOPAGE
PROPSHEET_IDTOINDEX
PROPSHEET_INDEXTOID
PROPSHEET_GETRESULT
PROPSHEET_RECALCPAGESIZES
PROPSHEET_SETNEXTTEXT
PROPSHEET_SHOWWIZBUTTONS
PROPSHEET_ENABLEWIZBUTTONS
PROPSHEET_SETBUTTONTEXT
COMMDLG_OPENSAVE_GETSPECA
COMMDLG_OPENSAVE_GETSPECW
COMMDLG_OPENSAVE_GETSPEC
COMMDLG_OPENSAVE_GETFILEPATHA
COMMDLG_OPENSAVE_GETFILEPATHW
COMMDLG_OPENSAVE_GETFILEPATH
COMMDLG_OPENSAVE_GETFOLDERPATHA
COMMDLG_OPENSAVE_GETFOLDERPATHW
COMMDLG_OPENSAVE_GETFOLDERPATH
COMMDLG_OPENSAVE_SETCONTROLTEXT
COMMDLG_OPENSAVE_SETDEFEXT
IMAGELIST_ADDICON
IMAGELIST_REMOVEALL
IMAGELIST_EXTRACTICON
IMAGELIST_LOADBITMAPA
IMAGELIST_LOADBITMAPW
IMAGELIST_LOADBITMAP
HEADER_GETITEMCOUNT
HEADER_INSERTITEM
HEADER_DELETEITEM
HEADER_GETITEM
HEADER_SETITEM
HEADER_LAYOUT
HEADER_GETITEMRECT
HEADER_SETIMAGELIST
HEADER_SETSTATEIMAGELIST
HEADER_GETIMAGELIST
HEADER_GETSTATEIMAGELIST
HEADER_ORDERTOINDEX
HEADER_CREATEDRAGIMAGE
HEADER_GETORDERARRAY
HEADER_SETORDERARRAY
HEADER_SETHOTDIVIDER
HEADER_SETBITMAPMARGIN
HEADER_GETBITMAPMARGIN
HEADER_SETUNICODEFORMAT
HEADER_GETUNICODEFORMAT
HEADER_SETFILTERCHANGETIMEOUT
HEADER_EDITFILTER
HEADER_CLEARFILTER
HEADER_CLEARALLFILTERS
HEADER_GETITEMDROPDOWNRECT
HEADER_GETOVERFLOWRECT
HEADER_GETFOCUSEDITEM
HEADER_SETFOCUSEDITEM
LISTVIEW_SETUNICODEFORMAT
LISTVIEW_GETUNICODEFORMAT
LISTVIEW_GETBKCOLOR
LISTVIEW_SETBKCOLOR
LISTVIEW_GETIMAGELIST
LISTVIEW_SETIMAGELIST
LISTVIEW_GETITEMCOUNT
LISTVIEW_GETITEM
LISTVIEW_SETITEM
LISTVIEW_INSERTITEM
LISTVIEW_DELETEITEM
LISTVIEW_DELETEALLITEMS
LISTVIEW_GETCALLBACKMASK
LISTVIEW_SETCALLBACKMASK
LISTVIEW_GETNEXTITEM
LISTVIEW_FINDITEM
LISTVIEW_GETITEMRECT
LISTVIEW_SETITEMPOSITION
LISTVIEW_GETITEMPOSITION
LISTVIEW_GETSTRINGWIDTHA
LISTVIEW_GETSTRINGWIDTHW
LISTVIEW_GETSTRINGWIDTH
LISTVIEW_HITTEST
LISTVIEW_HITTESTEX
LISTVIEW_ENSUREVISIBLE
LISTVIEW_SCROLL
LISTVIEW_REDRAWITEMS
LISTVIEW_ARRANGE
LISTVIEW_EDITLABEL
LISTVIEW_GETCOLUMN
LISTVIEW_SETCOLUMN
LISTVIEW_INSERTCOLUMN
LISTVIEW_DELETECOLUMN
LISTVIEW_GETCOLUMNWIDTH
LISTVIEW_SETCOLUMNWIDTH
LISTVIEW_GETHEADER
LISTVIEW_CREATEDRAGIMAGE
LISTVIEW_GETVIEWRECT
LISTVIEW_GETTEXTCOLOR
LISTVIEW_SETTEXTCOLOR
LISTVIEW_GETTEXTBKCOLOR
LISTVIEW_SETTEXTBKCOLOR
LISTVIEW_GETTOPINDEX
LISTVIEW_GETCOUNTPERPAGE
LISTVIEW_GETORIGIN
LISTVIEW_UPDATE
LISTVIEW_SETITEMSTATE
LISTVIEW_SETCHECKSTATE
LISTVIEW_GETITEMSTATE
LISTVIEW_GETCHECKSTATE
LISTVIEW_GETITEMTEXT
LISTVIEW_SETITEMTEXT
LISTVIEW_SETITEMCOUNT
LISTVIEW_SETITEMCOUNTEX
LISTVIEW_SORTITEMS
LISTVIEW_SETITEMPOSITION32
LISTVIEW_GETSELECTEDCOUNT
LISTVIEW_GETITEMSPACING
LISTVIEW_GETISEARCHSTRING
LISTVIEW_SETEXTENDEDLISTVIEWSTYLE
LISTVIEW_SETEXTENDEDLISTVIEWSTYLEEX
LISTVIEW_GETEXTENDEDLISTVIEWSTYLE
LISTVIEW_GETSUBITEMRECT
LISTVIEW_SUBITEMHITTEST
LISTVIEW_SETCOLUMNORDERARRAY
LISTVIEW_GETCOLUMNORDERARRAY
LISTVIEW_SETHOTITEM
LISTVIEW_GETHOTITEM
LISTVIEW_SETHOTCURSOR
LISTVIEW_GETHOTCURSOR
LISTVIEW_APPROXIMATEVIEWRECT
LISTVIEW_SETWORKAREAS
LISTVIEW_GETWORKAREAS
LISTVIEW_GETNUMBEROFWORKAREAS
LISTVIEW_GETSELECTIONMARK
LISTVIEW_SETSELECTIONMARK
LISTVIEW_SETHOVERTIME
LISTVIEW_GETHOVERTIME
LISTVIEW_SETTOOLTIPS
LISTVIEW_GETTOOLTIPS
LISTVIEW_SORTITEMSEX
LISTVIEW_SETSELECTEDCOLUMN
LISTVIEW_SETTILEWIDTH
LISTVIEW_SETVIEW
LISTVIEW_GETVIEW
LISTVIEW_INSERTGROUP
LISTVIEW_SETGROUPINFO
LISTVIEW_GETGROUPINFO
LISTVIEW_REMOVEGROUP
LISTVIEW_MOVEGROUP
LISTVIEW_MOVEITEMTOGROUP
LISTVIEW_SETGROUPMETRICS
LISTVIEW_GETGROUPMETRICS
LISTVIEW_ENABLEGROUPVIEW
LISTVIEW_SORTGROUPS
LISTVIEW_INSERTGROUPSORTED
LISTVIEW_REMOVEALLGROUPS
LISTVIEW_HASGROUP
LISTVIEW_SETTILEVIEWINFO
LISTVIEW_GETTILEVIEWINFO
LISTVIEW_SETTILEINFO
LISTVIEW_GETTILEINFO
LISTVIEW_SETINSERTMARK
LISTVIEW_GETINSERTMARK
LISTVIEW_INSERTMARKHITTEST
LISTVIEW_GETINSERTMARKRECT
LISTVIEW_SETINSERTMARKCOLOR
LISTVIEW_GETINSERTMARKCOLOR
LISTVIEW_SETINFOTIP
LISTVIEW_GETSELECTEDCOLUMN
LISTVIEW_ISGROUPVIEWENABLED
LISTVIEW_GETOUTLINECOLOR
LISTVIEW_SETOUTLINECOLOR
LISTVIEW_CANCELEDITLABEL
LISTVIEW_MAPINDEXTOID
LISTVIEW_MAPIDTOINDEX
LISTVIEW_ISITEMVISIBLE
LISTVIEW_SETGROUPHEADERIMAGELIST
LISTVIEW_GETGROUPHEADERIMAGELIST
LISTVIEW_GETEMPTYTEXT
LISTVIEW_GETFOOTERRECT
LISTVIEW_GETFOOTERINFO
LISTVIEW_GETFOOTERITEMRECT
LISTVIEW_GETFOOTERITEM
LISTVIEW_GETITEMINDEXRECT
LISTVIEW_SETITEMINDEXSTATE
LISTVIEW_GETNEXTITEMINDEX
LISTVIEW_SETBKIMAGE
LISTVIEW_GETBKIMAGE
TREEVIEW_INSERTITEM
TREEVIEW_DELETEITEM
TREEVIEW_DELETEALLITEMS
TREEVIEW_EXPAND
TREEVIEW_GETITEMRECT
TREEVIEW_GETCOUNT
TREEVIEW_GETINDENT
TREEVIEW_SETINDENT
TREEVIEW_GETIMAGELIST
TREEVIEW_SETIMAGELIST
TREEVIEW_GETNEXTITEM
TREEVIEW_GETCHILD
TREEVIEW_GETNEXTSIBLING
TREEVIEW_GETPREVSIBLING
TREEVIEW_GETPARENT
TREEVIEW_GETFIRSTVISIBLE
TREEVIEW_GETNEXTVISIBLE
TREEVIEW_GETPREVVISIBLE
TREEVIEW_GETSELECTION
TREEVIEW_GETDROPHILIGHT
TREEVIEW_GETROOT
TREEVIEW_GETLASTVISIBLE
TREEVIEW_GETNEXTSELECTED
TREEVIEW_SELECT
TREEVIEW_SELECTITEM
TREEVIEW_SELECTDROPTARGET
TREEVIEW_SELECTSETFIRSTVISIBLE
TREEVIEW_GETITEM
TREEVIEW_SETITEM
TREEVIEW_EDITLABEL
TREEVIEW_GETEDITCONTROL
TREEVIEW_GETVISIBLECOUNT
TREEVIEW_HITTEST
TREEVIEW_CREATEDRAGIMAGE
TREEVIEW_SORTCHILDREN
TREEVIEW_ENSUREVISIBLE
TREEVIEW_SORTCHILDRENCB
TREEVIEW_ENDEDITLABELNOW
TREEVIEW_GETISEARCHSTRINGA
TREEVIEW_GETISEARCHSTRINGW
TREEVIEW_GETISEARCHSTRING
TREEVIEW_SETTOOLTIPS
TREEVIEW_GETTOOLTIPS
TREEVIEW_SETINSERTMARK
TREEVIEW_SETUNICODEFORMAT
TREEVIEW_GETUNICODEFORMAT
TREEVIEW_SETITEMHEIGHT
TREEVIEW_GETITEMHEIGHT
TREEVIEW_SETBKCOLOR
TREEVIEW_SETTEXTCOLOR
TREEVIEW_GETBKCOLOR
TREEVIEW_GETTEXTCOLOR
TREEVIEW_SETSCROLLTIME
TREEVIEW_GETSCROLLTIME
TREEVIEW_SETINSERTMARKCOLOR
TREEVIEW_GETINSERTMARKCOLOR
TREEVIEW_SETITEMSTATE
TREEVIEW_SETCHECKSTATE
TREEVIEW_GETITEMSTATE
TREEVIEW_GETCHECKSTATE
TREEVIEW_SETLINECOLOR
TREEVIEW_GETLINECOLOR
TREEVIEW_MAPACCIDTOHTREEITEM
TREEVIEW_MAPHTREEITEMTOACCID
TREEVIEW_SETEXTENDEDSTYLE
TREEVIEW_GETEXTENDEDSTYLE
TREEVIEW_SETAUTOSCROLLINFO
TREEVIEW_GETSELECTEDCOUNT
TREEVIEW_SHOWINFOTIP
TREEVIEW_GETITEMPARTRECT
TABCTRL_SETIMAGELIST
TABCTRL_GETITEMCOUNT
TABCTRL_GETITEM
TABCTRL_SETITEM
TABCTRL_INSERTITEM
TABCTRL_DELETEITEM
TABCTRL_DELETEALLITEMS
TABCTRL_GETITEMRECT
TABCTRL_GETCURSEL
TABCTRL_SETCURSEL
TABCTRL_HITTEST
TABCTRL_SETITEMEXTRA
TABCTRL_ADJUSTRECT
TABCTRL_SETITEMSIZE
TABCTRL_REMOVEIMAGE
TABCTRL_SETPADDING
TABCTRL_GETROWCOUNT
TABCTRL_GETTOOLTIPS
TABCTRL_SETTOOLTIPS
TABCTRL_GETCURFOCUS
TABCTRL_SETCURFOCUS
TABCTRL_SETMINTABWIDTH
TABCTRL_DESELECTALL
TABCTRL_HIGHLIGHTITEM
TABCTRL_SETEXTENDEDSTYLE
TABCTRL_GETEXTENDEDSTYLE
TABCTRL_SETUNICODEFORMAT
TABCTRL_GETUNICODEFORMAT
ANIMATE_CREATE
ANIMATE_OPEN
ANIMATE_OPENEX
ANIMATE_PLAY
ANIMATE_STOP
ANIMATE_ISPLAYING
ANIMATE_CLOSE
ANIMATE_SEEK
MONTHCAL_GETCURSEL
MONTHCAL_SETCURSEL
MONTHCAL_GETMAXSELCOUNT
MONTHCAL_SETMAXSELCOUNT
MONTHCAL_GETSELRANGE
MONTHCAL_SETSELRANGE
MONTHCAL_GETMONTHRANGE
MONTHCAL_SETDAYSTATE
MONTHCAL_GETMINREQRECT
MONTHCAL_SETCOLOR
MONTHCAL_GETCOLOR
MONTHCAL_SETTODAY
MONTHCAL_GETTODAY
MONTHCAL_HITTEST
MONTHCAL_SETFIRSTDAYOFWEEK
MONTHCAL_GETFIRSTDAYOFWEEK
MONTHCAL_GETRANGE
MONTHCAL_SETRANGE
MONTHCAL_GETMONTHDELTA
MONTHCAL_SETMONTHDELTA
MONTHCAL_GETMAXTODAYWIDTH
MONTHCAL_SETUNICODEFORMAT
MONTHCAL_GETUNICODEFORMAT
MONTHCAL_GETCURRENTVIEW
MONTHCAL_GETCALENDARCOUNT
MONTHCAL_GETCALENDARGRIDINFO
MONTHCAL_GETCALID
MONTHCAL_SETCALID
MONTHCAL_SIZERECTTOMIN
MONTHCAL_SETCALENDARBORDER
MONTHCAL_GETCALENDARBORDER
MONTHCAL_SETCURRENTVIEW
DATETIME_GETSYSTEMTIME
DATETIME_SETSYSTEMTIME
DATETIME_GETRANGE
DATETIME_SETRANGE
DATETIME_SETFORMAT
DATETIME_SETMONTHCALCOLOR
DATETIME_GETMONTHCALCOLOR
DATETIME_SETMONTHCALFONT
DATETIME_GETMONTHCALFONT
DATETIME_SETMONTHCALSTYLE
DATETIME_GETMONTHCALSTYLE
DATETIME_CLOSEMONTHCAL
DATETIME_GETDATETIMEPICKERINFO
DATETIME_GETIDEALSIZE
PAGER_SETCHILD
PAGER_RECALCSIZE
PAGER_FORWARDMOUSE
PAGER_SETBKCOLOR
PAGER_GETBKCOLOR
PAGER_SETBORDER
PAGER_GETBORDER
PAGER_SETPOS
PAGER_GETPOS
PAGER_SETBUTTONSIZE
PAGER_GETBUTTONSIZE
PAGER_GETBUTTONSTATE
PAGER_GETDROPTARGET
BUTTON_GETIDEALSIZE
BUTTON_SETIMAGELIST
BUTTON_GETIMAGELIST
BUTTON_SETTEXTMARGIN
BUTTON_GETTEXTMARGIN
BUTTON_SETDROPDOWNSTATE
BUTTON_SETSPLITINFO
BUTTON_GETSPLITINFO
BUTTON_SETNOTE
BUTTON_GETNOTE
BUTTON_GETNOTELENGTH
BUTTON_SETELEVATIONREQUIREDSTATE
EDIT_SETCUEBANNERTEXT
EDIT_SETCUEBANNERTEXTFOCUSED
EDIT_GETCUEBANNERTEXT
EDIT_SHOWBALLOONTIP
EDIT_HIDEBALLOONTIP
EDIT_SETHILITE
EDIT_GETHILITE
COMBOBOX_SETMINVISIBLE
COMBOBOX_GETMINVISIBLE
COMBOBOX_SETCUEBANNERTEXT
COMBOBOX_GETCUEBANNERTEXT
DPA_SETPTRCOUNT
DPA_FASTDELETELASTPTR
FD_CLR
FD_SET_SUB
FD_ZERO
CREDUIP_IS_USER_PASSWORD_ERROR
CREDUIP_IS_DOWNGRADE_ERROR
CREDUIP_IS_EXPIRED_ERROR
CREDUI_IS_AUTHENTICATION_ERROR
CREDUI_NO_PROMPT_AUTHENTICATION_ERROR
IS_CHAIN_HASH_PROP_ID
EDIT_LINESCROLL
LISTBOX_ADDSTRING
LISTBOX_INSERTSTRING
LISTBOX_GETTEXT
LISTBOX_FINDSTRING
LISTBOX_FINDSTRINGEXACT
LISTBOX_DIR
COMBO_ADDSTRING
COMBOBOX_INSERTSTRING
COMBO_GETLBTEXT
COMBO_FINDSTRING
COMBO_SELECTSTRING
COMBOBOX_DIR
COMBOBOX_FINDSTRINGEXACT
Добавлено через 35 минут
Цитата Сообщение от The trick Посмотреть сообщение
Ну ты же к примеру не пишешь весь код в одном файле, ты с большой вероятностью разделяешь его на блоки, где каждый файл выполняет какую либо задачу, или деление на функции и процедуры - из той же серии.
Да нет, я-то как раз и пишу всегда именно одним файлом
Привык уже

Ну а процедуры и функции, да, конечно же отделены друг от друга.
Но это так компилятор требует.
А вообще-то я, пожалуй, запроста смог бы даже сейчас писать, как когда-то в Спектрум-бейсик, - всё подряд сверху вниз и с прыжками GOTO на номера строк
Нет, всё-таки на лейблы, пожалуй, а то номера-то они же сдвигаются, если что-нибудь вставлять

Цитата Сообщение от Power_Basic
А вот этот вопрос меня как раз интересует и я даже относительно недавно создал ветку приблизительно на такую же тему, но там мне никто (кроме флуда) ничего толком так и не ответил:
Цитата Сообщение от The trick Посмотреть сообщение
Если лицензия позволяет, то можно распространять библиотеки с приложением.
Нет, сейчас вот серьёзно говорю, безо всяких шуток. Лицензия здесь вообще ни при чём. Это же просто с одного моего домашнего компьютера на другой, исключительно для самого себя. Вопрос состоял в том, как это сделать технически.
Сейчас-то удалось-таки установить полноценную семёрку на "малыша", поэтому вопрос отпал, а на тот момент удалось "втиснуть" только очень сильно урезанную сборку с отрезанным SAPI. Отдельно SAPI установить невозможно, потому что, начиная с Windows_XP, это неотъемлемая часть самой винды. Соответственно, программы с озвучкой там не работали.
Практический вопрос отпал, но теоретический всё-таки остался.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2020, 02:35

набор опытных C++ программистов
Большой иностранный банк проводит набор опытных C++ программистов для IT-департамента своего московского офиса. Необходимы кандидаты с...

Приглашаю На работу Опытных Программистов
Всем привет . Я ищю Хороших программистов для работы над Онлайн игрой ( в типе neverlands) От вас Требую одно хорошую ...

Нужен совет опытных программистов на C#
Всем добрый день! Я здесь абсолютно новенький! Так что прошу сразу не кидать камнями если задаю вопросы не там где нужно! :) Совсем...

Нужен совет опытных программистов
Задача: Написать систему логирования LS кода, подсчета производительности (как долго исполняется LS код) и учета ошибок. Цель: получить...

Требуется совет опытных программистов
Основы С++ более менее изучены. Что же дальше? Что учить чтоб писать хоть какие то простенькие прикладные программы?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Поиск всех путей на ориентированном графе. 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
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru