home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / Tutorial_M46439152002.psc / IO.bas < prev    next >
Encoding:
BASIC Source File  |  2001-12-25  |  2.3 KB  |  71 lines

  1. Attribute VB_Name = "modIO"
  2. '****THIS CODE IS FREE TO USE OR MODIFY IN ANY WAY YOU WANT****
  3. '**PLEASE CREDIT MY NAME IF YOU RE-DISTRIBUTE IT IN ANY FORM.**
  4. '** ENJOY! -Jacob Dinardi   jdinardi@excite.com
  5.  
  6. Dim iBuff As String, jBuff As String
  7. Dim i As Integer, j As Integer, k As Integer
  8.  
  9.  
  10. '----------------------------------------
  11. 'Name: PutFile
  12. '----------------------------------------
  13. Public Sub PutFile(Container As String, FileName As String, Optional NewFile As String)
  14. 'Container WILL BE THE FILE TO PUT THE OTHER FILE (FileName) INSIDE OF
  15. 'IF NewFile IS SPECIFIED THE RESULTING FILE IS SAVED TO ANOTHER NAME,
  16. 'OTHERWISE THE CONTAINER FILE IS ACTUALLY MODIFIED
  17. i = FreeFile
  18. Open Container For Binary As i
  19. 'CREATE A BUFFER TO COPY THE CONTENTS OF THE CONTAINER TO
  20. iBuff = String(LOF(i), Chr(0))
  21. Get i, , iBuff
  22. 'NOW... GET THE CONTENTS OF FileName
  23. j = FreeFile
  24. Open FileName For Binary As j
  25. jBuff = String(LOF(j), Chr(0))
  26. Get j, , jBuff
  27. Close j
  28. 'NOW... COMBINE THE FILES
  29. iBuff = iBuff & jBuff
  30. If NewFile <> "" Then
  31.   'MAKE THE FILE SPECIFIED BY THE NewFile ARGUMENT
  32.   k = FreeFile
  33.   Open NewFile For Binary As k
  34.   Put k, , iBuff
  35.   Close k
  36. Else
  37.   'NOT GOING TO MAKE A NEW FILE... ADD DATA TO THE CONTAINER FILE
  38.   Put i, , iBuff
  39.   Close i
  40. End If
  41.  
  42. End Sub
  43.  
  44.  
  45. '----------------------------------------
  46. 'Name: GetFile
  47. '----------------------------------------
  48. Public Sub GetFile(Combined As String, Size As Long, Optional NewFile As String)
  49. 'YOU MUST KNOW THE SIZE OF THE ORIGINAL CONTAINER FILE, SO YOU KNOW WHERE TO START
  50. 'READING BITS FROM THE COMBINED FILE. DOING IT THIS WAY MAKES IT SIMPLE TO INCLUDE
  51. 'AN INI FILE FOR EXAMPLE, BECAUSE IT'S SIZE IS FREE TO CHANGE AND IT IS STILL EASILY
  52. 'LOCATED. THIS EXAMPLE IS MEANT TO BE SIMPLE AND TO THE POINT, IF YOU WANT TO COMBINE
  53. 'MULTIPLE FILES (MORE THAN 2) YOU'LL HAVE TO CREATE MARKER BITS IN THE FILE ALSO TO
  54. 'ALLOW YOURSELF TO LOCATE START/STOP POSITIONS, AND OF COURSE ADD CODE TO HANDLE IT.
  55. i = FreeFile
  56. Open Combined For Binary As i
  57. iBuff = String(LOF(i), Chr(0))
  58. Get i, , iBuff
  59. 'LENGTH OF COMBINED FILE - Size = LENGTH OF EMBEDDED FILE
  60. iBuff = Trim(Right(iBuff, LOF(i) - Size))
  61. iBuff = Trim(iBuff)
  62. If NewFile <> "" Then
  63.   'MAKE A NEW FILE, OTHERWISE THE DATA IS IN THE BUFFER
  64.   j = FreeFile
  65.   Open NewFile For Binary As j
  66.   Put j, , iBuff
  67.   Close j
  68. End If
  69. Exit Sub
  70. End Sub
  71.