powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно считать записи из dbgrid
24 сообщений из 174, страница 7 из 7
Нужно считать записи из dbgrid
    #36651748
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscs,
PSet (1000, 2000) 'точка
Line (2000(наше b), 1000(наше z))-(5000(c), 3000(d)) 'отрезок прямой
Line (3000, 3000)-(1000, 4000) , , B 'прямоугольник
Circle (4000, 2000) , 1000 'окружность
b и c (x) 0 nachalo 5000 konec
z и d (y) 0 verh 5000 niz
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36651750
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscs,
изучи предыдущий пример
а ниже код запусти и проверь как он работает по мойму тебе так надо было
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
c =  0 
d =  3280 
For i =  1  To  1 
a = Data1.Recordset("Выражение1").Value
c =  0 
d =  3280 
b = c
z = d
List1.AddItem (a)
c = c +  500 
d = d -  2000 
Picture1.PSet (c, d)
Picture1.Print Data1.Recordset("marka_auto").Value
Picture1.Line (b, z)-(c, d)
b = c
z = d
c = c +  500 
d = d +  2000 
Picture1.Line (b, z)-(c, d)
Next
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36651766
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,
bosscs,
даже лучше этот код для большей наглядности
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
c =  0 
d =  3280 
For i =  1  To  6 
a = Data1.Recordset("Выражение1").Value
b = c
z = d
List1.AddItem (a)
c = c +  500 
d = d -  2000 
Picture1.PSet (c, d)
Picture1.Print Data1.Recordset("marka_auto").Value
Picture1.Line (b, z)-(c, d)
b = c
z = d
c = c +  500 
d = d +  2000 
Picture1.Line (b, z)-(c, d)
Next
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36651813
bosscs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо, уже сделал, что хотел.
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36651851
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bosscsВсем большое спасибо, уже сделал, что хотел.
код покажите
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652025
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admbosscsВсем большое спасибо, уже сделал, что хотел.
код покажите

А может не надо?
А то мы щас еще тут семь страниц напишем.
Пусть препод проверяет.

Полагаю, он все-таки успешно воспользовался советом - подумать (один раз в другой ветке уже случалось такое просветление). Отсутствие ответов на вопросы в онлайне сильно этому способствует.
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652030
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
может на самом деле у человека со временем проблемы
хотелось помочь аж самому пришлось разбираться)))
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652057
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admShocker.Pro,
может на самом деле у человека со временем проблемы
хотелось помочь аж самому пришлось разбираться)))

Если человек начинает делать курсовую за два дня до сдачи - да - у него проблемы. Но не с временем.

К тому же "сдавать завтра" наблюдается не в первой ветке, вот, к примеру...
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652063
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,

Практически у половины спрашивающих - проблемы со временем. И проблема состоит не в том, что на завтра нужно сделать, а в том, что они не хотят/умеют планировать время. Вот поэтому и получается, сначала занимаемся более важными делами, а потом всем, что не успели.
В том что ты разобрался, это тебе полюс в копилку. И времени у тебя это много не заняло. Максимум пару часов на построение хоть какого-то графика и потом ещё часок на наведение красоты :)
А мы вчера убили весь день, пытаясь нарисовать хоть какой-то график вопреки стараниям автора.
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652069
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,
большие числа идут внизу это нормально,
но как сделать чтобы они шли вверху?
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652098
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05adm,

Дык у всех окон начало координат находится в левом верхнем углу, а не в левом нижнем, нужен простой пересчет координат по оси Y, ну или заворачиваться на АПИ функцию SetViewPort
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652107
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proaduka05admShocker.Pro,
может на самом деле у человека со временем проблемы
хотелось помочь аж самому пришлось разбираться)))

Если человек начинает делать курсовую за два дня до сдачи - да - у него проблемы. Но не с временем.

К тому же "сдавать завтра" наблюдается не в первой ветке, вот, к примеру...
значит вы уже знакомы))
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652162
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо никто так и не посмотрел мой пример. там уже всё готово и с комментариями.
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652172
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admзначит вы уже знакомы))

