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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с установкой длины потока ( 
:(
    Опции темы
Welemir
Дата 25.12.2009, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый вечер всем ! Это снова я)) Привожу код:

Код


Imports System
Imports System.Net
Imports System.IO

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim client As New WebClient  ' Создаю объект клиент класса вэбклиент(хз,что за класс такой)
        Dim stream As Stream    ' создаю поток(судя по названию)
        stream.SetLength(100) ' Устанавливаю длину потока
        stream = client.OpenRead("http://www.wiw.ru")  ' Соединяюсь по урлу
        Dim reader As New StreamReader(stream)  ' Создаю объект класса StreamReader для чтения
        ...    ' Тут будет код для чтения хД
        reader.Close()   ' Осторожно! двери закрываются.
        stream.Close()  '  Аналогично.




    End Sub
End Class



Выдаёт следующее:

Предупреждение    1    Переменная "stream" используется до присвоения ей значения. Во время выполнения может произойти исключение при ссылке на значение NULL. Что это означает ? Я же не ошибся,а код не до конца компилируется(.

Поскольку не хочется засорять форум дилетантскими темами,приведу здесь краткий перечень волнующих меня вопросов:

1) Сколько конструкторов может быть у класса ? Можно ли определить их количество ?

2)Что означает ошибка: "New" не может использоваться для класса, объявленного как "MustInherit".

3) Почему некоторые свойства помечены как ReadOnly,и,соответственно,не могут использоваться в качестве присваиваемых членов объекта.

4)Вопрос,возможно,сложный,но можно ли интегрировать рнр/mysql с проектом,созданным на VB.NET ?
PM MAIL   Вверх
diadiavova
Дата 25.12.2009, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Код

Dim client As New WebClient
Dim respText = client.DownloadString("http://www.wiw.ru")
Как бы всё smile 

Цитата(Welemir @  25.12.2009,  01:52 Найти цитируемый пост)
 Переменная "stream" используется до присвоения ей значения.

Ты объявляешь переменную, но переменная это только ссылка на объект, а о сам объект ещё надо создать. В большинстве случаев это делается при помощи конструктора, но поскольку стрим - абстрактный класс, то вызвать его конструктор нельзя, вместо этого надо создавать экземпляр одного из производных классов(правда здесь это не нужно, смотри код).

Цитата(Welemir @  25.12.2009,  01:52 Найти цитируемый пост)
Поскольку не хочется засорять форум дилетантскими темами,приведу здесь краткий перечень волнующих меня вопросов:

А ты не стесняйся, этот форум для таких тем и создан, а правила одни(один топик - один вопрос).

Цитата(Welemir @  25.12.2009,  01:52 Найти цитируемый пост)
1) Сколько конструкторов может быть у класса ? Можно ли определить их количество ?

Столько, сколько тебе нужно. Они должны отличаться сигнатурой(количеством и/или типом параметров).
Цитата(Welemir @  25.12.2009,  01:52 Найти цитируемый пост)
Что означает ошибка: "New" не может использоваться для класса, объявленного как "MustInherit".

Экземплярами абстрактных(MustInherit) классов являются экземпляры производных классов. Создать экземпляр такого класса непосредственно нельзя.

Цитата(Welemir @  25.12.2009,  01:52 Найти цитируемый пост)
Почему некоторые свойства помечены как ReadOnly,и,соответственно,не могут использоваться в качестве присваиваемых членов объекта.

Так спроектированны классы. Почему то или иное свойство сделали ридонли надо спрашивать у разработчика класса(или догадаться самому, зачастую это очевидно).
 
Цитата(Welemir @  25.12.2009,  01:52 Найти цитируемый пост)
Вопрос,возможно,сложный,но можно ли интегрировать рнр/mysql с проектом,созданным на VB.NET ? 

Не совсем понятно, что имеется в виду.

Это сообщение отредактировал(а) diadiavova - 25.12.2009, 02:12


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Welemir
Дата 25.12.2009, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Уф,хороший материал для размышленияsmile.Вся страничка,это,конечно,хорошо,но разве нельзя загрузить всего лишь кусочек страницы,а не всю целиком (Ждать долго просто),и считать,к примеру,символов  в буфер ? Я так понимаю,что со свойством SetLength это невозможно (.

ЗЫ: Насчёт последнего вопроса - я имел в виду исполнение кода других языков программирования в среде VB.NET.Читал,что можно это делать через классы,но с классами я незнаком.Нет ли других вариантов ? Что-то вроде вставок js кода в рнр скрипт.

Это сообщение отредактировал(а) Welemir - 25.12.2009, 02:35
PM MAIL   Вверх
diadiavova
Дата 25.12.2009, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

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



Цитата(Welemir @  25.12.2009,  02:20 Найти цитируемый пост)
Уф,хороший материал для размышленияsmile.Вся страничка,это,конечно,хорошо,но разве нельзя загрузить всего лишь кусочек страницы,а не всю целиком (Ждать долго просто),и считать,к примеру,символов  в буфер ? Я так понимаю,что со свойством SetLength это невозможно (.

Метод SetLength не поддерживается для этого класса. Если хочешь работать с потоком, то получить его можно при помощи метода DownloadStream, если надо сохранить файл - DownloadFile, Если хочешь получить массив байтов - DownloadData. У этих методов есть асинхронные аналоги, кроме того методы с подобными именами, но начинающиеся с Upload загружают на сервер данные. Разберись со свойствами, методами и прочими делами и увидишь, что штука очень удобная даёт много возможностей. Это не единственный способ выполнить эти операции, но самый простой.


Цитата(Welemir @  25.12.2009,  02:20 Найти цитируемый пост)
Насчёт последнего вопроса - я имел в виду исполнение кода других языков программирования в среде VB.NET.

Мжно, если есть соответствующие библиотеки с интерпретаторами этих языков. Для пхп я таких не встречал.

Цитата(Welemir @  25.12.2009,  02:20 Найти цитируемый пост)
Читал,что можно это делать через классы,но с классами я незнаком.

VB.Net - объектно-ориентированный язык, так что классы - это чуть ли не первое с чем тебе надо познакомиться.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


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

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


 




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


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

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