Запись exe'шника

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Запись exe'шника

Сообщение Keen » 07.07.2004 (Ср) 14:41

Предположим, в переменной содержиться код екзешника или иконки. При записи этой переменной в новый exe-файл программа не запускается, хотя эта новая программа и оригинал (откуда был нагло выдран код) имеет абсолютно одинаковое строение и длинну. В чем дело? :cry:

MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Сообщение MOV » 07.07.2004 (Ср) 15:12

одинаковое строение и длинну

По моему, только один вариант, хоть ты тресни:
1. Длина разная, (может ты скинул массив начиная не с нулевого элемента или наоборот с нулевого, а записывал с первого и т.д. в общем смотри длину оригинала и копии именно в БАЙТАХ разница даже в один байт - в основном, пипец :D ).

Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Сообщение Keen » 07.07.2004 (Ср) 16:15

MOV писал(а):
одинаковое строение и длинну

По моему, только один вариант, хоть ты тресни:
1. Длина разная, (может ты скинул массив начиная не с нулевого элемента или наоборот с нулевого, а записывал с первого и т.д. в общем смотри длину оригинала и копии именно в БАЙТАХ разница даже в один байт - в основном, пипец :D ).


Массив? Массивы здесь нипричем. Пользуюсь binary - длина отличается на байт 10, однако при просмотре в блокноте файлы одинаковы. Даже расположение символов совпадают в точности :( :cry: В байтах и смотрю, кстати 8)

MOV
Постоялец
Постоялец
 
Сообщения: 414
Зарегистрирован: 13.03.2004 (Сб) 15:13
Откуда: Санкт-Петербург

Сообщение MOV » 07.07.2004 (Ср) 16:56

длина отличается на байт 10

:D :D :D ты издеваешься? Ну сам подумай, если ты говоришь, что длина все-таки отличается, так о чем говорить? Воткни хоть пример кода.
binary
понятно, что binary хотя есть и другие варианты, конечно, но на физическом уровне все равно в итоге binary 8).

Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Сообщение Keen » 07.07.2004 (Ср) 19:30

MOV писал(а):
длина отличается на байт 10

:D :D :D ты издеваешься? Ну сам подумай, если ты говоришь, что длина все-таки отличается, так о чем говорить? Воткни хоть пример кода.
binary
понятно, что binary хотя есть и другие варианты, конечно, но на физическом уровне все равно в итоге binary 8).


Да я просто поработал с кодом, в результате стало отлияаться а 10 байт 8) :lol:, хотя до этого в точности сопвадало, но не работало. А код скоро предоставлю...[/code]

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 07.07.2004 (Ср) 19:40

А какого типа переменная, в которой содержится код? Уж не String ли?
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Сообщение Keen » 07.07.2004 (Ср) 22:25

Tarik писал(а):А какого типа переменная, в которой содержится код? Уж не String ли?

Гы... Да, а что? 8) :D

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Re: Запись exe'шника

Сообщение Approximator » 08.07.2004 (Чт) 1:47

Keen писал(а):Предположим, в переменной содержиться код екзешника или иконки. При записи этой переменной в новый exe-файл программа не запускается, хотя эта новая программа и оригинал (откуда был нагло выдран код) имеет абсолютно одинаковое строение и длинну. В чем дело? :cry:


Всё будет работать, если делать правильно, например, вот так:
Код: Выделить всё
Dim lFileLength as Long, lData as String
Open FilePath For Binary as #FileNumb
lFileLength=LOF(FileNumb)
lData=String(lFileLength," ")
Get #FileNumb, 1, lData
Open NewFilePath For Binary as #NewFileNumb
Put #NewFileNumb, 1, lData
Close
С уважением, Approximator.

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 08.07.2004 (Чт) 9:11

Для хранения такого рода данных всё же лучше использовать массив байт
Код: Выделить всё
Dim mByte() as Byte
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Сообщение Keen » 08.07.2004 (Чт) 9:20

Tarik писал(а):Для хранения такого рода данных всё же лучше использовать массив байт
Код: Выделить всё
Dim mByte() as Byte


Подскажи, а как в него записывать?! :oops: :?

Во всяком случае, всем спасибо, проблему я уже решил в тот де день 8) :D

SeRRg
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 343
Зарегистрирован: 25.11.2003 (Вт) 20:14
Откуда: Тюмень!

Сообщение SeRRg » 08.07.2004 (Чт) 10:15

Сначала надо сделать этому массиву ReDim (откуда и докуда нужно записывать)

Код: Выделить всё
    Open Text1.Text For Binary As #3
    ReDim OriginalArray(0 To LOF(3) - 1)
    Get #3, , OriginalArray()
    Close #3
VB - это звучит!

pitbull
Постоялец
Постоялец
 
Сообщения: 314
Зарегистрирован: 25.06.2004 (Пт) 15:37
Откуда: Кемерово

Сообщение pitbull » 08.07.2004 (Чт) 12:02

можешь посмотреть пример чтения и записи файлов в бинарном режиме в этом примере: http://www.realvb.narod.ru/huffman.zip. Смотрив коде формы.

Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Сообщение Keen » 08.07.2004 (Чт) 14:41

Всем спасибо! Вопрос по теме больше нет :P


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 16

    TopList  
cron