![]() |
Languages »
VB.NET »
Applications
Beginner
License: The Code Project Open License (CPOL)
Folder CoderBy BuffalloyA way to convert a folder into a file... |
VB (VB 7.x, VB 8.0, VB 9.0, VB 6)
|
||||||||||
|
Advanced Search |
|
|
|
||||||||||||||||
Well, it's all my sisters' fault... she told me she'd give me an 'Independent' sign if I make her an app that locks folders... so what could I do...?
Basically, this is the code that I use to code a selected folder...
Private Sub Code()
Try
'prepares the writer to write
Dim fs As New FileStream("C:\Mitio\Locked.log",
FileMode.Append)
Dim sw As New StreamWriter(fs)
' sets the progressbar max value
ProgressBar1.Maximum = lb.Items.Count
For Each obj As Object In lb.Items
Dim name As String = My.Computer.FileSystem.GetName(
obj.ToString)
Dim bytes() As Byte
' reads the bytes from the specified fie & stores them in
' the array
bytes = My.Computer.FileSystem.ReadAllBytes(obj.ToString)
Dim bn As Integer = bytes.Length ' gets the length of the bytes
' appends the bytes of the array to the newly created
' Locked.locked file
My.Computer.FileSystem.WriteAllBytes(
"C:\Mitio\Locked.Locked", bytes, True)
'writes the name of the file and the length of the
'binaries in it
sw.WriteLine(bn.ToString + "*" + name)
ProgressBar1.Value += 1 ' performs a step
Next
lb.Items.Clear() 'clears the list
sw.Close() 'closes the writer
fs.Close() 'and the file
ProgressBar1.Value = 0 ' resets the progressbar
Catch ex As Exception
' if anything happens, you will be gently informed :D
MsgBox(ex.Message)
End Try
End Sub
And I think there's not much into it...
And this is the code to DEcode the folder
private sub Decode()
Try
Dim bf As New FileStream("C:\Mitio\Locked.locked",
FileMode.Open, FileAccess.Read, FileShare.Inheritable)
Dim br As BinaryReader ' opens the LOCKED file
Dim sf As New FileStream("C:\Mitio\Locked.log",
FileMode.Open)
Dim sr As New StreamReader(sf) ' Opens the LOG file
Dim s As String = sr.ReadLine
lb.Items.Add(CObj(s))
While Not s Is "" ' adds all files from the LOG file
s = sr.ReadLine
If s = "" Then Exit While
lb.Items.Add(CObj(s))
End While
Label1.Text = lb.Items.Count
sr.Close() ' closes the LOG file
sf.Close()
Dim j As Integer = 0
br = New BinaryReader(bf)
Dim i As Integer = 0
pb2.Maximum = Label1.Text
For Each obj As Object In lb.Items
pb2.Value += 1 ' performs step
Dim ss() As String = obj.ToString.Split("*") 'spit
Dim bytes As Integer = ss(0) 'the binaries
Dim name As String = (ss(1)) 'and the filename
'creates a new file with the name from the list
Dim bf1 As New FileStream(txtOut.Text + name, FileMode.Append,
FileAccess.Write, FileShare.Write)
Dim bw As New BinaryWriter(bf1)
Try
For i = 1 To CInt(bytes)
'writes the number of bytes for each file
bw.Write(br.ReadByte())
Next
Catch ex As Exception
MsgBox(ex.Message) ' again if something happens...
End Try
bw.Close() 'close...
bf1.Close()
Next
br.Close() 'and close again
bf.Close()
lb.Items.Clear() 'clears the list again
pb2.Value = 0 ' resets the progressbar
Catch ex As Exception
MsgBox(ex.Message) 'ohh
End Try
end sub
It's not finished properly yet but I'll keep intouch...
| You must Sign In to use this message board. | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 11 Dec 2007 Editor: Sean Ewington |
Copyright 2007 by Buffalloy Everything else Copyright © CodeProject, 1999-2009 Web15 | Advertise on the Code Project |