Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как изменить значение в обьекте из Коллекции? я имею ввиду как это сделать красиво = ) 
V
    Опции темы
JaguarSmith
  Дата 1.2.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Здрасти! smile

Столкнулся с такой проблемой - Есть некая коллекция "_all" Когда пытаешься присвоить значение елементу этой коллекции _all.Item(n) = x возникает ашипка ибо оно(item) как выясняется - таки ReadOnly если пытаешься по хитрому _all.Item(n).Property = x.Property - то тоже ашипка из-за позднего связывания...

Выкрутился так:
Код

Public Sub setItem(ByVal n As String, ByVal v As String)

            Dim p as myObject
            Dim i, x As Int32

            x = _all.Count
            
            For i = 1 To x
                p = _all.Item(i)
             
                If p.Name = n Then
                    p.Value = v
                    _all.Remove(i)
                    If i < x Then  ' Это для порядку - дабы обьект становился на место стёртого...
                        _all.Add(p, , i)
                    Else
                        _all.Add(p)
                    End If
                End If
            Next
end sub


Но своими вторыми 90 чуствую что это не самое элегантное решение...
А как лучше?
PM MAIL YIM   Вверх
Exception
Дата 1.2.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



А что это за коллекция? Ведь если элемент ReadOnly, наверное это не просто так smile
PM   Вверх
JaguarSmith
Дата 1.2.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Не там коллекция из моих обьектов и сами по себе они не могуть быть ReadOnly smile

Там коллекция параметров для запроса MySQL - Идея в том что сначала создается набор пустых параметров под конкретную таблицу.
А потом этот "шаблон" просто заполняется из формы и сбрасывается в таблицу...

(ну надоело мне постоянно вспоминать как пишуться запросы, прописывать параметры в ручную и прочая рутина при работе с MySQL и я написал удобный(для меня) класс для работы с ним... =)

только вот с частью которая с параметрами работает глюк вышел - я её вслепую сразу в DLLке прописывал...
PM MAIL YIM   Вверх
Exception
Дата 2.2.2006, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Погоди-ка. Что тебе мешает изменить код того класса? Покажи исходник smile
PM   Вверх
JaguarSmith
Дата 2.2.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



нуу вот както так:
Код

Public Class SQL

' ##############################################################################

'   CU - здеся название DLLки в которой живёт класс

