Quantcast
Channel: VBForums - Visual Basic .NET
Viewing all articles
Browse latest Browse all 27329

Could this combine executables and other file formats into a single executable?

$
0
0
I discovered the below code by Larry Serflaten and Randy Birch at mvps.org. Is it possible to create something similar to this to combine various file formats into a single installer executable? I'm thinking about creating a simple game making environment, an SDK for my kids that I would also share online. I already know how to go about making the game executable (engine), but it would great to merge this with all the resources in an installer.

The following code was made with VB6:
Code:

Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright ©1996-2011 VBnet/Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Distribution: You can freely use this code in your own
'              applications, but you may not reproduce
'              or publish this code on any web site,
'              online service, or distribute as source
'              on any media without express permission.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Const sCombinedFile = "d:\vb5\test\combined.dat"
Const sTmpPix = "d:\vb5\test\picxtract.bmp"


Private Sub Command1_Click()

  Dim nImageSize As Long
  Dim hFile As Long

  'save the picture portion as the first entry
  'in the "combined file"
  SavePicture Picture1.Picture, sCombinedFile
   
  'Open the combined file for append in order to
  'add the text to file
  hFile = FreeFile
 
  Open sCombinedFile For Binary As #hFile
       
    'Retrieve the size of the image into a
    'variable for later use, then append the
    'text into the same file.
      nImageSize = LOF(hFile)
      Seek #hFile, nImageSize + 1
      Put #hFile, , Text1.Text

    'The file now contains both the image
    'and text file. As a final step, we
    'save the length of image retrieved
    'above as the last item in the file.
      Seek #hFile, LOF(hFile)
      Put #hFile, LOF(hFile) + 1, nImageSize
   
  Close #hFile
   
End Sub


Private Sub Command2_Click()

  Set Picture1.Picture = Nothing
  Text1.Text = ""
   
End Sub


Private Sub Command3_Click()

  Dim nImageSize As Long
  Dim hFile As Long
  Dim hFileOut As Long
  Dim PicData() As Byte
   
  'First step in the extraction process is to
  'obtain the length of image portion saved
  'as the last item in the file.
  hFile = FreeFile
  Open sCombinedFile For Binary As #hFile
 
    'move to the LOF - 3 and load the
    'saved image size
      Seek #hFile, LOF(hFile) - 3
      Get #hFile, , nImageSize
     
    'with the image size, create a byte array
    'large enough to accommodate the image
      ReDim PicData(0 To nImageSize - 1) As Byte
   
    'and load the image data, repositioning the
    'file pointer to the beginning first
      Seek #hFile, 1
      Get #hFile, , PicData()
       
    'write the pix to a temporary file in
    'order to use the LoadPicture method.
      hFileOut = FreeFile
      Open sTmpPix For Binary As #hFileOut
        Put #hFileOut, , PicData()
      Close #hFileOut
   
    'load the text portion to the textbox. The
    'text begins immediately after the image, and
    'extends for the file length minus the trailing
    '4 bytes for the Long that stored the image size.
      Seek #hFile, nImageSize + 1
      Text1.Text = Input(LOF(hFile) - nImageSize - 4, hFile)
     
  Close #hFile
 
  'Load the saved image from the tmp file
  'and kill it
  Picture1 = LoadPicture(sTmpPix)
  Kill sTmpPix
   
End Sub


Viewing all articles
Browse latest Browse all 27329

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>