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

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

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

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

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

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

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

8
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
12.04.2013, 09:25
Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
взаимодействие графических примитивов с привязанными к ним элементами и базой данных
А можно помедленнее, я записываюю. И поподробнее о взаимодействии и базе
1
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
12.04.2013, 09:28
На Vb6 можно написать все что угодно кроме драйверов.
1
6 / 6 / 0
Регистрация: 11.03.2011
Сообщений: 65
12.04.2013, 11:35  [ТС]
Цитата Сообщение от Апострофф Посмотреть сообщение
А можно помедленнее, я записываюю. И поподробнее о взаимодействии и базе
например, рисую несколько примитивов (прямоугольники или сложные фигуры), к ним привязываю 1 или несколько елементов. Потом кликаю на примитив и вижу какие елементы к нему привязаны и в каком количестве. Это если коротко. Записал?
0
 Аватар для Апострофф
9908 / 3924 / 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
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 79
12.04.2013, 16:20
Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
Кто нибудь из Вас занимается разработкой приложений на заказ?
Я.

Цитата Сообщение от Vlad_i_mirr Посмотреть сообщение
Ни проекта ни кода еще нет, это идея которая существует в техническом задании. Примитив это сколько угодно угольная фигура замкнутого типа которую будет чертить пользователь в программе (по примеру автокад или архикад) и привязывать (индексно) к ней сколько угодно ранее созданных елементов которые пользователь создаст в программе и которые будут записаны в базу и т.д. По этому я и спрашивал, возможно ли взаимодействие примитивов и базы данных (например аксес).
Возможно.
0
Модератор
10048 / 3894 / 883
Регистрация: 22.02.2013
Сообщений: 5,847
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru