Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: blaro
Дата сообщения: 08.09.2010 22:05
Товарищи, помогите понять в чем проблема в коде ниже
[more=Код]
using System;
using System.IO;
using System.Net.Sockets;

namespace MyFtpClient
{
internal class FtpWebStream:Stream
{
private FtpWebResponse response;
private NetworkStream nStream;

public FtpWebStream(NetworkStream data, FtpWebResponse ftpResponse)
{
this.response = ftpResponse;
this.nStream = data;
}
public override void Close()
{
response.Close();
base.Close();
}
public override int Read(byte[] buffer, int offset, int count)
{
return nStream.Read(buffer, offset, count);
}
public override long Seek(long offset, SeekOrigin origin)
{
throw new NotImplementedException();
}
public override void SetLength(long value)
{
throw new NotImplementedException();
}
public override void Write(byte[] buffer, int offset, int count)
{
nStream.Write(buffer, offset, count);
}
public override bool CanSeek
{
get { return false; }
}
public override bool CanRead
{
get { return nStream.CanRead; }
}
public override bool CanWrite
{
get { return nStream.CanWrite; }
}
public override long Length
{
get { throw new NotImplementedException(); }
}
public override long Position
{
get
{
throw new NotImplementedException();
}
set
{
throw new NotImplementedException();
}
}
}
}
[/more]
Компилятор выдает ошибку

Код:
'MyFtpClient.FtpWebStream' does not implement inherited abstract member 'System.IO.Stream.Flush()'    C:\Users\Roman\documents\visual studio 2010\Projects\MyFtpClient\MyFtpClient\FtpWebStream.cs
Автор: RedPromo
Дата сообщения: 09.09.2010 07:15
Вобще компилятор тебе пишет что ты в своем классе не сделал реализацию абстрактной функции из базового класса. Скорей всего в книге эту реализацию упустили так как не посчитали ее важнок.
Автор: LuckyStrike
Дата сообщения: 09.09.2010 08:52
Omicron_Persey_8
Не получаеться в С# переделать
Автор: Mextrom
Дата сообщения: 09.09.2010 10:06
blaro
Попробуйте добавить в класс метод

Код: public override void Flush()
{
base.Flush();
}
Автор: blaro
Дата сообщения: 09.09.2010 10:38
RedPromo
Mextrom
Короче, не помогло. Добавил новую функцию public override void Flush(), вылезли еще 3 ошибки. В книге код какой то левый. Пропало желание разбираться с ним.
Автор: ComradG
Дата сообщения: 09.09.2010 10:47
Странная штука, однако: собираешь проект анимации графических примитивов, в котором четко прописано для основной формы при запуске появляться в центре экрана, а она нет, да и уползает в угол. Причем странность в том, что, во-первых, версия фреймворка роли не играет, во-вторых, подобного безобразия в семерке не наблюдается. Может касячит gdiplus на XP? ProcessMonitor предательски молчит, а понять что не так хочется, потому как впервые с подобным сталкиваюсь.
blaro
Код не левый, а не полный. В книгах его режут для экономии места. Слазь на сайт издателя и пошукай там на предмет сорцов к книге.
Автор: RedPromo
Дата сообщения: 09.09.2010 12:34
blaro
А вот бросил ты зря. Как я понимаю ты хочешь научится но не желаешь разбираться с ошибками, а пока ошибки то очень простые, дальше то будут посложнее.
Во первых Mextrom правильно тебе подсказал единственное что в base классе это функция abstract то есть abstract указывает, что реализация изменяемого объекта является неполной или отсутствует, здесь она отсутствует. Поэтому либо оставь реализацию пустой

Код: public override void Flush()
{
//base.Flush();
}
Автор: blaro
Дата сообщения: 09.09.2010 13:21
RedPromo
Я написал, на что мне компилятор выдал еще кучу других ошибок. То где-то что-то не объявлено, то отсутствуют функции или методы которых в книге вообще не было. И кстати base.Flush() такого метода нет.

Добавлено:
Пока писал предидущий пост, исправил еще несколько ошибок. Всему виной моя невнемательность.
Автор: Omicron_Persey_8
Дата сообщения: 09.09.2010 15:49
LuckyStrike

Цитата:
Не получаеться в С# переделать

А конкретней?
Автор: blaro
Дата сообщения: 09.09.2010 15:55
Исправил все ошибки кроме одной. В коде ниже отсутствует какой-то интерфейс. После компиляции компилятор выдает следующее:

Код:
Error    1    The type or namespace name 'FtpRequestCreator' could not be found (are you missing a using directive or an assembly reference?)    C:\Users\Roman\documents\visual studio 2010\Projects\MyFtpClient\MyFtpClient\Program.cs
Автор: RedPromo
Дата сообщения: 09.09.2010 21:11
blaro
Держи класс [more=FtpRequestCreator]
Код: public class FtpRequestCreator : IWebRequestCreate
{
public FtpRequestCreator()
{
}

public WebRequest Create(Uri Url)

{
return new FtpWebRequest(Url);
}
}

Автор: blaro
Дата сообщения: 09.09.2010 22:20
RedPromo
Спасибо за код. Сейчас появляется другая ошибка
FtpWebRequest req = (FtpWebRequest)WebRequest.Create("************************");
В этой строке программа во время работы выдает ошибку

Код:
Unable to cast object of type 'System.Net.FtpWebRequest' to type 'MyFtpClient.FtpWebRequest'.
Автор: Mextrom
Дата сообщения: 09.09.2010 22:57
LuckyStrike
Может такой вариант подойдет?
Program.cs:
Код: using System;

namespace FordBellman
{
class Program
{
static void Main(string[] args)
{
Spisok spisok = new Spisok();
spisok.VvodVes();
spisok.Reshenie();
}
}
}
Автор: yakonda2010
Дата сообщения: 10.09.2010 06:26

Цитата:
Скажите, индусы в программировании какие? Я начал сомневаться в их компитентности...


blaro, о какой компетентности ты говоришь, если ты код элементарно содрать из книги не в состоянии... Напряги мозг и прочти что тебе пишется в исключении, не могу привести System.Net.FtpWebRequest к кривому MyFtpClient.FtpWebRequest, написанный явно компетентным программистом, но явно не наследованным от WebRequest. Грамотей нашелся...

З.Ы. Больше всего ненавижу читать такие комменты, строят из себя умников, а на самом деле просто списать не в состоянии.
Автор: blaro
Дата сообщения: 10.09.2010 09:53
yakonda2010

Цитата:
если ты код элементарно содрать из книги не в состоянии...

Я в состоянии списать код из книги. Если я сейчас выложу тот код который я списал и потом еще дополнил и выложу скрины из книги, то всех моих дополнений ты там даже не увидишь.

Цитата:
Напряги мозг и прочти что тебе пишется в исключении, не могу привести System.Net.FtpWebRequest к кривому MyFtpClient.FtpWebRequest, написанный явно компетентным программистом, но явно не наследованным от WebRequest.

Я сам знаю о чем говорит эта ошибка, только меня уже достало исправлять чужие ошибки.

Цитата:
З.Ы. Больше всего ненавижу читать такие комменты, строят из себя умников, а на самом деле просто списать не в состоянии.

Кто ты такой вообще? Ненавидишь- не читай! Тебя вообще никто не заставляет. Умников из себя здесь вообще никто не строит, кроме тебя конечно.

Цитата:
Грамотей нашелся...

Сам дурак.
Автор: yakonda2010
Дата сообщения: 10.09.2010 16:24
blaro
Судя из первой ошибки о абстрактном классе, у тебя нет базовых знаний программирования, о чем с тобой говорить... далее, тебе четко написали, что нет класса или пространства имен FtpRequestCreator... ну и третью я описал выше... Дурак ты и об этом можно почитать выше, ты даже не можешь содрать код из книги... Я бы промолчал и в первый раз, если бы из-за своей некомпетентности не начинал обсирать людей... Если руки кривые, то это не значит, что кто-то виноват...
Автор: blaro
Дата сообщения: 10.09.2010 16:48
yakonda2010
Троль.
Автор: yakonda2010
Дата сообщения: 10.09.2010 16:51

Цитата:
Троль.

Неуч...
Автор: blaro
Дата сообщения: 10.09.2010 17:01
yakonda2010

Цитата:
Неуч...

Уч... А ты наверное спецом зарегился сюда, чтобы флудить...

ComradG

Цитата:
Код не левый, а не полный. В книгах его режут для экономии места. Слазь на сайт издателя и пошукай там на предмет сорцов к книге.

Спасибо за совет. Не заметил..
Автор: yakonda2010
Дата сообщения: 10.09.2010 17:38

Цитата:
Уч... А ты наверное спецом зарегился сюда, чтобы флудить...

Я же выше писал, что если бы в силу своей неграмотности не оскорблял людей, я бы прошел и не заметил, а так я специально нашел книгу из которой ты не можешь переписать код и полистал, а уж после написал.
Автор: blaro
Дата сообщения: 10.09.2010 18:29

Цитата:
не оскорблял людей, я бы прошел и не заметил

Я тебя не оскорблял. Ты сам сюда пришел и на меня наезжать начал.

Цитата:
я специально нашел книгу из которой ты не можешь переписать код и полистал, а уж после написал.

А теперь найди и скачай сорцы и скомпиль их. Когда я скачал и скомпилил сорцы той же самой проги что и я писал, у меня вообще компилятор выдал 10 ошибок. Компилил как отдельный проект, само собой. Проверил все классы, что у авторов, что у меня все точно также, символ в символ.
Автор: yakonda2010
Дата сообщения: 10.09.2010 18:44
Искать ничего не буду, есть ссылка на сырки - давай... Мне хватило того, что ты списываешь из книги пример, при этом кто то тебе дает классы, которые есть в книге и т.д. Насчет оскорблений, я не о себе писал, а о авторах книги...
Автор: RedPromo
Дата сообщения: 10.09.2010 19:01
Хотел спросить bloro ты чего хочеш научится программировать или скомпилить эту хрень из книги?!! Потому как выходит что второе в таком случае необходимо разместить твой пост в соседнюю ветку обьявления для работы программистам. Просто ты спрашиваеш о том чему должна бы тебя научить эта книга которую ты надеюсь читаеш.
Автор: blaro
Дата сообщения: 10.09.2010 19:11
yakonda2010
Ну держи: http://apress.com/book/downloadfile/1800

RedPromo
Я хочу научиться программировать сам. Большенство примеров, которые есть в книге содержат ошибки с которыми я справлялся сам. Вот только в этом примере (клиент FTP) я застрял. Я пока оставил эту прогу и продолжаю дальше читать книгу. Потом вернусь к ней.
Автор: yakonda2010
Дата сообщения: 10.09.2010 19:26
Уважаемый, вы опять фейлите....

http://i9.fastpic.ru/big/2010/0910/e1/cdf930e55f38be23f9934e053188ffe1.jpg
Автор: blaro
Дата сообщения: 10.09.2010 19:47
yakonda2010
Да ничего такого. У меня библиотека System.Net; включена в проект.
Автор: yakonda2010
Дата сообщения: 10.09.2010 20:50
blaro
Читай C# for dummies...
Автор: blaro
Дата сообщения: 10.09.2010 21:37

Цитата:
Читай C# for dummies...

Уже прочитал.
Автор: ForposT_ForeveR
Дата сообщения: 15.09.2010 09:14
Здравствуйте.
Вчера первый раз познакомился с WidowsForms в c#.
Выполняю лабораторную работу, у нас они написаны под версию студии 2005, а у меня стоит 2010. Некоторые функции не сходятся. Например, необходимо из 1го списка перенести во 2й элементы.
Функции MoveSelectedItems нет в 2010 версии. Подскажите, пожалуйста, аналог.

Код: public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void listBox1_Enter(object sender, EventArgs e)
{
button1.Text = ">";
button2.Text = ">>";
}

private void listBox2_Enter(object sender, EventArgs e)
{
button1.Text = "<";
button2.Text = "<<";
}

private void button1_Click(object sender, EventArgs e)
{
if (button1.Text == ">")
MoveSelectedItems(listBox1, listBox2);
else
MoveSelectedItems(listBox2, listBox1);
}


}
Автор: BlackVetal
Дата сообщения: 15.09.2010 09:36
ForposT_ForeveR
Что-то я сомневаюс что в 2005 студии была такая функция ... Это скорее всего самописная функция. Найди ее в проекте от 2005 студии и перенеси в новый проект VS2010.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.