Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 |

 

  Вопрос: ПРО Си ШАРП Добавлено: 09.09.05 12:16  

Автор вопроса:  Марина | ICQ: 241391020 

Ответить

  Ответы Всего ответов: 30  

Номер ответа: 16
Автор ответа:
 Марина



ICQ: 241391020 

Вопросов: 7
Ответов: 20
 Профиль | | #16 Добавлено: 10.09.05 09:11
Короче я поняла,что здесь мне помощи не найти.Здесь можно найти только несколько дебилов, которым не с кем поболтать.Вот они и болтают,но к сожалению не по делу!!!
ТЕМА ЗАКРЫТА.

Ответить

Номер ответа: 17
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #17
Добавлено: 10.09.05 10:42
1. Оскорблять здесь людей вы не в праве.

2. Задавайте конкретный вопрос, вам обязательно ответят. Например, "как считать в память не весь файл, а тоько последние N байт" или "как прочитать файл". На первый вам скажут про свойство FieStream.Position, на второй про классы BinaryReader и FileStream. Однако ж вы хотите получить всё готовенькое, не потрудившись хотя бы почитать литературу, поискать ответ на вопрос в интернете... А сразу в лоб: напишите код, и всё тут. Однако никто так не делает, и готовый код вам не напишут. Здесь не платная служба поддержки, которую можно терзать любыми вопросами, а сообщество программистов, которые хотят нормального к себе отношения. Надеюсь, понимаете?

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

Ответить

Номер ответа: 18
Автор ответа:
 Марина



ICQ: 241391020 

Вопросов: 7
Ответов: 20
 Профиль | | #18 Добавлено: 10.09.05 11:35
1. Приношу свои извенения,но,Павел,если вы читали, то оскорблять начала не я.
2. Неужели мой вопрос не понятен?
   По-моему форумы и существуют для того, чтобы помочь,а не переводить стрелу на книги.Книги то можно прочитать,но когда "кровь из носу" как надо, я иду на форум. Павел,ваш форум,наверное,для этого не предназначен. В место того, чтобы мне помочь, те, кто отвечал просто занимались бесполезной писаниной. Вот вы уже кое-что написали,а нельзя было сразу,пускай каждый по паре строчек,ведь для новичка сложновато копаться в документации.
3.Причина? Бесполезность! (Если так и будет продолжаться)

Ответить

Номер ответа: 19
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #19
Добавлено: 10.09.05 12:29
Я бы ра ответить, но я не так хорошо знаю C#, чтобы схоу написать код.
А сайт этот, как Вы могли заметить, о VB. Если же дам код на VB .NET,
то Вы скорее всего не сможете его перевести в C#, и мой ответ
посчитаете столь же бесполезным, как и первый, абсолютно четкий и
ясный ответ freeloader'а, или подробный ответ Brand'а.

Ответить

Номер ответа: 20
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #20 Добавлено: 10.09.05 12:51
Марина, именно для этого форумы и существуют: чтобы помочь. Что значит помогать? Это когда один человек что-то делает, а другой способствует этому. Так делайте хоть что-нибудь, напишите хотя бы одну строку, если не получается что-то, спросите, почему. Чтобы можно было помогать, а не делать за вас эту работу.
Это общепринятая практика. На всех известных мне форумах никто не делает за кого-то работу (исключение - когда за деньги коммерческие предложения).
За это время, пока вы препираетесь, можно было бы выучить этот сишарп в степени, достаточной для написания требуемого куска кода.
И как пожелание: поменьше апломба. Никто здесь ничего вам не обязан. Учитесь общаться с людьми, чтобы получить то, что вам нужно.

Ответить

Номер ответа: 21
Автор ответа:
 Марина



ICQ: 241391020 

Вопросов: 7
Ответов: 20
 Профиль | | #21 Добавлено: 10.09.05 13:17
делать за вас эту работу

Я же не прошу написать за меня ОС.
Товарищ HOOLIGAN, мне тоже надоели эти приперания.
Я всего-то хотела узнать как считать из файла N байт с конца. Хорошо,если это так трудно распрошу по частям.Если кто поможет-спасибо,но не надо нравоучений, и ссылок на книги,пожалуйста...
1. Как определить длину файла.
2. Какую функцию использовать для двоичного чтения.

Ответить

Номер ответа: 22
Автор ответа:
 Borisfen



ICQ: 247914358 

Вопросов: 6
Ответов: 35
 Профиль | | #22 Добавлено: 10.09.05 18:16
1. Как определить длину файла.

Я правда не знаю C# но на VB.NET это примерно так:

'Создаем новый экземпляр класса FileStream
Dim FS as New System.IO.FileStream("C:\bl-bla.exe",IO.FileMode.OpenOrCreat)
'Ну а длина файла - FS.Lenth
Dim Lenth as double = FS.Lenth


2. Какую функцию использовать для двоичного чтения.

Вот этот FileStream может читать и писать байты:

'Создаем байтовый массив длиной в 1024 байта
Dim buffer(1024) as byte
'Дальше экземпляр класса FileStream
Dim FS as New System.IO.FileStream("C:\bl-bla.exe",IO.FileMode.OpenOrCreat)
'Ну а потом считываем в массив 1024 байта:
FS.Read(buffer,0,1024)
'Ну и закрываем FileStream
FS.Close

Что касается записи этих байт в другой файл то создаеш отдельную FileStream для этого файла и записываешь в него массив при помощи Filstream.Write
Вот и все. Если что, пиши.

Ответить

Номер ответа: 23
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #23
Добавлено: 10.09.05 18:50
Во-первых, не Lenth, а Length. Не OpenOrCreat, а Open.
Во-вторых, свойство Length типа Int64, насколько я помню. Но уж никак не Double (кому придет в голову делать дробный размер файла?).
В-третьих, объявление массива надо исправить так:

Dim bytes(1023) As Byte

потому что в объявлении заается верхняя граница массива, а учитывая, что элементы нумеруются с нуля, лина получается на 1 больше.

В остальном всё так. Только для чтения последних 300 байт я бы написал код так:

Dim fs as New System.IO.FileStream("C:\vasya_pupkin.jpg", IO.FileMode.Open)
Dim br As New BinaryReader (fs)
fs.Position = fs.Length - 300 - 1
Dim bytes As Byte() = br.ReadBytes(300)
br.Close
fs.Close


Перевести на C# теперь дело техники. Если что непонятно - спрашивайте.

Ответить

Номер ответа: 24
Автор ответа:
 Borisfen



ICQ: 247914358 

Вопросов: 6
Ответов: 35
 Профиль | | #24 Добавлено: 11.09.05 13:24

Во-первых, не Lenth, а Length. Не OpenOrCreat, а Open.
Во-вторых, свойство Length типа Int64, насколько я помню. Но уж никак не Double (кому придет в голову делать дробный размер файла?).

Прошу прощения за не совсем правельный ответ. Просто я вчера немого пригружен был и даже не подумал, что double сдесь никак ни катит, что касается Lenth, то это уже банальная опечатка.
Ну а зачем Binary Reader создавать?

Ответить

Номер ответа: 25
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #25
Добавлено: 11.09.05 13:58
В контексте данной задачи использовать BinaryReader конечно не
обязательно. Но он добавляет универсальности. Например, если вдруг
Марина захочет считать Int32, находящийся на позиции Length-305, то
тут уж без BinaryReader будет тяжко :) Да и ИМХО так код лучше
понимается.

Ответить

Номер ответа: 26
Автор ответа:
 Марина



ICQ: 241391020 

Вопросов: 7
Ответов: 20
 Профиль | | #26 Добавлено: 12.09.05 12:35
Ой спасибо,ой обрадовали. НАКОНЕЦ-ТО!(моему счастью нет предела) решились таки написать. ШПАСЫБО!

Ответить

Номер ответа: 27
Автор ответа:
 slimyo



ICQ: 215451886 

Вопросов: 14
Ответов: 26
 Web-сайт: slim.sbn.bz
 Профиль | | #27
Добавлено: 12.10.05 17:49
Вот тебе тот же код на C#
FileStream fs=new FileStream("C:\vasya_pupkin.jpg", System.IO.FileMode.Open);
BinaryReader br=new BinaryReader(fs);
fs.Position = fs.Length - 300 - 1;
byte[] bytes =new byte[300];
bytes= br.ReadBytes(300);
br.Close();
Код не проверял но должен работать.

Ответить

Номер ответа: 28
Автор ответа:
 slimyo



ICQ: 215451886 

Вопросов: 14
Ответов: 26
 Web-сайт: slim.sbn.bz
 Профиль | | #28
Добавлено: 12.10.05 18:05
Сори должно біть так
FileStream fs=new FileStream("C:\\1.mp3", System.IO.FileMode.Open);
BinaryReader br=new BinaryReader(fs);
fs.Position = fs.Length - 300 - 1;
byte[] bytes =new byte[300];
bytes= br.ReadBytes(300);
br.Close();
fs.Close();

В С# вместо \ нужно ставить \\

Ответить

Номер ответа: 29
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #29
Добавлено: 12.10.05 19:17
byte[] bytes =new byte[300];

Это необязательно, а даже вредно. Ибо выделяется 300 байт нигде не используемой памяти. Лучше так:

byte[] bytes;

Ответить

Номер ответа: 30
Автор ответа:
 POST



Вопросов: 14
Ответов: 269
 Web-сайт: www.vbnet.ru
 Профиль | | #30
Добавлено: 12.10.05 19:30
Нет, народ вы чего? Я конечно понимаю, жынтыльмены кинулись девочке помогать...

Открываем асю, вбиваем номер Марины 241391020. И немного удивляемся. А вам Марина я советую в следующий раз тщательнее скрывать свои данные. А то у вас даже e-mail начинается на pahs...

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам