Зарезервированные слова

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Зарезервированные слова

Сообщение Antonariy » 31.05.2005 (Вт) 14:31

Делаю замену дллки не в вб писанной, а в ней встречаются методы типа Write, Name и т.п. Вб не дет назвать процедуры такими именами. Может есть способ обойти эту фичу?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 31.05.2005 (Вт) 15:45

Поподробнее. Где встречаются методы типа Write, Name и т.п.?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 31.05.2005 (Вт) 15:52

не вижу никаких проблем:

Код: Выделить всё

'Class1
Private m_strName As String


Public Property Get Name() As String
    Name = m_strName
End Property

Public Property Let Name(ByVal strValue As String)
    m_strName = strValue
End Property

'Form1

Private Sub Form_Load()
Dim n As New Class1

n.Name = "sdfghxf"
MsgBox n.Name
End Sub


Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 31.05.2005 (Вт) 16:00

Способ есть, и он даже документирован. Вот так:
Код: Выделить всё
Public Property Get [Name]() As String
    [Name] = m_strName
End Property

Public Property Let [Name](ByVal strValue As String)
    m_strName = strValue
End Property

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 31.05.2005 (Вт) 16:03

Ennor
нормально и без скобок работает, проверено и не раз, если не будет пахать, то тогда как ты сказал :wink:

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 31.05.2005 (Вт) 17:13

Konst_One, Ennor, гоните. Попробуйте определить метод/свойство/переменную с именем Write. Вам не помогут даже квадратные скобки.
Изображение

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 31.05.2005 (Вт) 17:17

с Write действительно прокол :cry:

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 31.05.2005 (Вт) 17:49

tyomitch, ну ты же понимаешь - за что купил, за то и продаю:
http://msdn.microsoft.com/library/defau ... basics.asp
Тут, кстати, приводится еще один способ, который, как я думаю, подойдет афтару даже в большей степени.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 01.06.2005 (Ср) 8:40

Насчет Name я поторопился, это Class Bulder почему-то его не переваривает, а вопрос с Write остается открытым.

Ennor, какой способ имеешь ввиду? Если контрол, то не подходит - Write должно быть процедурой.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 190

    TopList