Прежде чем отвечать по теме, всегда смотрю список тем автора.
Вот , к примеру, клинический случай
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652175
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneвидимо никто так и не посмотрел мой пример. там уже всё готово и с комментариями.

Жаль, что нам так и не удалось сегодня заслушать начальника транспортного цеха (с)
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652183
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_Oneвидимо никто так и не посмотрел мой пример. там уже всё готово и с комментариями.
че то я комментарии не видел))
и не понял где вы там меняеете координаты
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652187
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proaduka05admзначит вы уже знакомы))

Прежде чем отвечать по теме, всегда смотрю список тем автора.
Вот , к примеру, клинический случай
по ходу конкретно время поджимало)
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652210
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProВот, к примеру, клинический случай Это не случай, это любимый пациент
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652224
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
Public Sub Plot()
Dim sss As String
Dim i%
Dim R As Long
Dim HnFont As Long, HoFont As Long

        If Label1.Count >  1  Then
                For i = Label1.Count -  1  To  1  Step - 1 
                        Unload Label1(i)
                Next i
        End If
        
        With UserControl
                .AutoRedraw = True
                .Cls
                If Me.GraphScaleWidth =  0  Then
                        .ScaleWidth = cMaxX + cMaxX \  5 
                Else
                        .ScaleWidth = Me.GraphScaleWidth
                End If
                If Me.GraphScaleHeight =  0  Then
                        .ScaleHeight = -(cMaxY \  2  + cMaxY)
                Else
                        .ScaleHeight = Me.GraphScaleHeight
                End If
                .ScaleTop = cMaxY \  3  + cMaxY
                .ScaleLeft = -cMaxX \  8 

                'Axis X - рисуем ось X
                Line ( 0 ,  0 )-(cMaxX,  0 ), QBColor( 0 )
                'Axis Y - рисуем ось Y
                Line ( 0 ,  0 )-( 0 , cMaxY), QBColor( 0 )
                
                .CurrentX =  0 
                .CurrentY =  0 
                .FontSize =  8 
                'scale X - рисуем шкалу по оси X
                For i = dx ^  2  To cMaxX Step dx ^  2 
                    Line (i, - 5 )-(i,  10 ), QBColor( 0 )
                    .CurrentX = .CurrentX -  10 
                    .CurrentY = .CurrentY -  20 
                    Print i / dx
                Next i
                'scale Y - рисуем шкалу по оси Y
                For i = dx ^  2  To cMaxY Step dx ^  2 
                    Line (- 5 , i)-( 6 , i), QBColor( 0 )
                    .CurrentX = .CurrentX - (.TextWidth(CStr(cMaxY)) + .TextWidth(CStr(cMaxY)) \  5 )
                    Print i / dx
                Next i
                
                'draw graph - рисуем сам график
                .DrawStyle = vbDot
                For i =  1  To UBound(PtArr) -  1 
                    X1 = PtArr(i).X: Y1 = PtArr(i).Y
                    X2 = PtArr(i +  1 ).X: Y2 = PtArr(i +  1 ).Y
                    Line (X1, Y1)-(X2, Y2), QBColor( 1 )
                Next i
                
                'draw point label - рисуем точки и подписи на графике
                .DrawStyle = vbSolid
                For i =  1  To UBound(PtArr)
                    X1 = PtArr(i).X
                    Y1 = PtArr(i).Y
                    'point
                    Line (X1 -  10 , Y1)-(X1 +  14 , Y1), QBColor( 5 )
                    Line (X1, Y1 -  15 )-(X1, Y1 +  15 ), QBColor( 5 )
                    .ForeColor = vbRed
                    Circle (X1, Y1),  5 
                    Load Label1(i)
                    Label1(i).Caption = PtArr(i).ID & "(" & PtArr(i).X / dx & ":" & PtArr(i).Y / dx & ")"
                    Label1(i).Left = .CurrentX +  20 
                    Label1(i).Top = .CurrentY +  20 
                    Label1(i).Tag = PtArr(i).ID
                    Label1(i).Visible = True
                Next i
                
                .ForeColor = vbBlack
                'label axis x - подпись оси X
                .CurrentX = cMaxX /  2  - .TextWidth(Me.AxisXCaption) /  2 
                .CurrentY = - 50 
                .Font.Name = "Arial"
                .FontSize =  10 
                Print Me.AxisXCaption
                'label axis Y - подпись оси Y
                HnFont = CreateFont( 14 ,  0 ,  900 ,  900 , FW_NORMAL, False, False, False, OEM_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,  34 , "Arial")
                HoFont = SelectObject(hdc, HnFont)
                sss = Me.AxisYCaption
                .CurrentY = cMaxY /  2  - .TextWidth(sss) /  2 
                .CurrentX = .ScaleLeft +  30 
                Print sss
                .lblHeader.Visible = True
                .AutoRedraw = False
        End With
        UserControl_Resize
End Sub

вот собственно вся ф-я для рисования графика.
комментарии дописал =)
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652236
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а это загрузка значений для графика из базы и вычисление масштаба графика

Код: plaintext
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.
Public Sub SetValues(cn As ADODB.Connection, TableName As String, IDField As String, AxisXField As String, AxisYField As String)
Dim rs As ADODB.Recordset
Dim sqls As String
Dim i%
Dim PtXMax As Single, PtYMax As Single
        
        Me.ConnectionString = cn.ConnectionString
        Me.TableName = TableName
        Me.FieldNameID = IDField
        Me.FieldNameAxisX = AxisXField
        Me.FieldNameAxisY = AxisYField
        
        sqls = "SELECT " & IDField & "," & AxisXField & "," & AxisYField & " FROM " & TableName & " ORDER BY " & AxisXField
        Set rs = New ADODB.Recordset
        With rs
                .Open sqls, cn, adOpenStatic, adLockReadOnly, adCmdText
                ReDim PtArr(.RecordCount)
                Do While Not .EOF
                        i = i +  1 
                        PtArr(i).ID = .Fields(IDField)
                        PtArr(i).X = .Fields(AxisXField) * dx
                        PtArr(i).Y = .Fields(AxisYField) * dx
                        If PtArr(i).X > PtXMax Then PtXMax = PtArr(i).X
                        If PtArr(i).Y > PtYMax Then PtYMax = PtArr(i).Y
                        .MoveNext
                Loop
        End With
        Set rs = Nothing
        
        cMaxX = (PtXMax \ (dx ^  2 ) +  1 ) * (dx ^  2 )
        cMaxY = (PtYMax \ (dx ^  2 ) +  1 ) * (dx ^  2 )
        Me.GraphScaleWidth = cMaxX + cMaxX \  5 
        Me.GraphScaleHeight = -(cMaxY \  2  + cMaxY)
        
End Sub
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652337
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
можешь показать в какой строке координаты меняешь?
в плане 0 верх 5000 низ
а у тебя 5000 верх 0 низ
в какой строке идет?
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652361
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aduka05admKonst_One,
можешь показать в какой строке координаты меняешь?
в плане 0 верх 5000 низ
а у тебя 5000 верх 0 низ
в какой строке идет?

все координаты лежат в базе данных в табличке. а выставляются вот тут:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
                

'draw graph - рисуем сам график
.DrawStyle = vbDot
                For i =  1  To UBound(PtArr) -  1 
                    X1 = PtArr(i).X: Y1 = PtArr(i).Y
                    X2 = PtArr(i +  1 ).X: Y2 = PtArr(i +  1 ).Y
                    Line (X1, Y1)-(X2, Y2), QBColor( 1 )
                Next i
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652369
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Private Type PointGraph
        ID As Long
        X As Single
        Y As Single
End Type

Private PtArr() As PointGraph

загрузку данных я уже выше показал
...
Рейтинг: 0 / 0
Нужно считать записи из dbgrid
    #36652379
Фотография aduka05adm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
спасибо буду пробовать
...
Рейтинг: 0 / 0
24 сообщений из 174, страница 7 из 7
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно считать записи из dbgrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]