Аватар для Argus19
1728 / 472 / 78
Регистрация: 24.09.2017
Сообщений: 2,561
Записей в блоге: 25

Twin Basic

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

Студворк — интернет-сервис помощи студентам
Несмотря на то, что проект 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 и Visual studio это не одно и тоже? если нет то в чём разница, по мимо оформления?

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

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

335
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
03.12.2024, 13:49
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от HackerVlad Посмотреть сообщение
ну если новый раздел открывать то нужно и модераторов в него набирать понимаешь, а кто захочет...
Будто бы туда нрод сразу набежит. По факту там будут те же самые лица, которые тут пишут. Еще вопрос на засыпку, у разделов VBA и VB разные модераторы?
0
Эксперт по электронике
7156 / 3335 / 342
Регистрация: 28.10.2011
Сообщений: 13,154
Записей в блоге: 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
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
03.12.2024, 14:23
Я бы сказал, Twin Basic не надо мешать с чем-то другим, имхо, это нечто выдающееся, как бы цветок среди камней, это уже видно сейчас.
1
jump
 Аватар для I can
5005 / 4770 / 852
Регистрация: 13.04.2015
Сообщений: 10,021
03.12.2024, 14:38
Цитата Сообщение от testuser2 Посмотреть сообщение
у разделов VBA и VB разные модераторы?
А самому слабО посмотреть?




1
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
03.12.2024, 14:51
Цитата Сообщение от I can Посмотреть сообщение
А самому слабО
Это был не вопрос..
0
jump
 Аватар для I can
5005 / 4770 / 852
Регистрация: 13.04.2015
Сообщений: 10,021
03.12.2024, 14:53
Цитата Сообщение от testuser2 Посмотреть сообщение
Это был не вопрос..
Извини, знак вопроса привиделся:
Цитата Сообщение от testuser2 Посмотреть сообщение
у разделов VBA и VB разные модераторы?
и слово "вопрос" тоже
Цитата Сообщение от testuser2 Посмотреть сообщение
вопрос на засыпку
0
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
03.12.2024, 15:15
Цитата Сообщение от I can Посмотреть сообщение
Извини, знак вопроса привиделся:
Это как бы предложение ответить себе на вопрос )

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

Добавлено через 9 минут
testuser2, в VBA кстати shanemac51, The trick, Catstail, zss
shanemac51 ещё добавляется как видишь сам
0
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
03.12.2024, 17:22
shanemac51 еще по Access-у специализируется вроде
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
03.12.2024, 17:22
Посмотри например в vb.net совсем другие модеры
Yury Komar, Элд Хасп, zss

zss только совпадает он вездесущ походу
0
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
03.12.2024, 17:49
Цитата Сообщение от HackerVlad Посмотреть сообщение
Yury Komar, Элд Хасп, zss
Они кстати там всем Нетом заведуют..
0
03.12.2024, 18:17
 Комментарий модератора 
Заканчиваем офтоп
0
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 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
Модератор
10065 / 3910 / 885
Регистрация: 22.02.2013
Сообщений: 5,860
Записей в блоге: 79
04.12.2024, 20:40
Цитата Сообщение от testuser2 Посмотреть сообщение
В FB в строках ZString инфрмация о размере содержистя в заголовке, а не в буфере строки, по моему это удобнее во многих случаях, чем когда размер в буфере строки.
А в чем проблема создать такую структуру?

Цитата Сообщение от testuser2 Посмотреть сообщение
Во фрибесике структура — это почти что класс, а переменная — это экземпляр этого класса (объект).
Для 100% обратной совместимости объекты должны являться COM объектами.
0
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
05.12.2024, 02:05
Цитата Сообщение от The trick Посмотреть сообщение
А в чем проблема создать такую структуру?
в том что ее нельзя использовать как обычную строку в коде. Допустим надо собрать массив строк, то логичнее было бы сливать все строки в единый буфер через разделитель ноль, а сам массив, это заголовки. Потом удобнее обрабатывать этот массив, перебирая заголовки и там же беря размеры. А единый буфер можно замапить в одну большую строку и чтобы быстро там нахдить там какую-то подстроку.
Цитата Сообщение от The trick Посмотреть сообщение
Для 100% обратной совместимости объекты должны являться COM объектами.
Так обратная совместимость пусть будет регрессивная. Просто как новую дополнительную возможность бы добавили.
0
Модератор
10065 / 3910 / 885
Регистрация: 22.02.2013
Сообщений: 5,860
Записей в блоге: 79
07.12.2024, 10:45
Цитата Сообщение от testuser2 Посмотреть сообщение
Да раздел-то хрен с ним, у нас сильно отстает обсуждение, хотя отчасти понятно почему.
testuser2, для создания отдельного раздела пока мало тем, я думаю что на данный момент это неактуально. Тут даже для FreeBasic нет раздела, хотя тем намного больше. Т.к. Twin Basic позиционирует себя как на 100% совместимый с VB6 то его обсуждение в этом разделе легитимно. Если потом будет поток вопросов и тем по нему, то с легкостью можно будет создать подраздел и темы из основного раздела перенести в него.
1
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 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
1409 / 868 / 93
Регистрация: 08.02.2017
Сообщений: 3,702
Записей в блоге: 2
07.12.2024, 13:51
Цитата Сообщение от Замабувараев Посмотреть сообщение
Нам нужно заменить второй элемент:
Это не удобно для общего случая использования массива, но удобно в каких-то отдельных случаях. Допустим надо быстро находить какую-то подстроку во всем массиве. Или заменить какую-то подстроку во всем массиве, тогда удобнее взять весь буфер как одну строку и выполнить замены, затем пересчитать указатели и размеры в заголовочном массиве

Добавлено через 4 минуты
Удобнее искать, можно задать подстроку, находящуюся в начале каждой строки, как Chr(0) & "подстрока", а со строками bstr так уже не сделать, там вначале будет размер
0
Вернулся
 Аватар для HackerVlad
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,805
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 - Visual Basic
Помогите пожалуйста! В среде VB написать программу вычисления значений функции двух переменных....

Скачать Visual Basic 6.0
Киньте ссылочку,плз,откуда можна скачать сабж!

[Visual Basic]операторы циклов, помогите с прогой:)
Нада в VB сбацать прогу, используя операторы циклов: Дана произвольной длины последовательность...

Помогите написать программу на Visual Basic!
Люди, срочно нужна ваша помощь!!! Никак не могу написать программу на Visual Basic, по причине...

Диалекты Basic
Пожалуйста, подскажите, какие бывают диалекты Basic'а, какие их основные особенности и с какого из...


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

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

Новые блоги и статьи
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru