Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
6 / 6 / 0
Регистрация: 11.03.2011
Сообщений: 65

Взаимодействие графических примитивов

12.04.2013, 09:05. Показов 1346. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли на VB6 создать программу в которой было бы реализовано в полной мере взаимодействие графических примитивов с привязанными к ним элементами и базой данных?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.04.2013, 09:05
Ответы с готовыми решениями:

Рисование надписей и графических примитивов
Как сделать возможным рисование на PictureBox, рисовать графические примитивы, надписи, другие изображения?

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

Отображение графических примитивов
не подскажите как нарисовать круг, треугольник и домик. Ищу в интернете не как не могу найти(

8
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
12.04.2013, 09:25
Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
взаимодействие графических примитивов с привязанными к ним элементами и базой данных
А можно помедленнее, я записываюю. И поподробнее о взаимодействии и базе
1
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
12.04.2013, 09:28
На Vb6 можно написать все что угодно кроме драйверов.
1
6 / 6 / 0
Регистрация: 11.03.2011
Сообщений: 65
12.04.2013, 11:35  [ТС]
Цитата Сообщение от Апострофф Посмотреть сообщение
А можно помедленнее, я записываюю. И поподробнее о взаимодействии и базе
например, рисую несколько примитивов (прямоугольники или сложные фигуры), к ним привязываю 1 или несколько елементов. Потом кликаю на примитив и вижу какие елементы к нему привязаны и в каком количестве. Это если коротко. Записал?
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
12.04.2013, 11:46
Как рисуете - в дизайнере кладете Shape (или что) или программно?
Как привязываете?
Какие элементы?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
12.04.2013, 12:07
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
например,
Не надо слов. Просто выложите пример своего кода ( а лучше весь проект) - это самый верный способ получить ответ на свой вопрос.
1
6 / 6 / 0
Регистрация: 11.03.2011
Сообщений: 65
12.04.2013, 16:04  [ТС]
Ни проекта ни кода еще нет, это идея которая существует в техническом задании. Примитив это сколько угодно угольная фигура замкнутого типа которую будет чертить пользователь в программе (по примеру автокад или архикад) и привязывать (индексно) к ней сколько угодно ранее созданных елементов которые пользователь создаст в программе и которые будут записаны в базу и т.д. По этому я и спрашивал, возможно ли взаимодействие примитивов и базы данных (например аксес).

Вопрос №2
Кто нибудь из Вас занимается разработкой приложений на заказ?
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
12.04.2013, 16:20
Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
Кто нибудь из Вас занимается разработкой приложений на заказ?
Я.

Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
Ни проекта ни кода еще нет, это идея которая существует в техническом задании. Примитив это сколько угодно угольная фигура замкнутого типа которую будет чертить пользователь в программе (по примеру автокад или архикад) и привязывать (индексно) к ней сколько угодно ранее созданных елементов которые пользователь создаст в программе и которые будут записаны в базу и т.д. По этому я и спрашивал, возможно ли взаимодействие примитивов и базы данных (например аксес).
Возможно.
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
12.04.2013, 18:23
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Вот например один из способов хранить фигуры в БД:
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
Private Type Point
    X As Single
    Y As Single
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
 
Private Function CreateShape(Pt() As Point, ParamArray B()) As Boolean
    Dim V As Variant, I As Long
    ReDim Pt(UBound(B) \ 2)
    For Each V In B
        If I And 1 Then Pt(I \ 2).Y = V Else Pt(I \ 2).X = V
        I = I + 1
    Next
    CreateShape = True
End Function
Private Function AddToDB(Pt() As Point) As Boolean
    On Error GoTo ERRSUB
    Dim Dat() As Byte
    ReDim Dat(UBound(Pt) * 8 + 7)
    CopyMemory Dat(0), Pt(0), UBound(Pt) * 8 + 8
    DB.Recordset.AddNew
    DB.Recordset.Fields("Vtx").Value = UBound(Pt) + 1
    DB.Recordset.Fields("Data").Value = Dat
    DB.Recordset.Update
    AddToDB = True
    Exit Function
ERRSUB:
    MsgBox "Ошибка записи в БД"
End Function
Private Function LoadFromBD(Pt() As Point) As Boolean
    On Error GoTo ERRSUB
    Dim Dat() As Byte, I As Long
    I = DB.Recordset.Fields("Vtx")
    If I <= 0 Then MsgBox "Ошибка в формате данных: неверное число вершин фигуры": Exit Function
    Dat() = DB.Recordset.Fields("Data")
    If UBound(Dat) <> (I - 1) * 8 + 7 Then MsgBox "Ошибка в формате данных: неверные данные фигуры": Exit Function
    ReDim Pt(I - 1)
    CopyMemory Pt(0), Dat(0), UBound(Pt) * 8 + 8
    LoadFromBD = True
    Exit Function
ERRSUB:
    MsgBox "Ошибка чтения из БД"
End Function
Private Sub DrawShape(Pt() As Point)
    Dim I As Long
    picDisplay.Cls
    picDisplay.CurrentX = -2
    picDisplay.CurrentY = -2
    picDisplay.Print "Число вершин: " & UBound(Pt) + 1
    picDisplay.CurrentX = Pt(0).X
    picDisplay.CurrentY = Pt(0).Y
    For I = 0 To UBound(Pt)
        picDisplay.Line -(Pt(I).X, Pt(I).Y)
    Next
    picDisplay.Line -(Pt(0).X, Pt(0).Y) 'Замыкаем
    picDisplay.Refresh
End Sub
Private Sub DB_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)
    fCancelDisplay = True
End Sub
Private Sub DB_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
    Dim Pt() As Point
    If pRecordset.EOF Or pRecordset.BOF Then Exit Sub
    If LoadFromBD(Pt) Then DrawShape Pt
End Sub
Private Sub Form_Load()
    On Error GoTo ERRSUB
    Dim Pt() As Point
    Me.Show
    DB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
        App.Path & "\DataBase.mdb;Mode=ReadWrite;Persist Security Info=False"
    DB.RecordSource = "SELECT * FROM Figures"
    DB.Refresh
    ' Создание фигур и добавление в БД
'    CreateShape Pt, -1, -1, 1, -1, 1, 1, -1, 1    ' Прямоугольник
'    AddToDB Pt
'    CreateShape Pt, 0, -1, 1, 1, -1, 1            ' Треугольник
'    AddToDB Pt
'    CreateShape Pt, 0, -1, 1, 0, 0, 1, -1, 0      ' Ромб
'    AddToDB Pt
'    CreateShape Pt, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd, Rnd
'    AddToDB Pt
    Exit Sub
ERRSUB:
    MsgBox "Ошибка подключения к базе данных", vbCritical: End
End Sub
Миниатюры
Взаимодействие графических примитивов  
Вложения
Тип файла: rar DB-binary.rar (11.9 Кб, 9 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2013, 18:23
Помогаю со студенческими работами здесь

Рисование графических примитивов
Задача такова: Необходимо нарисовать ромб. Ну а почему бы и нет? Можно и треугольник (не квадрат с прямоугольником, там просто очень)....

Отображение графических примитивов
не подскажите как нарисовать круг, треугольник и домик. Ищу в интернете не как не могу найти(

Анимация графических примитивов
Всем привет. Передо мной стоит задача сделать простейшую анимацию 3-х овалов, но увы я никак не могу разобраться как сделать в Java то что...

Использование графических примитивов
Используя графические примитивы,задав параметры пера и кисти нарисовать щенка! Скажите как это можно сделать?

Рисование графических примитивов
Приложение, которое читает данные из файла о координатах и размерах различных графических примитивов (отрезок, прямоугольник, эллипс,...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru