Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.60/2086: Рейтинг темы: голосов - 2086, средняя оценка - 4.60
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,570
Записей в блоге: 26
28.05.2026, 12:15
Студворк — интернет-сервис помощи студентам
На работе иногда приходится вычислять время некоторых процессов. Делать это обычным калькулятором неудобно.
Написал простенькую программку.
Миниатюры
Готовые решения и полезные коды на Visual Basic 6.0  
Вложения
Тип файла: zip Вычитание времени.zip (27.2 Кб, 6 просмотров)
4
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.05.2026, 12:15
Ответы с готовыми решениями:

Продам готовые коды и решения на Visual Basic за 400 рублей
душу продаю:cry: Продам коды исходные на VB !!10 лет копил за 400р !!размер тока кодов 312метров там есть все ! мыло контакты удалены....

Коды на Visual Basic
Ребята всем привет,я начел изучать "Visual Basic"! Очень буду благодарен за коды по этому языку, очень интиресный язык)))! Бросайте сюда...

Вывод решения вместо Immediate в textbox (visual basic 6.0)
программа выводит решение в Immediate а я хочу разместить на форме text1 и что бы решение выводилось туда ,менял код менял не че не...

364
Модератор
10068 / 3913 / 886
Регистрация: 22.02.2013
Сообщений: 5,863
Записей в блоге: 79
29.07.2026, 22:28
Исходники TrickComposer.

Для компиляции нужен этот Add-in. Некоторые файлы довольно старые (я не приводил код в них к нормальному стилю).
Вложения
Тип файла: zip TrickComposer_1_4_0_src.zip (2.47 Мб, 9 просмотров)
2
Вернулся
 Аватар для HackerVlad
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
02.08.2026, 01:12
Самый простой ListView для трёх-колоночного списка на VB6

Зачастую в VB6 стандартных элементов списка ListBox явно недостаточно, так как, зачастую, хочется список с несколькими колонками (столбцами). Тогда на помощь приходит только элемент управления ListView, однако в VB6 создать список ListView не так-то просто! Первое, что приходит на ум это использовать ListView от знаменитого Krool, однако, чтобы использовать его ListView нужно слишком много модулей, классов и очень много всего на целых 500 Кб, одних только классов нужно подключать аж 13 штук, что очень не удобно и проект очень сильно раздувается из-за этого. А когда вам необходим только список ListView без всяких излишеств, то приходится думать уже о более компактном варианте. И тут я решил взять и написать самому более ни менее компактный мини-вариант своего контрола. Переделал какой-то старый проект, многие функции помогла мне написать нейро-сеть Алиса, сам конечно тоже там много чего написал. Самое главное осуществил поддержку уникодности! В итоге получился очень классный мини-проект где возможности списка ListView в несколько колонок используются по максимуму, для основных базовых нужд. Сортировка есть, всё есть, добавление строк с иконками, удаление, добавление, чтение, изменение, всё-всё самое необходимое.

Так что у вас теперь будет свой контрол ListView1 и не нужны практически никакие дополнительные зависимости. Всего +50Кб к EXE, в отличии от варианта от Krool там в (10 раз!) больше будет +500 Кб к EXE и очень сильно нагромождается проект ещё...

Хочу тут так же сразу заметить, что мой демонстрационный пример лишь для небольших списков/таблиц, лучше не больше тысячи-другой строк примерно, если нужно много-много тысяч строк в список добавлять то там должна быть уже чуть другая логика, я придумал id записывать в lparam элемента строки списка ListView это не всегда прям хорошо для скорости конечно, но в целом можно и отключать эти айдишки тогда будет быстро добавлять много тысяч строк. Так что пользуйтесь на здоровье. Я не делал там использование коллекций или другие технологии для огромных списков, такой задачи не ставил. Но я сделал мини-компактный красивый вариант который обеспечивает все базовые нужды и потребности для работы с небольшими списками, в пределах так пару тысяч строк например.

У меня всего 2 модуля и всего 2 класса в моём проекте и сам контрол. Пример работы списка, написанная программа с формой. TLB'шка очень мини-компактная тоже старой версии специально чтобы мало весила и небыло миллион всего лишнего.

И да колонок можно использовать конечно же не 3 а сколько хочешь, это просто пример.

Код формы...
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
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
Option Explicit
 
Private Declare Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal wType As Long) As Long
 
Dim ImageList As cImgList ' ImageList Для ListView1
 
Public Function Random(ROt As Long, RDo As Long) As Long
    Randomize
    Random = CLng(Int(Rnd(1) * (RDo - ROt + 1)) + ROt)
End Function
 
Private Function GetNewIdUnique() As Long
    Dim i As Long
    Dim id As Long
    Dim Alleged As Long
    Dim founded As Boolean
    
    If ListView1.ListCount > 0 Then
        ' 1. Обычно новый id это всегда ListView1.ListCount + 1, поэтому сначала нужно это проверить
        Alleged = ListView1.ListCount + 1
        founded = False
        
        For i = 0 To ListView1.ListCount - 1
            If Alleged = ListView1.GetItemIdUnique(i) Then founded = True
        Next
        
        If founded = False Then ' Если предполагаемого нового id нет во всём списке
            GetNewIdUnique = Alleged
            Exit Function
        Else
            ' Так вдруг случилось, что предполагаемый новый id уже был в списке
        End If
        
        ' 2. Найти первый свободный (не найденный) id
        For id = 1 To ListView1.ListCount + 1
            founded = False
            
            For i = 0 To ListView1.ListCount - 1
                If id = ListView1.GetItemIdUnique(i) Then founded = True
            Next
            
            If founded = False Then
                GetNewIdUnique = id
                Exit Function
            End If
        Next
    Else
        GetNewIdUnique = 1
    End If
End Function
 
Private Sub InsertListViewStrings(ByVal Column1 As String, ByVal Column2 As String, ByVal Column3 As String)
    Dim lItem As Long
    
    lItem = ListView1.ItemAdd(GetNewIdUnique, ListView1.ListCount, Column1, -1)
    
    If lItem <> -1 Then
        ListView1.SubItemText(lItem, 1) = Column2
        ListView1.SubItemText(lItem, 2) = Column3
    End If
End Sub
 
Private Sub InsertListViewStringsAndIcons(ByVal Column1 As String, ByVal Column2 As String, ByVal Column3 As String)
    Dim nIcon As Long
    Dim lItem As Long
    
    If ImageList Is Nothing Then
        Set ImageList = New cImgList
        Set ListView1.ImageList(LVSIL_SMALL) = ImageList
    End If
    
    nIcon = ImageList.AddIconFromFile(Column1)
    lItem = ListView1.ItemAdd(GetNewIdUnique, ListView1.ListCount, Column1, nIcon)
    
    If lItem <> -1 Then
        ListView1.SubItemText(lItem, 1) = Column2
        ListView1.SubItemText(lItem, 2) = Column3
    End If
End Sub
 
Private Sub Command1_Click()
    InsertListViewStrings "Дыня", "это ещё одна добавленная строка", "ОКНА!"
    ListView1.SetFocus
    Label1.Caption = "Всего строк: " & ListView1.ListCount
End Sub
 
Private Sub Command2_Click()
    ListView1.SubItemText(ListView1.ListIndex, 0) = "Column1 " & ChrW(&H88E7)
    ListView1.SubItemText(ListView1.ListIndex, 1) = "Column2 " & ChrW(&H88E7)
    ListView1.SubItemText(ListView1.ListIndex, 2) = "Column3 " & ChrW(&H88E7)
    ListView1.SetFocus
End Sub
 
Private Sub Command3_Click()
    InsertListViewStringsAndIcons "C:\Windows\Explorer.exe", "ляляля", "000"
    InsertListViewStringsAndIcons "C:\Windows\system32\calc.exe", "кальк", "111"
    InsertListViewStringsAndIcons "calc.exe", "кальк", "111"
    InsertListViewStringsAndIcons "c:\Проект1.exe", "Проект1", "222"
    InsertListViewStringsAndIcons "c:\Проект1 " & ChrW(&H88E7) & ".exe", "Проект1", "222"
    ListView1.SetFocus
    Label1.Caption = "Всего строк: " & ListView1.ListCount
End Sub
 
Private Sub Command4_Click()
    ListView1.Sort 0, stIndex, soDescending
    ListView1.SetFocus
End Sub
 
Private Sub Command5_Click()
    On Error Resume Next ' Очень редко, но иногда так бывает, что здесь может почему-то вылететь автоматическая ошибка
    
    ListView1.RemoveItem ListView1.ListIndex
    ListView1.SetFocus
    
    Me.Cls
    Print ListView1.ListIndex, ListView1.SubItemText(ListView1.ListIndex, 0), ListView1.SubItemText(ListView1.ListIndex, 1), ListView1.SubItemText(ListView1.ListIndex, 2)
    
    Label1.Caption = "Всего строк: " & ListView1.ListCount
End Sub
 
Private Sub Command6_Click()
    Dim lItem As Long
    
    lItem = ListView1.ItemAdd(GetNewIdUnique, 0, "Column1", -1)
    
    If lItem <> -1 Then
        ListView1.SubItemText(lItem, 1) = "Column2"
        ListView1.SubItemText(lItem, 2) = "Column3"
    End If
    
    ListView1.SetFocus
    Label1.Caption = "Всего строк: " & ListView1.ListCount
End Sub
 
Private Sub Command7_Click()
    Dim newRandomPosition As Long
    Dim lItem As Long
    
    If ListView1.ListCount > 0 Then
        newRandomPosition = Random(0, ListView1.ListCount - 1)
        lItem = ListView1.ItemAdd(GetNewIdUnique, newRandomPosition, "1", -1)
        
        If lItem <> -1 Then
            ListView1.SubItemText(lItem, 1) = "2"
            ListView1.SubItemText(lItem, 2) = "3"
        End If
    Else
        Beep
        Exit Sub
    End If
    
    ListView1.SetFocus
    Label1.Caption = "Всего строк: " & ListView1.ListCount
End Sub
 
Private Sub Command8_Click()
    ListView1.Clear
    Label1.Caption = "Всего строк: 0"
    Me.Cls
End Sub
 
Private Sub Form_Click()
    MessageBox hWnd, StrPtr(CStr(ListView1.SubItemText(ListView1.ListIndex, 0) & vbNewLine & ListView1.SubItemText(ListView1.ListIndex, 1) & vbNewLine & ListView1.SubItemText(ListView1.ListIndex, 2))), StrPtr(App.Title), ByVal 0&
End Sub
 
Private Sub Form_Load()
    ListView1.Initialize
    ListView1.View = LVS_REPORT
    ListView1.AllowColumnReorder = True
    ListView1.GridLines = True
    ListView1.FullRowSelect = True
    
    ListView1.ColumnAdd "Процесс", 160
    ListView1.ColumnAdd "Класс", 160
    ListView1.ColumnAdd "Окно " & ChrW$(1234), 160
    
    InsertListViewStrings "Первач " & ChrW$(1234), "первый класс", "первое окно"
    InsertListViewStrings "Вторим", "второй класс", "второе окно"
    InsertListViewStrings "Дерево", "третий класс", "ААА"
    InsertListViewStrings "Арбуз", "4", "4"
    InsertListViewStrings "Банан", "5", ChrW(&H88E7)
    
    Label1.Caption = "Всего строк: " & ListView1.ListCount
    ListView1.SelectFirstItem
End Sub
 
Private Sub Label1_Click()
    MsgBox ListView1.ColumnCount
End Sub
 
Private Sub ListView1_ColumnClick(ByVal IndexColumn As Long)
    ListView1.Sort IndexColumn, stText, soAscending
End Sub
 
Private Sub ListView1_ItemCheck(Index As Long)
    Cls
    Print "index: " & Index, "id: " & ListView1.GetItemIdUnique(Index), ListView1.SubItemText(Index, 0), ListView1.SubItemText(Index, 1), ListView1.SubItemText(Index, 2)
End Sub
 
Private Sub ListView1_ItemClick(Index As Long)
    Cls
    Print "index: " & Index, "id: " & ListView1.GetItemIdUnique(Index), ListView1.SubItemText(Index, 0), ListView1.SubItemText(Index, 1), ListView1.SubItemText(Index, 2)
End Sub


Но лучше нажимайте кнопку скачать, так как там ещё 2 модуля и 2 класса, сам контрол ListView.ctl и пример работы приложения. Теперь будет очень легко создавать много-колоночные списки в VB6! Приятного пользования! Наслаждайтесь!
Миниатюры
Готовые решения и полезные коды на Visual Basic 6.0  
Вложения
Тип файла: zip The simplest ListView for a three-column list.zip (43.3 Кб, 5 просмотров)
3
 Аватар для Argus19