' ##############################################################################


    ' Базовый подкласс параметров
    Public Structure dbParameter
        Public Name As String
        Public Type As MySql.Data.MySqlClient.MySqlDbType
        Public Length As Integer
        Public Value As String
        Public Optional_Value As String
        Public is_Key As Boolean

        Public Function SetValues(ByVal name As String, Optional ByVal value As String = "", Optional ByVal key As Boolean = False, Optional ByVal t As dType = dType._string, Optional ByVal l As Integer = 0, Optional ByVal o As String = "") As dbParameter
            Me.Name = name.ToLower
            Me.Type = t
            Me.Length = l
            Me.Value = value
            Me.Optional_Value = o
            Me.is_Key = key
            Return Me
        End Function
        Public Function RetValues(ByVal name As String, Optional ByVal value As String = "", Optional ByVal key As Boolean = False, Optional ByVal t As dType = dType._string, Optional ByVal l As Integer = 0, Optional ByVal o As String = "") As dbParameter
            Me.Name = name.ToLower
            Me.Type = t
            Me.Length = l
            Me.Value = value
            Me.Optional_Value = o
            Me.is_Key = key
            Return Me
        End Function
    End Structure
    ' Перечисление для определения типа параметра
    Public Enum dType
        _blob = MySql.Data.MySqlClient.MySqlDbType.Blob
        _byte = MySql.Data.MySqlClient.MySqlDbType.Byte
        _date = MySql.Data.MySqlClient.MySqlDbType.Date
        _datetime = MySql.Data.MySqlClient.MySqlDbType.Datetime
        _decimal = MySql.Data.MySqlClient.MySqlDbType.Decimal
        _double = MySql.Data.MySqlClient.MySqlDbType.Double
        _enum = MySql.Data.MySqlClient.MySqlDbType.Enum
        _float = MySql.Data.MySqlClient.MySqlDbType.Float
        _geometry = MySql.Data.MySqlClient.MySqlDbType.Geometry
        _int16 = MySql.Data.MySqlClient.MySqlDbType.Int16
        _int24 = MySql.Data.MySqlClient.MySqlDbType.Int24
        _int32 = MySql.Data.MySqlClient.MySqlDbType.Int32
        _int64 = MySql.Data.MySqlClient.MySqlDbType.Int64
        _longblob = MySql.Data.MySqlClient.MySqlDbType.LongBlob
        _mediumblob = MySql.Data.MySqlClient.MySqlDbType.MediumBlob
        _newdate = MySql.Data.MySqlClient.MySqlDbType.Newdate
        _set = MySql.Data.MySqlClient.MySqlDbType.Set
        _string = MySql.Data.MySqlClient.MySqlDbType.String
        _time = MySql.Data.MySqlClient.MySqlDbType.Time
        _timestamp = MySql.Data.MySqlClient.MySqlDbType.Timestamp
        _tinyblob = MySql.Data.MySqlClient.MySqlDbType.TinyBlob
        _varchar = MySql.Data.MySqlClient.MySqlDbType.VarChar
        _year = MySql.Data.MySqlClient.MySqlDbType.Year
    End Enum

    ' обьект для манипуляций с параметрами
    Public Class Parameters

        Private _all As collection

        Public Sub New()
            _all = New Collection
        End Sub
        Public Sub New(ByVal n As collection)
            _all = New Collection
            FromCollection(n)
        End Sub
        ' Эмулируем стандартные методы работы с коллекциями
        Public Sub add(ByVal n As Object, Optional ByVal key As String = Nothing, Optional ByVal before As Object = Nothing, Optional ByVal after As Object = Nothing)
            If TypeOf (n) Is CU.SQL.dbParameter Then
                _all.Add(n, key, before, after)
            End If
        End Sub
        Public Function Item(ByVal indx As Integer) As Object
            Return _all.Item(indx)
        End Function
        Public Function Item(ByVal indx As Object) As Object
            Return _all.Item(indx)
        End Function
        Public Function Count() As Integer
            Return _all.Count
        End Function
        Public Function GetEnumerator() As System.Collections.IEnumerator
            Return _all.GetEnumerator
        End Function
        Public Sub remove(ByVal indx As Integer)
            _all.Remove(indx)
        End Sub
        Public Sub remove(ByVal key As String)
            _all.Remove(key)
        End Sub
        ' Новые методы
        ' Возвращает коллекцию параметров
        Public Function collection() As collection
            Return _all
        End Function
        ' Создает из коллекции
        Public Sub FromCollection(ByVal n As collection)
            Dim p As CU.SQL.dbParameter

            For Each p In n
                _all.Add(p)
            Next
        End Sub

' ##############################################################################

        ' Вот собственно процедура о которой идёт речь

        ' Присваивает элементу с именем n значение v

        Public Sub setItem(ByVal n As String, ByVal v As String)
            Dim p As CU.SQL.dbParameter 
            '_all = New Collection

            Dim i, x As Int32
            x = _all.Count
            For i = 1 To x
                p = _all.Item(i)
                If p.Name = n Then
                    p.Value = v
                    _all.Remove(i)
                    If i < x Then
                        _all.Add(p, , i)
                    Else
                        _all.Add(p)
                    End If
                End If
            Next

        End Sub
' ##############################################################################

        ' Возвращает элемент с именем n
        Public Function getItem(ByVal n As String) As CU.SQL.dbParameter
            Dim p As CU.SQL.dbParameter
            '_all = New Collection

            For Each p In _all
                If p.Name = n Then
                    Return p
                End If
            Next
        End Function
        ' Присоединяет новую коллекцию к текущей
        Public Sub merge(ByVal n As collection)
            Dim p As CU.SQL.dbParameter

            For Each p In n
                _all.Add(p)
            Next
        End Sub
    End Class

' ##############################################################################

' Дальше идут собственно процедуры для работы с запросами -
' они довольно длинные и я не стал их сюды впендюривать темболее что оне не имеют отношения к делу...


End Class

PM MAIL YIM   Вверх
Exception
Дата 2.2.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Страшный у тебя код. Куда делся ООП? Щас буду править...
Добавлено @ 14:19
Код

        Public Function SetValues(ByVal name As String, Optional ByVal value As String = "", Optional ByVal key As Boolean = False, Optional ByVal t As dType = dType._string, Optional ByVal l As Integer = 0, Optional ByVal o As String = "") As dbParameter
            Me.Name = name.ToLower
            Me.Type = t
            Me.Length = l
            Me.Value = value
            Me.Optional_Value = o
            Me.is_Key = key
            Return Me
        End Function
        Public Function RetValues(ByVal name As String, Optional ByVal value As String = "", Optional ByVal key As Boolean = False, Optional ByVal t As dType = dType._string, Optional ByVal l As Integer = 0, Optional ByVal o As String = "") As dbParameter
            Me.Name = name.ToLower
            Me.Type = t
            Me.Length = l
            Me.Value = value
            Me.Optional_Value = o
            Me.is_Key = key
            Return Me
        End Function

Что делает этот код???
Почему бы не объявить Property вместо этих ужасных функций?
Добавлено @ 14:21
Поставь Option Strict и исправь все ошибки smile
Лады, дай уж я поправлю...
Добавлено @ 14:22
Присутствует GetEnumerator, но нету Implements IEnumerable...
Добавлено @ 14:26
Код

        Public Function Item(ByVal indx As Object) As Object
            Return _all.Item(indx)
        End Function

Не мог бы ты привести пример использования этого?
PM   Вверх
Exception
Дата 2.2.2006, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Короче говоря, код ужасный. Лучше скажи, чего именно ты от него хотел (какие функции нужны), и я тебе его напишу сам smile
Тебе же проще smile
PM   Вверх
JaguarSmith
Дата 2.2.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Я жы не волшебник я только учусь... smile

Цитата

Что делает этот код???
Почему бы не объявить Property вместо этих ужасных функций?


Ну тут гланое что ужасный код работает(функции позволяют изменять присваивать получать значения обьекта...) - я просто не научился пока думать правильно и делаю всё по старинке как в qbasic smile

Я исправюсь честна! smile
Цитата

Присутствует GetEnumerator, но нету Implements IEnumerable...

Я просто тупо передрал все свойства и методы которые нашёл у объекта Collection - для моего кода это вааще не сусчественно я так на всякий случай, я даже не знаю на кой он нужен этот GetEnumerator... smile

Цитата

        Public Function Item(ByVal indx As Object) As Object
            Return _all.Item(indx)
        End Function

Не мог бы ты привести пример использования этого?


Идея в том что класс должон наследовать классу Collection но Collection - ненаследуемый класс - поэтому я просто эмулирую все методы и свойства Collection
Для этого и пришлось создавать коллекцию _all и работать с ней....
Item - просто возвращает элемент коллекции _all соответствующий индексу(Тк в свойсве Item было написано что оно ReadOnly я использовал функцию).
Хотя по идее надо исправить add чтобы это работало корректно.
PM MAIL YIM   Вверх
Exception
Дата 2.2.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Цитата(JaguarSmith @ 2.2.2006, 15:45 Найти цитируемый пост)
Ну тут гланое что ужасный код работает

Вот это и корень ффсех бед. Код должен понятно работать, а не просто работать. Иначе его саппорт в дальнейшем становится практически невозможным.
Цитата(JaguarSmith @ 2.2.2006, 15:45 Найти цитируемый пост)

я просто не научился пока думать правильно

Очень советую прочитать "Переход на VB .NET: стратегии, концепции, код" Дэна Эпплмана. Мне в свое время выправил мозги и научил ООП.
Цитата(JaguarSmith @ 2.2.2006, 15:45 Найти цитируемый пост)
Я просто тупо передрал все свойства и методы которые нашёл у объекта Collection

Это тоже не нужно делать smile
Цитата(JaguarSmith @ 2.2.2006, 15:45 Найти цитируемый пост)
я даже не знаю на кой он нужен этот GetEnumerator...

Он нужен для перебора коллекции вот так:
Код

For Each element In Collection
'...
Next

Цитата(JaguarSmith @ 2.2.2006, 15:45 Найти цитируемый пост)
но Collection - ненаследуемый класс

Для этих целей есть System.Collections.CollectionBase
Добавлено @ 14:55
Повторюсь: сформулируй все задачи данного класса и запости smile
PM   Вверх
JaguarSmith
Дата 2.2.2006, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Суть простая есть структура - dbParameter - она представляет собой параметр MySQL и на основе коллекции таких параметров(Parameters) строятся запросы к базе данных.
Тк Parameters - коллекция - то она должна уметь делать всё тоже самое что и обычная коллекция плюс есть несколько дополнительных возможностей
SetItem(имя, значение) присваивает "значение" элементу и именем "имя" - вообще говоря этоне совсем корректно так как в коллекции может быть несколько элементов с одинаковыми именами но в моём случае важно и допустимо ибо в таблице нет нескольких колонок с одинаковыми именами.
GetItem(имя) - возвращает значение елемента с указанным именем.
Merge(Коллекция dbParameter) - присоединяет коллекцию к теущей
и
FromCollection(Коллекция dbParameter) - создает коллекцию из указанной в параметрах.
Вот собственно и всё...

Это сообщение отредактировал(а) JaguarSmith - 2.2.2006, 15:05
PM MAIL YIM   Вверх
Exception
Дата 2.2.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



На каком VB пишешь? 2003 или 2005?
PM   Вверх
JaguarSmith
Дата 2.2.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



На 2003... Мне его пока хватает и многие его глюки я уже знаю. Хотя мой хостинг(я в основном для веб программирую) и поддерживает сайты на Framework 2.0 я пока не спешу переходить...

А это правда не займёт много твоего времени? - ато я хотел задать простой вопросик а получилось как всегда... 8 )
PM MAIL YIM   Вверх
Exception
Дата 2.2.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Цитата(JaguarSmith @ 2.2.2006, 16:26 Найти цитируемый пост)
А это правда не займёт много твоего времени?

Ща напишем smile
Цитата(JaguarSmith @ 2.2.2006, 16:26 Найти цитируемый пост)
На 2003

Это чуточку менее удобно, ну да ладно smile
Добавлено @ 15:34
Маленький вопросик: что значит Optional_Value в dbParameter?
PM   Вверх
Exception
Дата 2.2.2006, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Чего не хватает и что нужно добавить в этот код:
Код

Public Class SQL

    ' Базовый подкласс параметров
    Public Structure dbParameter
        Public Name As String
        Public Type As MySql.Data.MySqlClient.MySqlDbType
        Public Length As Integer
        Public Value As String
        Public OptionalValue As String
        Public IsKey As Boolean

        Public Sub SetValues(ByVal name As String, Optional ByVal value As String = "", Optional ByVal isKey As Boolean = False, Optional ByVal type As dbTypes = dbTypes._string, Optional ByVal length As Integer = 0, Optional ByVal optVal As String = "")
            Me.Name = name.ToLower
            Me.Type = type
            Me.Length = length
            Me.Value = value
            Me.OptionalValue = optVal
            Me.IsKey = isKey
        End Sub

        Public Sub New(ByVal name As String, Optional ByVal value As String = "", Optional ByVal isKey As Boolean = False, Optional ByVal type As dbTypes = dbTypes._string, Optional ByVal length As Integer = 0, Optional ByVal optVal As String = "")
            SetValues(name, value, isKey, type, length, optVal)
        End Sub

    End Structure

    ' Перечисление для определения типа параметра
    Public Enum dbTypes
        _blob = MySql.Data.MySqlClient.MySqlDbType.Blob
        _byte = MySql.Data.MySqlClient.MySqlDbType.Byte
        _date = MySql.Data.MySqlClient.MySqlDbType.Date
        _datetime = MySql.Data.MySqlClient.MySqlDbType.Datetime
        _decimal = MySql.Data.MySqlClient.MySqlDbType.Decimal
        _double = MySql.Data.MySqlClient.MySqlDbType.Double
        _enum = MySql.Data.MySqlClient.MySqlDbType.Enum
        _float = MySql.Data.MySqlClient.MySqlDbType.Float
        _geometry = MySql.Data.MySqlClient.MySqlDbType.Geometry
        _int16 = MySql.Data.MySqlClient.MySqlDbType.Int16
        _int24 = MySql.Data.MySqlClient.MySqlDbType.Int24
        _int32 = MySql.Data.MySqlClient.MySqlDbType.Int32
        _int64 = MySql.Data.MySqlClient.MySqlDbType.Int64
        _longblob = MySql.Data.MySqlClient.MySqlDbType.LongBlob
        _mediumblob = MySql.Data.MySqlClient.MySqlDbType.MediumBlob
        _newdate = MySql.Data.MySqlClient.MySqlDbType.Newdate
        _set = MySql.Data.MySqlClient.MySqlDbType.Set
        _string = MySql.Data.MySqlClient.MySqlDbType.String
        _time = MySql.Data.MySqlClient.MySqlDbType.Time
        _timestamp = MySql.Data.MySqlClient.MySqlDbType.Timestamp
        _tinyblob = MySql.Data.MySqlClient.MySqlDbType.TinyBlob
        _varchar = MySql.Data.MySqlClient.MySqlDbType.VarChar
        _year = MySql.Data.MySqlClient.MySqlDbType.Year
    End Enum

    ' Обьект для манипуляций с параметрами
    Public Class Parameters
        Inherits DictionaryBase
        Implements IEnumerable

        Default Public Property Item(ByVal key As String) As dbParameter
            Get
                Return CType(Dictionary(key), dbParameter)
            End Get
            Set(ByVal value As dbParameter)
                Dictionary(key) = value
            End Set
        End Property

        Public ReadOnly Property Keys() As ICollection
            Get
                Return Dictionary.Keys
            End Get
        End Property

        Public ReadOnly Property Values() As ICollection
            Get
                Return Dictionary.Values
            End Get
        End Property

        Public Sub Add(ByVal key As String, ByVal value As dbParameter)
            Dictionary.Add(key, value)
        End Sub

        Public Function Contains(ByVal key As dbParameter) As Boolean
            Return Dictionary.Contains(key)
        End Function

        Public Sub Remove(ByVal key As dbParameter)
            Dictionary.Remove(key)
        End Sub

        Public Sub Merge(ByVal parameters As Parameters)
            For Each par As Collections.DictionaryEntry In parameters
                Me.Dictionary.Add(par.Key, par.Value)
            Next
        End Sub

        Public Shared Function FromParameters(ByVal parameters As Parameters) As Parameters
            Dim result As New Parameters
            For Each par As Collections.DictionaryEntry In parameters
                result.Add(CStr(par.Key), CType(par.Value, dbParameter))
            Next
            Return result
        End Function
    End Class

End Class

?

Это сообщение отредактировал(а) Exception - 2.2.2006, 21:41
PM   Вверх
JaguarSmith
Дата 2.2.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 178
Регистрация: 16.1.2005

Репутация: нет
Всего: 1



Вот!
Вспомнил на кой я в dbParameter SetValuse и RetValues сделал функциями:
Код

        Dim n As CU.SQL.dbParameter
        DefaultDataStructure = New CU.SQL.Parameters


        DefaultDataStructure.add(n.SetValues("indx", , True))
        DefaultDataStructure.add(n.SetValues("name"))

        DefaultDataStructure.add(n.SetValues("nick")) ' Login
        DefaultDataStructure.add(n.SetValues("password"))

        DefaultDataStructure.add(n.SetValues("BirthDate"))

        DefaultDataStructure.add(n.SetValues("Email1"))
        DefaultDataStructure.add(n.SetValues("Email2"))

        DefaultDataStructure.add(n.SetValues("icq"))
        DefaultDataStructure.add(n.SetValues("yahoo"))

        DefaultDataStructure.add(n.SetValues("userpic"))
        DefaultDataStructure.add(n.SetValues("userpic_class"))


Чичаза буду тестить и заодно разбираться что такое DictionaryBase и ICollection...
я всему учусь сам методом научного тыка и с этим ещё не стыкивался... smile

Баальшое спасибо!

Зы. Почимуто когда я нажимаю на кнопку которая Разворачивает прокручиваемый код у мну наглухо виснет ИЕ наверно вирус подцепил гдето... smile

PM MAIL YIM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0624 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.