Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: Двойной массив элемента управления Добавлено: 10.08.06 18:44  

Автор вопроса:  -АлександР- | Web-сайт: sham.clan.su

Ответить

  Ответы Всего ответов: 58  

Номер ответа: 46
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #46 Добавлено: 12.08.06 16:43
Public Function Lines(pictureNumber As Byte, nLine As Integer) As Line

плохо...

Ответить

Номер ответа: 47
Автор ответа:
 Сheetor! Maximize!!!



ICQ: I am transformed 

Вопросов: 4
Ответов: 43
 Web-сайт: en.wikipedia.org/wiki/Beast_Machines
 Профиль | | #47
Добавлено: 12.08.06 17:14
Прикольные выходные параметры!
А у меня вот такие:

Type Maximal
    CyborgName As String
    SparkID As Long
    '...secret code
    
End Type

Function GetCyborg(CyborgID As Long) As Maximal
    '...secret code
End Function

Ответить

Номер ответа: 48
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #48
Добавлено: 13.08.06 01:00
плохо...

Мда, плохо. Но пусть будет без line:
Public Function Lines(pictureNumber As Byte, nLine As Integer)

Эта функция во всяком случае точно отображает ту работу с числами, которая мне нужна. Теперь надо как-то привязать ее к объектам.

2Techno-organic: хороший совет, но как привязать свойства, которые я задаю в type к объекту line? Я это представляю только через property let, propery get. А внутри?
Option Explicit
Type tLin
    visibleL As Boolean
End Type
Dim i As Integer
Public Function lines(pictureNumber As Byte, nLine As Integer) As tLin

    For i = pictureNumber - 1 To nLine Step 3
        Line1.Item(i) = nLine
        
    Next i
End Function

Public Property Get visibleL() As Boolean
    visibleL = Line1(i).Visible
End Property

visibleL опять присваивается значение одномерки, хотя постой.
Что если сделать visibleL = Line1(i*3).Visible. Может схляет? Надо проверить - там напишу.

Еще Cheetor! Maximize! неплохую идею предложил,
Private Function ProcessButton(btnButton As CommandButton, i As Long, j As Long) As Long
. Может так получится, сча попробую...

Ответить

Номер ответа: 49
Автор ответа:
 Сheetor! Maximize!!!



ICQ: I am transformed 

Вопросов: 4
Ответов: 43
 Web-сайт: en.wikipedia.org/wiki/Beast_Machines
 Профиль | | #49
Добавлено: 13.08.06 05:04
АлександР, про Type Maximal забудь - это фигню нёс, а вот про ПроцессБутон если прибавить входных параметров касающихся меняемых свойств - может заработать ::-))

Ответить

Номер ответа: 50
Автор ответа:
 Сheetor! Maximize!!!



ICQ: I am transformed 

Вопросов: 4
Ответов: 43
 Web-сайт: en.wikipedia.org/wiki/Beast_Machines
 Профиль | | #50
Добавлено: 13.08.06 05:32
P.S. надо только написать ByVal перед координатами
P.P.S Чё то некоторые не верили что я могу написать хоть строку рабочего кода :::-) <--- это Блэкаракния :))))

Ответить

Номер ответа: 51
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #51
Добавлено: 13.08.06 12:42
Вроде получилось... Судите сами
Option Explicit

Dim i As Integer
'nline нужно придать индекс одномерного массива линий
Private Function lines(pictureNumber As Byte, nLine As Integer) As Integer
'pictureNumber должно иметь значение 1, 2 или 3

    If pictureNumber = 1 Then 'переводит значение одномерного массива в двух- с коэффицентом 3
        For i = 0 To nLine Step 3
           ' По идее i - это новые индексы прямых для первой картинки
            lines = i
        Next i
    ElseIf pictureNumber = 2 Then
        For i = 1 To nLine Step 3
            'То же для второй
            lines = i
        Next i
    ElseIf pictureNumber = 1 Then
        For i = 2 To nLine Step 3
             'И здесь - для 3ей. Но как привязать их к line
            lines = i '?
        Next i
    End If
    Text1.Text = lines Проверка значения новоиспечённого индекса
Теперь его нужно привязать к line?

    Line1(lines).X1 = 1 'seret code
    'Вроде получилось - всем спасибо!
End Function

Private Sub Form_Load()
Dim g As Integer
g = lines(2, 3)
End Sub

Спасибо всем!

P/S Практически искусственно создали массив, если б ещё можно было что-то вроде lines as line1, а потом lines(x,y).x1 = тому-то, то вообще от двойного массива элементов управления не отличишь... По-моему это можно сделать
Я это представляю только через property let, propery get.
Вполне можно, но будет большой код(все свойства линии осветить) - и запихать в какую-нибудь библиотеку, чтоб всегда была под рукой) И поэтому
Ну похоже это именно на реализацию записи 0,5 байт

Не скажи, не скажи - всё возможно!

Ответить

Номер ответа: 52
Автор ответа:
 DJ EFFECT



Вопросов: 10
Ответов: 18
 Профиль | | #52 Добавлено: 13.08.06 23:21
Блин, вы че обсуждаете массив типа объект шо ль?
потом
Load Label1(1)
Label1(1).Left = 100
Label1(1).Top = 100
Label1(1).Caption = "Превед медвед"
...
Label1(1).Visible=True

Хакер правилно написал

Ответить

Номер ответа: 53
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #53 Добавлено: 13.08.06 23:46
По поводу создания объектов на API - в поиск, "API ListView" или там API ещё чё нибуть, ToolBar, Status, etc.. один вон sne сколько писал..

Ответить

Номер ответа: 54
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #54
Добавлено: 15.08.06 20:29
По поводу создания объектов на API - в поиск, "API ListView" или там API ещё чё нибуть, ToolBar, Status, etc.. один вон sne сколько писал..

sne писал не об этом)

потом
Load Label1(1)
Label1(1).Left = 100
'...............

Работает, спасибо HACKER'у

Очень пригодилось, но сталкнулся с такой тяжёлой проблемой и прошу помощи: у меня на форме три картинки(picture1, picture2, picture3). На picture1 находится line1(0). Как сделать, чтобы появляющаяся при load line1(1), line1(1) появилась на программно заданной картинке(например, picture2)?

Помогите, пожалуйста, кто в методе load хорошо разбирается,

Ответить

Номер ответа: 55
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #55 Добавлено: 15.08.06 21:41
sne писал не об этом)
Почему?


2 АлександР
Load Line1(1)
...
Set Line1(1).Container = Picture1.Parent


P.S. Как же ты собирался на вб с автокадом конкурировать незная основ?

:)

Ответить

Номер ответа: 56
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #56
Добавлено: 16.08.06 01:03
Set Line1(1).Container = Picture1
Так точнее:)

P.S. Ну бывает, чего-то мы и не знаем
Как же ты собирался на вб с автокадом конкурировать незная основ?

С помощью формул:
1)
dim Стремление As Оптимизм
Sub Проект_Разработка()
Стремление > Autodesk 'в юмор ...
For Cтремление = ВБ.основы to AutoCAD step тише едешь дальше будешь
If Знания.ВБ = 0 Then Логика + Творческий подход + хоршие друзья на форуме = Результат.ВБ
Next Стремление
End Sub


P.P.S. HACKER, спасибо!

Ответить

Номер ответа: 57
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #57 Добавлено: 16.08.06 11:25
Мдя... Самый тупой топ за последние полгода. Однозначно.
ЗЫ АПИ рулит. Для страдающих апифобией рекомендуется инкапсулировать их в классы. Проблемы с контролами сливаются. Всё.

Ответить

Номер ответа: 58
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #58 Добавлено: 18.08.06 19:38
2 АлександР
В твоём коде сумируются только положительные стороны, ты подумай сколько отрицательных, о них я писал в топике VB AutoCad...

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам