Страница: 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-сайт:
Профиль | | #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-сайт:
Профиль | | #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
Я правда не знаю 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-сайт:
Профиль | | #23
Добавлено: 10.09.05 18:50
Во-первых, не Lenth, а Length. Не OpenOrCreat, а Open.
Во-вторых, свойство Length типа Int64, насколько я помню. Но уж никак не Double (кому придет в голову делать дробный размер файла?).
В-третьих, объявление массива надо исправить так:
Dim bytes(1023) As Byte
потому что в объявлении заается верхняя граница массива, а учитывая, что элементы нумеруются с нуля, лина получается на 1 больше.
В остальном всё так. Только для чтения последних 300 байт я бы написал код так:
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-сайт:
Профиль | | #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-сайт:
Профиль | | #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-сайт:
Профиль | | #28
Добавлено: 12.10.05 18:05
Сори должно біть так
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-сайт:
Профиль | | #29
Добавлено: 12.10.05 19:17
byte[] bytes =new byte[300];
Это необязательно, а даже вредно. Ибо выделяется 300 байт нигде не используемой памяти. Лучше так:
byte[] bytes;
Номер ответа: 30
Автор ответа:
POST
Вопросов: 14
Ответов: 269
Web-сайт:
Профиль | | #30
Добавлено: 12.10.05 19:30
Нет, народ вы чего? Я конечно понимаю, жынтыльмены кинулись девочке помогать...
Открываем асю, вбиваем номер Марины 241391020. И немного удивляемся. А вам Марина я советую в следующий раз тщательнее скрывать свои данные. А то у вас даже e-mail начинается на pahs...