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

Изучение основ FreeBasic в сравнении с PowerBasic

10.10.2022, 22:17. Показов 21982. Ответов 218

Студворк — интернет-сервис помощи студентам
Всем добра и мира!

К сожалению, PowerBasic прекратил своё развитие вследствие смерти его создателя и главного (а скорее всего, единственного) разработчика Роберта Зейла в 2012-ом году. К настоящему времени последние надежды на его развитие окончательно угасли. В связи с этим я решил приступить к изучению основ FreeBasic'а.

В этой ветке форума буду задавать вопросы, возникающие у меня в процессе ознакомления с этим ЯП.

Как говорится, всё познаётся в сравнении. Ну вот и буду изучать FreeBasic, опираясь на определённый опыт ЛЮБИТЕЛЬСКОГО программирования на PowerBasic'е.

Буду очень благодарен за любую помощь.

Итак, первый возникший у меня вопрос.

Каким образом в структурах FreeBasic'а появилась возможность использовать динамические строки?
В PowerBasic'е это строго запрещено. Можно использовать только строки фиксированной длины.

Вот 2 работающих (с одним и тем же результатом на консоли) кода для сравнения:

FreeBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TYPE Persons
    Name AS STRING
    Surname AS STRING
    Age AS BYTE = 35
END TYPE
 
DIM Vpersons AS Persons
 
Vpersons.Name="Richard"
Vpersons.Surname="Black"
 
? Vpersons.Name
? Vpersons.Surname
? Vpersons.Age
Sleep
PowerBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#COMPILE EXE
#DIM ALL
 
TYPE Persons
  Name AS STRING*10       'если здесь написать "Name AS STRING", компилятор бастует
  Surname AS STRING*10   'если здесь написать "Surname AS STRING", компилятор бастует
  Age AS BYTE           'значение по умолчанию здесь присвоить не получится
END TYPE
 
FUNCTION PBMAIN () AS LONG
DIM Vpersons AS Persons
 
  Vpersons.Name="Richard"
  Vpersons.Surname="Black"
  Vpersons.Age = 35
 
  ? Vpersons.Name
  ? Vpersons.Surname
  ? Vpersons.Age
 
  SLEEP 5000    'если SLEEP без указания продолжительности, компилятор бастует
END FUNCTION
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.10.2022, 22:17
Ответы с готовыми решениями:

Перегрузка методов (изучение основ)
Добрый день! Вот я добрался до перегрузки методов и быстренько накидал вот такой пример: using System; namespace...

Сколько в среднем часов уходит на изучение основ C++?
1) Если с нуля 2) Если после паскаля или чего то в этом духе

Групповое изучение программирование с основ без преподавателя
Суть: Студенты 3 курса Специальность: информационно вычислительная техника, после третьего курса "Аналитики" С с божьей...

218
1401 / 860 / 92
Регистрация: 08.02.2017
Сообщений: 3,668
Записей в блоге: 2
15.11.2022, 17:41
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от The trick Посмотреть сообщение
Что значит - "как свои?"
Чтоб каждую функцию можно было вызывать по имени, как при декларировании

Добавлено через 7 минут
Цитата Сообщение от The trick Посмотреть сообщение
Нет. Подкючаются библиотеки типов, а там могут быть и COMовские интерфейсы, классы и т.п. так и обычные структуры, "плоские" функции, константы и т.п.
Наверное это и был ответ, спасибо )
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
15.11.2022, 17:41
Цитата Сообщение от testuser2 Посмотреть сообщение
Чтоб каждую функцию можно было вызывать по имени, как при декларировании
Да, конечно. Функции типа MsgBox, CreateObject на самом деле "живут" в библиотеке MSVBVM60 которая по умолчанию подключена в референсах. Есть win32.tlb при подключении которой становятся доступные некоторые WINAPI функции и структуры с константами.
2
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,009
Записей в блоге: 7
15.11.2022, 17:46
Цитата Сообщение от testuser2 Посмотреть сообщение
1) Можно ли в каком либо Бейсике подключить библиотеку так, чтобы стали доступны все функции, как свои?
Обычный метод статическая линковка.
Для примера использование функции qsort из MSVCRT.dll Изучение основ FreeBasic в сравнении с PowerBasic

Цитата Сообщение от The trick Посмотреть сообщение
COM библиотека сама является обычной процедурной DLL.
Там экспортируются только несколько служебных функций. По сути это не процедурная dll.
1
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
15.11.2022, 17:50
Цитата Сообщение от locm Посмотреть сообщение
Там экспортируются только несколько служебных функций. По сути это не процедурная dll.
Даже не буду спорить. DirectX нервно курит в сторонке.
0
1401 / 860 / 92
Регистрация: 08.02.2017
Сообщений: 3,668
Записей в блоге: 2
15.11.2022, 17:57
Цитата Сообщение от locm Посмотреть сообщение
Для примера использование функции qsort из MSVCRT.dll
Да заметил как легко это деается в FB. Думю на FB можно писать что-то вроде врапперов (если я правильно это называю) для разшаривания некоторых WinApi функций, которые недоступны на том же VBA.
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
15.11.2022, 18:00
Цитата Сообщение от testuser2 Посмотреть сообщение
Да заметил как легко это деается в FB. Думю на FB можно писать что-то вроде врапперов (если я правильно это называю) для разшаривания некоторых WinApi функций, которые недоступны на том же VBA.
В редких случаях это нужно. API функции можно подключить через библиотеку типов. Как пример.
1
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
16.11.2022, 12:20
Цитата Сообщение от Power_Basic Посмотреть сообщение
Не будем
Тогда только про basic.))
И вот, что я хочу сказать и про PowerBasic и про Free Basic и др. подобные, в том числе Qbasic и более свежие версии от майкров, в том числе Net.
Только не обижайтесь. Лично я считаю, и это мое чисто личное мнение, даже убеждение, что все эти бэйсики на самом деле вовсе не бэйсики! А что же они такое? Честно говоря - не знаю, по всей видимости клоны друг друга в той или иной степени. Они все практически похожи друг на друга по структуре, так что взглянешь на код - там все ясно. Можно переходить с одного языка на другой очень быстро потому что это все практически одно и тоже.
А что же тогда такое настоящий бэйсик? Для меня лично это примерно первый дартмутский вариант о Куртца и Кемени. С числовыми метками строк, с почти полным отсутствием структуризации (ограниченным возможностями ключевого слова if). С неполноценными процедурами, которые запрещали рекурсию, зато позволяли иметь быстрый код. Вот это именно и есть то, что я лично называю basic! Всё остальное это уже ДАЛЕКО не basic! То есть не "Beginner’s All-purpose Symbolic Instruction Code" что в переводе - "Универсальный код символических инструкций для начинающих". Тут самое ключевое слово: "для начинающих". На него взглянешь: сразу понятно, что это basic!
А мы сейчас предлагаем программировать начинающим на языках, которые были подогнаны к профессиональному уровню, к определенной парадигме. Что кстати, в значительной степени привело к негативным последствиям для быстроты работы кода.
Да, FB позволяет как бы эмулировать к примеру числовые номера строк, но другие плюшки сразу же отвалятся, а сам компилятор останется тяжеловесным и напичканным разной "дурью"..
И куда податься бедному вечно-начинающему?..
Либо писать свой компилятор, либо ждать, пока его кто-то напишет через 200 с небольшим лет..
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
16.11.2022, 13:17
Цитата Сообщение от locm Посмотреть сообщение
потому что COM только в Windows. В Linux и MacOS X его нет.
Я аж под стул упал.
COM — это просто диспетчеризация вызовов по виртуальной таблице функций.
COM есть везде, он неубиваем, потому что все мейнстримовые языки программирования создают VTABLE у объектов, а если не создают, как например си, так программист делает VTABLE руками. В линуксовом ядре постоянно применяются интерфейсы и наследование.

Добавлено через 38 минут
Цитата Сообщение от CoderHuligan Посмотреть сообщение
первый дартмутский вариант о Куртца и Кемени
Непрактично.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
С числовыми метками строк
Во‐первых, любой текстовый редактор уровня Notepad++ умеет показывать номера строк.
Во‐вторых, это было нужно для диалогового режима, и в 2022 году этот режим умер.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Тут самое ключевое слово: "для начинающих"
Чтобы потом придя на работу услышать фразу «Забудьте всё чему вас учили в школе». Ценность такого языка равна нулю.
2
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,009
Записей в блоге: 7
16.11.2022, 13:44
Цитата Сообщение от Замабувараев Посмотреть сообщение
COM — это просто диспетчеризация вызовов по виртуальной таблице функций.
COM есть везде
И регистрация в реестре есть в Linux и MacOS X?
COM это гораздо больше чем таблица функций.
0
 Аватар для CoderHuligan
1753 / 1019 / 257
Регистрация: 30.06.2015
Сообщений: 5,132
Записей в блоге: 56
16.11.2022, 14:03
Цитата Сообщение от Замабувараев Посмотреть сообщение
Непрактично.
До некоторой степени - да. Но можно было бы несколько улучшить в корне не меняя основную идею. Ведь можно создать новый c++ и обозвать его "basic" но это же смешно? А ведь именно так поступили все эти улучшатели и подражатели..
Цитата Сообщение от Замабувараев Посмотреть сообщение
Во‐первых, любой текстовый редактор уровня Notepad++ умеет показывать номера строк.
Это разные вещи. Вы же должны понимать. Не все строки в basic можно и нужно нумеровать, а лишь те, которые не пусты, и что-то значат. А ноутпад нумерует даже пустые строки. И делает это он через единицу. И не перенумеровывает их по команде программиста через RENUM. Ok? Не знали?
Цитата Сообщение от Замабувараев Посмотреть сообщение
Во‐вторых, это было нужно для диалогового режима, и в 2022 году этот режим умер.
Это нужно было для того, чтобы не мучить свою бошку выдумыванием имен меток для перехода на них по команде goto. Только и всего. Кстати я просто скучаю без goto, особенно в Tcl..
Цитата Сообщение от Замабувараев Посмотреть сообщение
Чтобы потом придя на работу услышать фразу «Забудьте всё чему вас учили в школе».
Язык не для профи, а для домашнего использования любителями.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Ценность такого языка равна нулю.
Ценность такого языка превышает все разумные пределы если учесть количество непрофессиональных программистов-любителей, которым нужен настольный калькулятор и возможность писать свои небольшие утилиты на простом языке с простым компилятором под капотом, который он МОЖЕТ понять.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
16.11.2022, 14:14
Цитата Сообщение от locm Посмотреть сообщение
И регистрация в реестре есть в Linux и MacOS X?
COM это гораздо больше чем таблица функций.
Если в реестре нет записей GUID, ProgID и CLSID, это не сделает объект не COM.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,009
Записей в блоге: 7
16.11.2022, 14:34
Повторюсь, таблица функций это не полнофункциональный COM. https://ru.wikipedia.org/wiki/... ject_Model
Изначально задача была в вызове x86 ActiveX DLL из x64 процесса.
Чем таблица функций в этом поможет? Нужна поддержка со стороны ОС и как понимаете это гораздо больше чем VTABLE.
1
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
16.11.2022, 15:52  [ТС]
Цитата Сообщение от Power_Basic Посмотреть сообщение
Сейчас как раз буду заниматься тем, что создам простейший COM-компонент с единственным методом AddOne (одноимённая функция уже упоминалась в этой ветке) и попробую вызвать его из другой PowerBasic-программы. Если получится, значит компонент рабочий и его можно будет пробовать экспортировать в другие языки.
Процитировал самого себя, чтобы не повторяться.

Ну короче, пока печаль
Не получается каменный цветок у Данилы-мастера
Хотя, если следовать аллегории известного анекдота, то именно каменный цветок-то как раз и получается

Файлы .DLL и .TLB вроде бы смастерил, но вот в другой программе получить ссылку (создать объектную переменную) на этот СОМ-сервер пока не могу
Ну и следовательно, не понятно, работоспособный это компонент или нет.

Создавал вот так:

PowerBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#COMPILE DLL
#DIM ALL
 
#COM TLIB ON                      ' Generate a type library file
 
CLASS cls_AddOne GUID$("{5C9FFA61-D322-4E9F-9165-6E0ABD3BCB5D}") AS COM
  INTERFACE intrf_AddOne GUID$("{196EE916-64E2-4CE3-A1F9-E618BE50FDB9}")
    INHERIT Idispatch
 
    method mth_AddOne ALIAS "mth_AddOne" (byval X as long) as long
      METHOD = X + 1
    END METHOD
  END INTERFACE
END CLASS
Сейчас пытаюсь как-нибудь всё-таки "подружить" СОМ-сервер с СОМ-клиентом.

Пока пробую обойтись без регистрации в реестре. Просто открываю файл .TLB в СОМ-браузере. Там автоматически пишется код.
Ну а дальше (пока неудачно) пытаюсь получить ссылку на этот объект в объектную переменную. Вот так сейчас выглядит мой СОМ-клиент:

PowerBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#COMPILE EXE
#DIM ALL
 
' Generated by: PowerBASIC COM Browser v.2.00.0086
' Date & Time : 16.11.2022 at 15:12
' Options:
' Always use an Interface Prefix : Off
' Interface Prefix               : AddOne
' Prefix ProgIDs, ClassIDs...    : Off
' Use ANSI Strings               : On
' Use Singular Enumerations      : Off
' Generate Dispatch Interfaces   : On
' Include Parameter Names        : On
' Use Property Get/Set statements: On
' ------------------------------------------------
' Library Name: Com_Addone.dll
' Library File: D:\SSD_STOL\COM_AddOne\Com_Addone.tlb
' Description : COM Library
' GUID : {4F582608-BEDA-40AB-B263-D7B8F5DC7800}
' LCID : 0
' Version : 1.0
 
' Class Identifiers
$CLSID_CLS_ADDONE = GUID$("{5C9FFA61-D322-4E9F-9165-6E0ABD3BCB5D}")
 
' Interface Identifiers
$IID_INTRF_ADDONE = GUID$("{196EE916-64E2-4CE3-A1F9-E618BE50FDB9}")
 
' Interface Name  : INTRF_ADDONE
' Description     : INTRF_ADDONE is a dual interface with VTable/Dispatch access.
' Class Name      : CLS_ADDONE
' ClassID         : $CLSID_CLS_ADDONE
 
Interface IDBind INTRF_ADDONE
    Member Call mth_AddOne <257> (In X As Long<0>) As Long
End Interface
 
FUNCTION PBMAIN () AS LONG
  local obj_INTRF_ADDONE AS IDISPATCH
  obj_INTRF_ADDONE = NEWCOM CLSID $CLSID_CLS_ADDONE
 
  if not ISOBJECT(obj_INTRF_ADDONE) then
       msgbox "Ошибка! Объект не создан!"
       end
  end if
END FUNCTION
Вложения
Тип файла: zip COM_AddOne.zip (11.1 Кб, 8 просмотров)
Тип файла: zip Addone_Client.zip (19.8 Кб, 0 просмотров)
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
16.11.2022, 16:03
Цитата Сообщение от Power_Basic Посмотреть сообщение
Думаю, что во фрибейсике будет что-то похожее. Неужели там для простого вывода текста в текстбокс тоже придётся вызывать сторонние функции?!
Пока все тут беснуются, набросал на скорую руку программу, которая считает буквы и цифры в тексте:
Вложения
Тип файла: zip CharsCounter.zip (54.4 Кб, 13 просмотров)
1
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
16.11.2022, 17:16
Цитата Сообщение от locm Посмотреть сообщение
Изначально задача была в вызове x86 ActiveX DLL из x64 процесса.
В упрощённом порядке достаточно:
1. Унаследоваться от IDispatch.
2. Иметь библиотеку типов.

Всё остальное делается не на языке программирования, а средствами администрации ОС.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,009
Записей в блоге: 7
16.11.2022, 17:45
Цитата Сообщение от Замабувараев Посмотреть сообщение
Всё остальное делается не на языке программирования, а средствами администрации ОС.
Сделайте это (загрузите x86 ActiveX библиотеку в x64 процесс) в линуксе и макоси. Иначе все ваши слова про "COM есть везде" это просто слова не имеющие ничего общего с реальностью.
Весь все началось с сообщения Изучение основ FreeBasic в сравнении с PowerBasic
Прочитайте внимательно что там написано.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
16.11.2022, 19:32
Цитата Сообщение от locm Посмотреть сообщение
Сделайте это (загрузите x86 ActiveX библиотеку в x64 процесс) в линуксе и макоси
Я оставляю это вам в качестве домашнего задания, коли у вас есть такое железо и ОС.
0
Эксперт по электронике
6998 / 3314 / 341
Регистрация: 28.10.2011
Сообщений: 13,009
Записей в блоге: 7
16.11.2022, 20:29
То есть вы понимаете какую глупость сморозили и предпочли тупо слиться?
Постройтесь в дальнейшем хорошо подумать прежде чем что-то писать.
0
 Аватар для Power_Basic
46 / 25 / 0
Регистрация: 08.03.2016
Сообщений: 443
16.11.2022, 22:54  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
набросал на скорую руку программу, которая считает буквы и цифры в тексте:
Попробовал, работает хорошо.

СОМ-сервер у меня всё-таки получился. Пришлось зарегистрировать его в реестре, иначе сумел.

Зарегистрировал с помощью консольной команды:

Code
1
regsvr32 Com_Addone.dll
В СОМ-клиенте PowerBasic'а исправно прибавляется единица.

Как бы мне теперь этот СОМ-компонент ещё и во FreeBasic'е запустить?

Вот итоговая связка (сервер-клиент), которая в PowerBasic'е реально работает.
Вложения
Тип файла: zip 01.zip (25.6 Кб, 12 просмотров)
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
17.11.2022, 00:18
Лучший ответ Сообщение было отмечено Power_Basic как решение

Решение

Цитата Сообщение от Power_Basic Посмотреть сообщение
Как бы мне теперь этот СОМ-компонент ещё и во FreeBasic'е запустить?
Упрощённо как‐то так:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include once "windows.bi"
#include once "win\ole2.bi"
#include once "win\oaidl.bi"
 
Type IAddone As IAddone_
 
Type IAddoneVtbl
    QueryInterface As Function(ByVal this As IAddone Ptr, ByVal riid As Const IID Const Ptr, ByVal ppvObject As any Ptr Ptr) As HRESULT
    AddRef As Function(ByVal this As IAddone Ptr) As ULONG
    Release As Function(ByVal this As IAddone Ptr) As ULONG
    GetTypeInfoCount As Function(ByVal this As IAddone Ptr, ByVal pctinfo As UINT Ptr) As HRESULT
    GetTypeInfo As Function(ByVal this As IAddone Ptr, ByVal iTInfo As UINT, ByVal lcid As LCID, ByVal ppTInfo As ITypeInfo Ptr Ptr) As HRESULT
    GetIDsOfNames As Function(ByVal this As IAddone Ptr, ByVal riid As Const IID Const Ptr, ByVal rgszNames As LPOLESTR Ptr, ByVal cNames As UINT, ByVal lcid As LCID, ByVal rgDispId As DISPID Ptr) As HRESULT
    Invoke As Function(ByVal this As IAddone Ptr, ByVal dispIdMember As DISPID, ByVal riid As Const IID Const Ptr, ByVal lcid As LCID, ByVal wFlags As WORD, ByVal pDispParams As DISPPARAMS Ptr, ByVal pVarResult As VARIANT Ptr, ByVal pExcepInfo As EXCEPINFO Ptr, ByVal puArgErr As UINT Ptr) As HRESULT
    Addone As Function(ByVal this As IAddone Ptr, ByVal X As Long, ByVal pResult As Long Ptr)As HRESULT
end type
 
Type IAddone_
    lpVtbl As IAddoneVtbl Ptr
End Type
 