1732 / 476 / 78
Регистрация: 24.09.2017
Сообщений: 2,570
Записей в блоге: 26
03.08.2026, 18:33
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же принтеры могут самостоятельно генерировать QR и BAR коды.
У принтеров нет разъёмов. Только провода. Соответственно, искать драйвер бессмысленно.
Единственным способом убедить их печатать кириллицу - рисовать текст в PictureBox, считывать точки в байтовый буфер и затем распечатывать как графику. Или, что быстрее, писать текст в Windows API контекст, созданный через CreateCompatibleDC(hScreenDC) и далее так же работать с буфером.
В архиве несколько вариантов использования. Работа только в VB 6.0, работа в VB 6.0 с dll на С++ и книга Excel 2016X64 с 64-битной dll.
Всё хорошо прокомментировано.

https://www.cyberforum.ru/blogs/1083385/11057.html
4
Вернулся
 Аватар для HackerVlad
1777 / 672 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
25.08.2026, 20:10
Как на VB6 создать список ListView с несколькими колонками и подключить JSON

Очень часто в VB6 бывает нужно создать список, с несколькими колонками сразу, например, с тремя колонками сразу. В своей практике программирования на VB6 я с этим сталкивался ни раз. И я ни раз задумывался о том, как же на VB6 создать список с несколькими колонками сразу, обычный ListBox для этого плохо подходит, а вот ListView подойдёт просто отлично!

И вот наконец, я создал полноценный проект, реально демонстрирующий работу ListView как трёх-колоночного списка, плюс я подключил ещё и JSON для того чтобы было удобно хранить данные списка: сохранять и загружать список в файл JSON. Для VB6 это задача крайне непростая и я очень долго работал над этим проектом. К счастью помог модуль для работы с JSON на VB6 от знаменитого программиста wqweto. Честно сказать разобраться с тем, как работает его модуль, новичку, довольно непросто, и даже я сам до конца сейчас не изучил все возможности его модуля, однако я создал для себя простой демонстрационный пример того, а как же в VB6 подключить JSON и использовать его в элементе управления ListView отображая данные как трёх-колоночный список. Это было очень важно для меня и покорпев несколько дней я всё же создал этот демонстрационный проект-пример для работы с JSON и ListView.

Конечно я мог бы хранить данные таблицы и по-другому, не обязательно в JSON-формате, однако когда мы все уже давно привыкли на других языках программирования использовать именно JSON то и тут тоже на VB6 я решил использовать именно JSON формат. Во всём Интернете очень мало информации обо всём этом и сложно найти достойные простые примеры как же работать со списком ListView в VB6, особенно когда хочется без всяких там зависимостей в виде OCX.

Я недавно написал и выложил здесь проект Самый простой ListView для трёх-колоночного списка на VB6 так вот это будет продолжение этого проекта, если так хотите, версия 2.0, только тут я уже добавил полную работу ещё и с JSON массивом. Я решил хранить данные параллельно и в JSON-массиве и в контроле ListView, кстати он полностью самописный.
Простые массивы для хранения данных я при этом решил не использовать вообще. Так же в этом проекте теперь изменил логику присвоения новых id для элементов списка, благодаря чему многократно возросла скорость работы при добавлении большого количества строк в список. В прошлой же версии моего проекта много тысяч строк добавлять было довольно медленно...

Над проектом я работал очень долго и вот наконец я выкладываю своё творчество для пользования всем людям на свете, кто любит VB6. К сожалению в этом одном сообщении просто не вмещается весь код программы, поэтому для того чтобы полностью увидеть как работает проект, и встроить эти возможности в свою программу, то вам придётся скачать ZIP-архив.
Миниатюры
Готовые решения и полезные коды на Visual Basic 6.0  
Вложения
Тип файла: zip ListViewAndJSON.zip (145.2 Кб, 5 просмотров)
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.08.2026, 20:10

Готовые решения и полезные коды на Visual Basic .NET (Часть-1)
Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами. Обращаю внимание на некоторые...

Готовые коды для решения лабораторных работ
Доброго времени суток всем! Очень срочно нужны готовые коды для решения лабораторных работ в С# по учебнику Павловской!!! Вариант 16, нужны...

Написать программу решения квадратного уравнения. В Office Visual Basic
Написать программу решения квадратного уравнения. В Office Visual Basic

Полезные коды и проекты на VBA
В этой теме предлагаю выкладывать различные коды и готовые проекты VBA, которые, на Ваш взгляд, могут помочь новичкам в разработке как...

Полезные коды для PascalABC.NET
В этой теме размещаются полезные исходники программ, различные процедуры и функции, а так же готовые решения на часто задаваемые вопросы,...


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

Или воспользуйтесь поиском по форуму:
365
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru