Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Надо,чтобы программа создавала ехе файл Добавлено: 18.04.03 15:46  

Автор вопроса:  Formatovsky
Как это можно сделать.....У меня на форме есть CommandButton1.При нажатии на нее я хочу,чтобы моя программа создавала ехе файл....

Ответить

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

Номер ответа: 1
Автор ответа:
 E-Man



Вопросов: 3
Ответов: 132
 Профиль | | #1 Добавлено: 18.04.03 15:58

Компилишь на VB какой-нибдудь шаблонный EXE, сохраняешь его как "exe.dat" (например), дописываешь в конце файла БИНАРНЫМ доступом любую инфу. Потом по нажатию кнопки копируешь его куда надо под именем "file.exe"(например). Усе!

Главное, надо вставить в шаблонный EXE кусок кода, который будет обрабатывать дописанную инфу.

Ответить

Номер ответа: 2
Автор ответа:
 Formatovsky



Вопросов: 3
Ответов: 4
 Профиль | | #2 Добавлено: 18.04.03 16:37

Простите,но я с VB еще только 3 месяца...новичок еще...Расскажите,плз,как это шаблонный EXE и как дописать в конце файла БИНАРНЫМ доступом любую инфу.Да еще и какой-то кусок кода в шаблонный ехе...Объясните поподробнее...

СПАСИБО!!!

Ответить

Номер ответа: 3
Автор ответа:
 E-Man



Вопросов: 3
Ответов: 132
 Профиль | | #3 Добавлено: 18.04.03 17:20

Шаблон - это то, с чего сдираем с небольшими изменениями

Пошаговое объяснение:

Step 1:

1. Запускаем VB :)

2. Рисуем в нем форму с кнопками - так, как будет выглядеть

конечный EXE файл. Конечный - это тот, который появится при клике

кнопки.

3. Пишем такой код:

Private Sub Command1_Click()

Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1

'это и есть открыть в бинарном доступе

Do

Line Input #1, s 'syntax: Line input #НОМЕР_ФАЙЛА,КУДА_ПИХАТЬ

Loop Until s = "#####" 'это у нас будет типа заглушка.

'идея просто - считываем файл по одной строчке, пока не набредем на

'заглушку.

Line Input #1, s

'после нее - наши данные - мы их и читаем.

MsgBox s

'и выводим

Close #1

'и, естественно, закрываем

End Sub

4. Компилируем его. То есть тыкаем кнопку

5. Переименовываем project1.exe в "data.dat" и кладем на диск C:

Step 2:

1. Пишем прогу, которая будет делать EXE.

Сначала рисуем кнопку, в которой пишем такой код.

Private Sub Command1_Click()

FileCopy "c:\data.dat", "c:\dest.exe"

'копируем файл с шаблонного

Open "c:\dest.exe" For Binary As #1

'открываем бинарно

's1 - переменная, LOF(1) - возвращает

'длину открытого файла за нумером 1

Get #1, LOF(1), s1

' syntax такой: Get #НОМЕР_ФАЙЛА,СКОЛЬКО_ЧИТАТЬ,КУДА_ПИХАТЬ

'читаем весь куском

'это нужно, чтобы установить указатель позиции чтения/записи

'на конец файла. На самом деле его вроде можно вручную поставить

'но я просто не помню как.

Put #1, , vbCrLf & "#####" & vbCrLf & "hello"

'и дописываем заглушку с нашими данными в конце файла.

Close #1

'и, естественно, закрываем

End Sub

2. Сохраняем. Запускаем.

3. На диске C откуда-то появился файл "dest.exe"

Странно, да?

4. запускаем его.

5. смотрим на сообщение, в котором значится "hello"

Best regards. Ничего, что всего 3 месяца VB изучаешь.

Я и сам самоучка.

Будет чего-нибудь еще непонятно - пиши. Надеюсь, я не наделал в точно работающем коде ошибок во время комментирования...

Ответить

Номер ответа: 4
Автор ответа:
 Formatovsky



Вопросов: 3
Ответов: 4
 Профиль | | #4 Добавлено: 18.04.03 19:56
2 E-Man 
Ты не поможешь одну фишку на VB написать...пиши мне на мыло...буду ждать: platinumsoft@hotbox.ru

Ответить

Номер ответа: 5
Автор ответа:
 msv



Вопросов: 34
Ответов: 312
 Web-сайт: msvprogs.narod.ru
 Профиль | | #5
Добавлено: 19.04.03 14:34
E-MAN скинь мне примерчик на mazovsergey@mail.ru плз...

Ответить

Страница: 1 |

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



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