Dim Shared CLSID_ADDONE As CLSID = Type(&h5C9FFA61, &hD322, &h4E9F, _
    {&h91, &h65, &h6E, &h0A, &hBD, &h3B, &hCB, &h5D} _
)
Dim Shared IID_IAddone As IID = Type(&h196EE916, &h64E2, &h4CE3, _
    {&hA1, &hF9, &hE6, &h18, &hBE, &h50, &hFD, &hB9} _
)
 
Dim hrCoInitialize As HRESULT = CoInitialize(0)
If FAILED(hrCoInitialize) Then
    Print "Не могу инициализировать COM", Hex(hrCoInitialize)
    End(1)
End If
 
Dim pAddone As IAddone Ptr = Any
Dim hrCreate As HRESULT = CoCreateInstance( _
    @CLSID_ADDONE, _
    NULL, _
    CLSCTX_INPROC_SERVER, _
    @IID_IAddone, _
    @pAddone _
)
If FAILED(hrCreate) Then
    Print "Не могу создать объект", Hex(hrCreate)
    End(1)
End If
 
Dim Value As Long = 20
Dim Result As Long = Any
Dim hrAddOne As HRESULT = pAddone->lpVtbl->Addone(pAddone, Value, @Result)
If FAILED(hrAddOne) Then
    Print "Ошибка в функции IAddone_Addone", Hex(hrAddOne)
    End(1)
End If
 
Print "Результат IAddone_Addone", Result
 
pAddone->lpVtbl->Release(pAddone)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.11.2022, 00:18

Лабораторная работа на изучение основ работы с debug.exe
Ход работы 1. Запишите в отчет тему и цель. 2. В командной строке наберите debug. У вас должно появиться на экране окно отладчика с...

Лабораторная работа(Изучение основ.Одномерный и двумерный массивы.Процессы)
Ребята, помогите с задачами, дали написать задачи на VBA (ни разу с ним не имел дела), первые 3 задачи делал на python'e может быть Вы...

Проблема с Imagelist в PowerBasic 10
Я хочу в ресурс вставить одно растровое изображение. Затем с помощью графических команд вырезать кусочки в память и добавлять их в...

FreeBASIC
Заметил, что уже имеющиеся на форуме темы в разделах: - QBasic - Visual Basic - VBA - Pure Basic посещаются довольно часто –...

Уйти с freebasic
написал кое как программу с openCL на freebasic там моделируется взfвимодействие частиц через потенциал парного взаимодейстивия ...


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

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
28. Конкретное развертывание плана номер 1 из поста номер 27
anaschu 22.06.2026
Можно ли из модели получить конкретные строительные требования? Честно — напрямую из текущей модели такие ответы не получить. Но цепочка логики есть, и она не такая длинная. Где разрыв . . .
27. Планы на разработку функциональных требований к строительству внутри модели пищеблока (или не только его?)
anaschu 22.06.2026
Что уже реализовано и даёт конфликты «бесплатно» Самый простой конфликт уже работает — конфликт за ресурс-работника. Заданий больше, чем доступных поваров → очередь в queue1. Это прямое отражение. . .
26. мед мат модель.Какие типы конфликтов функциональных требований можно рассчитать через ДЕС-моделирование (СМО) в AnyLogic?
anaschu 22.06.2026
Что ДЕС/ СМО умеет считать напрямую: Конфликты за ресурсы (очереди, узкие места). Несколько типов агентов (повара, учителя, рабочие, пациенты) претендуют на один ресурс (лифт, вход, коридор,. . .
25 модель здравосохранения и функциональных требований к пищеблоку: конфликты функциональных требований.
anaschu 22.06.2026
Есть ли данные о том, какие функциональные/ эксплуатационные требования или их сочетания труднее всего учитывать при проектировании зданий? Да, такие данные есть, и они хорошо описаны и в российской,. . .
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу: https:/ / github. com/ altbodhi/ ReConMan По итогу пришел к мысли, что DU не дружат с существующими технологиями. От сериализации до отображения в реляционную. . .
Администрация Хабра удаляет новые энрегоэфективные алгоритмы, которые не западной школы кода, и вовсе никак не сгенерировавны.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru