Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не возможно полностью прочитать файл! 
:(
    Опции темы
rulonoboev
Дата 10.12.2008, 04:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Приветствую!! ломаю голову, не могу понять, что не так...

Код



Dim FName As String
dim t 
dim q

FN = FreeFile
FName = "test.exe"

Open FName For Input As #FN

For q = 0 To FileLen(FName)
t = Input(1, #FN)
text1.text = text1.text & t
next q




прочитав примерно 8 килобайт символов из файла выкидывает ошибку "Input past end of file" хотя файл порядка 900 килобайт.


что я не так написал в коде?

вообщем, мне нужно прочитать посимвольно экзешник, а потом его также грамотно посимвольно собрать обратно, но в другой файл. это возможно?

гугл не помог smile 
PM MAIL   Вверх
XOXOJI
Дата 10.12.2008, 05:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а с помощью двоичного доступа пробовал? функцией get
PM MAIL   Вверх
Akina
Дата 10.12.2008, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Полюбопытствуй на разных файлах, чему равно loc(FN) и asc(t) при возникновении ошибки.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
neic
Дата 10.12.2008, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Akina, запустил ради теста.

Последний loc = 43, а ASC = 220
PM MAIL WWW ICQ Skype   Вверх
Akina
Дата 10.12.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(neic @  10.12.2008,  11:43 Найти цитируемый пост)
Последний loc = 43, а ASC = 220 

упс, ошибся... надо смотреть не asc(t), а код СЛЕДУЮЩЕГО символа. 
и получить аналогичные данные для НЕСКОЛЬКИХ РАЗНЫХ файлов.
вот тогда и сделаешь выводы.

Добавлено через 40 секунд
ps. открой не в input, а в binary, остальной код тот же...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
rulonoboev
Дата 10.12.2008, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ребят,  спасибо ) совсем из головы про бинарник вылетело.

просто почти 5 лет не садился за программирование.



у меня блин всеравно косяк получается какой-то. я читаю ехе-шник посимвольно в переменную, потом сохраняю переменную в новый файл с расширением ехе, но он уже становится неработоспособным :((
PM MAIL   Вверх
Akina
Дата 10.12.2008, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



А потому что надо не Input использовать, а InputB...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mb78
Дата 27.12.2008, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

Option Explicit
Dim programname As String, FileNumber As Integer, lenoffile As Long, a() As Byte

programname ="test.exe"
lenoffile = FileLen(programname)
ReDim a(lenoffile)
FileNumber = FreeFile
Open programname For Binary As #FileNumber
Get #FileNumber, 1, a
Reset


Так можно поместить весь файл (не слишком большого размера) в числовой массив a(размер файла).
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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