Аватар для Argus19
1433 / 450 / 78
Регистрация: 24.09.2017
Сообщений: 2,533
Записей в блоге: 23

Twin Basic

27.10.2024, 20:05. Показов 29293. Ответов 330
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Несмотря на то, что проект Twin Basic по словам авторов в заключительной стадии "бета", скачал и попробовал.
Непривычный интерфейс.
Открыл проект, созданный в IDE Visual Basic 6.0, скомпилировал и 32 и 64 разрядные версии. По объёму результирующего кода получилось больше. Может быть нет оптимизации кода.
Кто-нибудь из форумчан может что-то сказать об этой IDE ?
3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.10.2024, 20:05
Ответы с готовыми решениями:

Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net ?
Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net

Вычисление значений функции двух переменных в Visual Basic - Visual Basic
Помогите пожалуйста! В среде VB написать программу вычисления значений функции двух переменных. Ориентировочный вид окна программы и...

Visual Basic 6 и Visual Basic .NET - в чем различия?
Visual Basic и Visual studio это не одно и тоже? если нет то в чём разница, по мимо оформления?

330
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
03.12.2024, 13:49
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от HackerVlad Посмотреть сообщение
ну если новый раздел открывать то нужно и модераторов в него набирать понимаешь, а кто захочет...
Будто бы туда нрод сразу набежит. По факту там будут те же самые лица, которые тут пишут. Еще вопрос на засыпку, у разделов VBA и VB разные модераторы?
0
Эксперт по электронике
6866 / 3289 / 340
Регистрация: 28.10.2011
Сообщений: 12,878
Записей в блоге: 7
03.12.2024, 14:19
Цитата Сообщение от Mikle Quits Посмотреть сообщение
Можно просто переименовать раздел "Pure Basic" в "Pure Basic, Twin Basic, Power Basic и т. д."
И зачем? Может лучше раздел VB переименовать в "Visual Basic, Twin Basic, Power Basic, Free Basic, Real Basic и др."? Чтобы была тут куча тем по всем диалектам!
Кстати, на форуме не редко появляются вопросы про Free Basic, а раздела нет.
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
03.12.2024, 14:23
Я бы сказал, Twin Basic не надо мешать с чем-то другим, имхо, это нечто выдающееся, как бы цветок среди камней, это уже видно сейчас.
1
dive
 Аватар для I can
4969 / 4664 / 847
Регистрация: 13.04.2015
Сообщений: 9,866
03.12.2024, 14:38
Цитата Сообщение от testuser2 Посмотреть сообщение
у разделов VBA и VB разные модераторы?
А самому слабО посмотреть?




1
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
03.12.2024, 14:51
Цитата Сообщение от I can Посмотреть сообщение
А самому слабО
Это был не вопрос..
0
dive
 Аватар для I can
4969 / 4664 / 847
Регистрация: 13.04.2015
Сообщений: 9,866
03.12.2024, 14:53
Цитата Сообщение от testuser2 Посмотреть сообщение
Это был не вопрос..
Извини, знак вопроса привиделся:
Цитата Сообщение от testuser2 Посмотреть сообщение
у разделов VBA и VB разные модераторы?
и слово "вопрос" тоже
Цитата Сообщение от testuser2 Посмотреть сообщение
вопрос на засыпку
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
03.12.2024, 15:15
Цитата Сообщение от I can Посмотреть сообщение
Извини, знак вопроса привиделся:
Это как бы предложение ответить себе на вопрос )

Добавлено через 16 минут
Для тех, кому этот вопрос актуален. Сам то я давно знаю ответ на этот вопрос..)
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
03.12.2024, 17:20
Я почему-то сразу понял что это был сарказм)

Добавлено через 9 минут
testuser2, в VBA кстати shanemac51, The trick, Catstail, zss
shanemac51 ещё добавляется как видишь сам
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
03.12.2024, 17:22
shanemac51 еще по Access-у специализируется вроде
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
03.12.2024, 17:22
Посмотри например в vb.net совсем другие модеры
Yury Komar, Элд Хасп, zss

zss только совпадает он вездесущ походу
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
03.12.2024, 17:49
Цитата Сообщение от HackerVlad Посмотреть сообщение
Yury Komar, Элд Хасп, zss
Они кстати там всем Нетом заведуют..
0
03.12.2024, 18:17
 Комментарий модератора 
Заканчиваем офтоп
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
04.12.2024, 17:22
Неплохо если бы Twin basic перенял у Free basic 2 вещи, струкрутры-классы и еще мне нравятся там строки. В FB в строках ZString инфрмация о размере содержистя в заголовке, а не в буфере строки, по моему это удобнее во многих случаях, чем когда размер в буфере строки.
Цитата Сообщение от Замабувараев Посмотреть сообщение
Во фрибесике структура — это почти что класс, а переменная — это экземпляр этого класса (объект). Если вы добавляете инициализатор в структуру, то фрибесик сгенерирует конструктор класса (и деструктор), в котором полю Age будет присвоено 35.
Цитата Сообщение от Power_Basic Посмотреть сообщение
Помню, писал однажды программу, в которой был массив UDT. А в том UDT как раз были имена и фамилии
В компиляторных потрохах фрибесика тип данных String — это структура следующего устройства:
PureBasic
1
2
3
4
5
6
7
8
Type FBSTRING
 ' Указатель на данные + нулевой символ
 Data As ZString Ptr
' Длина строки без учёта нулевого символа
 Len As Integer
' Размер занимаемой памяти
 Size As Integer
End Type
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
04.12.2024, 20:40
Цитата Сообщение от testuser2 Посмотреть сообщение
В FB в строках ZString инфрмация о размере содержистя в заголовке, а не в буфере строки, по моему это удобнее во многих случаях, чем когда размер в буфере строки.
А в чем проблема создать такую структуру?

Цитата Сообщение от testuser2 Посмотреть сообщение
Во фрибесике структура — это почти что класс, а переменная — это экземпляр этого класса (объект).
Для 100% обратной совместимости объекты должны являться COM объектами.
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
05.12.2024, 02:05
Цитата Сообщение от The trick Посмотреть сообщение
А в чем проблема создать такую структуру?
в том что ее нельзя использовать как обычную строку в коде. Допустим надо собрать массив строк, то логичнее было бы сливать все строки в единый буфер через разделитель ноль, а сам массив, это заголовки. Потом удобнее обрабатывать этот массив, перебирая заголовки и там же беря размеры. А единый буфер можно замапить в одну большую строку и чтобы быстро там нахдить там какую-то подстроку.
Цитата Сообщение от The trick Посмотреть сообщение
Для 100% обратной совместимости объекты должны являться COM объектами.
Так обратная совместимость пусть будет регрессивная. Просто как новую дополнительную возможность бы добавили.
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
07.12.2024, 10:45
Цитата Сообщение от testuser2 Посмотреть сообщение
Да раздел-то хрен с ним, у нас сильно отстает обсуждение, хотя отчасти понятно почему.
testuser2, для создания отдельного раздела пока мало тем, я думаю что на данный момент это неактуально. Тут даже для FreeBasic нет раздела, хотя тем намного больше. Т.к. Twin Basic позиционирует себя как на 100% совместимый с VB6 то его обсуждение в этом разделе легитимно. Если потом будет поток вопросов и тем по нему, то с легкостью можно будет создать подраздел и темы из основного раздела перенести в него.
1
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
07.12.2024, 12:15
Цитата Сообщение от testuser2 Посмотреть сообщение
Visual Basic
1
2
3
    Dim a As Long, b As Long, c As Long
     Array(a, b, c) = Array(1, 2, 3)
     Debug.Print a, b, c
Показалось мне сначала, что подобный вид выражения можно легко воспроизвести на VB, однако на деле оказались тоже просто, но с некторыми нюансами.. Вместо RefArray можно использовать и обычный Array, однако если представить присвоение таким способом больших строк или массивов, логичней было бы избежать лишних копирований, для чего и сделана функця RefArray, создающая массив ссылок на переменные. Параметр lp0 в ней используется лишь для вычисления указателя массива параметра, поскольку напрямую этот указатель не получить в виду ограничений VB для массива параметров, также, к сожалению нельзя задать этот параметр как Optional в виду другого ограничения использования Optional параметров вместе с ParamArray.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Declare Sub GetMem4 Lib "msvbvm60" (Src As Any, Dst As Any)
Private Declare Function vbaAryMove Lib "msvbvm60" Alias "__vbaAryMove" (Dst() As Any, ByVal pSrc As Long) As Long
 
Private Sub testArray()
    Dim a$, b&, c#
    Dim e$, f&, g#    
    
    LeftArray(a, b, c) = RefArray(0, "afff", 4343, 989.879)
    LeftArray(e, f, g) = RefArray(0, a, b, c)
    Debug.Print a, b, c; vbCr; e, f, g
End Sub
 
Property Get RefArray(ByVal lp0&, ParamArray arInp()) As Variant()
    Dim ptr&
    GetMem4 ByVal VarPtr(lp0) + 4, ptr
    vbaAryMove RefArray, ptr
End Property
 
Property Let LeftArray(ParamArray arDst(), arSrc())
    Dim i&
    For i = 0 To UBound(arDst)
        arDst(i) = arSrc(i)
    Next
End Property
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
07.12.2024, 12:47
Цитата Сообщение от testuser2 Посмотреть сообщение
логичнее было бы сливать все строки в единый буфер через разделитель ноль
Это неудобно. И вот почему.

Допустим, есть массив строк:
Code
1
Dim Vector(2) As String = {"Первый", "Второй", "Третий"}
И все символьные данные хранятся друг за другом.

Нам нужно заменить второй элемент:
Code
1
Vector(1) = "Другой элемент"
В буфер для второго элемента он не влезает. Значит, нужно дополнительно выделять память, в то же время в оригинальном массиве остаётся пустота, которую задействовать нельзя.

Итого имеем две проблемы: фрагментация памяти + перерасход памяти.
0
1392 / 849 / 92
Регистрация: 08.02.2017
Сообщений: 3,625
Записей в блоге: 2
07.12.2024, 13:51
Цитата Сообщение от Замабувараев Посмотреть сообщение
Нам нужно заменить второй элемент:
Это не удобно для общего случая использования массива, но удобно в каких-то отдельных случаях. Допустим надо быстро находить какую-то подстроку во всем массиве. Или заменить какую-то подстроку во всем массиве, тогда удобнее взять весь буфер как одну строку и выполнить замены, затем пересчитать указатели и размеры в заголовочном массиве

Добавлено через 4 минуты
Удобнее искать, можно задать подстроку, находящуюся в начале каждой строки, как Chr(0) & "подстрока", а со строками bstr так уже не сделать, там вначале будет размер
0
Испарился
 Аватар для HackerVlad
1742 / 638 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
07.12.2024, 19:23
Да, я помню что в огромной строке искать быстрее, чем в большом многострочном массиве

Добавлено через 2 минуты
Цитата Сообщение от Замабувараев Посмотреть сообщение
Dim Vector(2) As String = {"Первый", "Второй", "Третий"}
Это где вы такой синтаксис видели? Это не работает даже в TwinBasic, не говоря уже про VB6
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2024, 19:23
Помогаю со студенческими работами здесь

Отличия версий Visual Basic 6.0 от Visual Basic 6.5?
У меня 3 вопроса: 1.Чем отличается версия Visual Basic 6.0 от Visual Basic 6.5? 2.Можно ли запустить проект созданный раннее в Visual...

что лучше MSI R6870 Twin Frozr II или MSI N570GTX Twin Frozr II/OC, 1.3Гб?
выбор между PCI-E 2.1 MSI R6870 Twin Frozr II, 1Гб, GDDR5, Ret и PCI-E 2.0 MSI N570GTX Twin Frozr II/OC, 1.3Гб, GDDR5, OC, Ret ...

не могу настроить twin frozr 3
подскажите!я в железе не очень!купил видюху twin frozr 3,говорят видушка достаточно мощная захотел протестить на игре кризис 2 на полных...

MSI N560GTX-Ti Twin Frozr II/OC
Столкнулся с такой проблемой, в игре начали появляться непонятные полосы, расплываться объекты (см. скриншоты), пока заметил такую проблему...

MSI GTX480 twin frozr
Всем привет, такая проблема- как обычно видеокарта не дает компу стартануть и бросает его в ребут по циклу, разобрал карту нашел скол на...


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

Или воспользуйтесь поиском по форуму:
180
Ответ Создать тему
Опции темы

Новые блоги и статьи
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru