Короче вопрос: есть ли VB ссылочные переменные (указатели) типа как в Pascal или C++? Может, кто поможет или знает, где прочитать про это?
P.S. Повторяю: ОЧЕНЬ надо...



FAKK2 писал(а):Нету...
Set fso = New Scripting.FileSystemObject'Class Node
Option Explicit
Private moPrevNode As Node
Private moNextNode As Node
Private mvValue As Variant
Public Property Get PrevNode() As Node
    Set PrevNode = moPrevNode
End Property
Public Property Set PrevNode(ByRef newNode As Node)
    Set moPrevNode = newNode
End Property
Public Property Get NextNode() As Node
    Set NextNode = moNextNode
End Property
Public Property Set NextNode(ByRef newNode As Node)
    Set moNextNode = newNode
End Property
Public Property Get Value()
    If (IsObject(mvValue)) Then
        Set Value = mvValue
    Else
        Value = mvValue
    End If
End Property
Public Property Set Value(ByRef newValue As Variant)
    Set Value = newValue
End Property
Public Property Let Value(ByRef newValue As Variant)
    If (IsObject(newValue)) Then
        Set mvValue = newValue
    Else
        mvValue = newValue
    End If
End Property'Class Nodes
Option Explicit
Private moNodes As New Collection
Public Function Add(ByRef Value As Variant) As Node
    
    Dim Node As New Node
    Dim PrevNode As Node
    
    If (moNodes.Count) Then
        Set PrevNode = moNodes(moNodes.Count)
    End If
    
    With Node
        .Value = Value
        If (Not PrevNode Is Nothing) Then
            Set .PrevNode = PrevNode
            Set PrevNode.NextNode = Node
        End If
        moNodes.Add Node
    End With
    
End Function
Public Function Node(ByVal Index As Variant) As Node
    Set Node = moNodes(Index)
End Function
Public Property Get Count() As Long
    Count = moNodes.Count
End Property
'Module modTest
Option Explicit
Public Function test()
    
    Dim oNodes As New Nodes
    Dim oNode As Node
    
    oNodes.Add "aaa"
    oNodes.Add "bbb"
    oNodes.Add "ccc"
    
    Debug.Print "Nodes 1 to n"
    Set oNode = oNodes.Node(1)
    Do Until (oNode Is Nothing)
        Debug.Print oNode.Value
        Set oNode = oNode.NextNode
    Loop
    
    Debug.Print "Nodes n to 1"
    Set oNode = oNodes.Node(oNodes.Count)
    Do Until (oNode Is Nothing)
        Debug.Print oNode.Value
        Set oNode = oNode.PrevNode
    Loop
    
End Function
'Immediate window
test
Nodes 1 to n
aaa
bbb
ccc
Nodes n to 1
ccc
bbb
aaa
Зачем же дезинформировать людёв? Их есть!


FAKK2
Бывалый
Зарегистрирован: 21.09.2002
Сообщения: 225
Откуда: Israel, Holon
Добавлено: 11.04.2003 (Пт) 10:14 Заголовок сообщения:
--------------------------------------------------------------------------------
People!!!!
Мне позарез нужны указатели!!!!!!
Их можно использовать в VB??!!?!
_________________
If you have to shoot - shoot, don't talk!
Вернуться к началу
skiperski
Постоялец
Зарегистрирован: 25.06.2002
Сообщения: 454
Добавлено: 11.04.2003 (Пт) 12:26 Заголовок сообщения:
--------------------------------------------------------------------------------
VB не поддерживает указателей по определению. Облом'с.

FAKK2 писал(а):Кто это писал? я?

FAKK2 писал(а):.... и ссылочные переменные и указатели это не одно и тоже?



RayShade писал(а):Да можно! Представь себе!!!пишешь Myarr(3,5)="Name" и все!

Алекс писал(а):Необходимо переменной identificator присвоить значение
Enum EVariables
    Identificator = 0
    IdentName = 1
    UserAddr = 3
End Enum
Dim MyMassiv(5, 5) As ...
MyMassiv(1, Identificator) = 100
MyMassiv(1, IdentName) = "Vasja"
MyMassiv(1, UserAddr) = "Moscow"
Сейчас этот форум просматривают: Google-бот и гости: 17