View Single Post
  #1 (permalink)  
Old September 5th, 2007, 01:43 AM
marcusbris marcusbris is offline
Registered User
Join Date: Dec 2006
Location: , , .
Posts: 5
Thanks: 0
Thanked 0 Times in 0 Posts
Default auto generate & save text file


I'm just starting to learn VP 2005 Express, i'm currently working an application that the end result is to WRITE the text from TXTBOX to a file then PRINT and SAVE to a file, i got the WRITE & PRINT part correctly but i cant get it to automatically generate a text file name and save it to a folder. For example when i click print, after it print i want it to save the file as "{"time"&"date"}.txt" so that it doesn't override the old one.

Please help me i'm realy stuck.

Here is my code:

Dim docFile As String = "C:\doc.txt"

Private Sub tbPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbPrint.Click

If tbDisplay.Text = Nothing Then

MsgBox("Click On New Document Button First")

ElseIf tbCal.Text = Nothing Then

MsgBox("Must complete Document to Print")


tbDisplay.Text = tbDisplay.Text & vbCrLf & "Document: " & tbCal.Text & vbCrLf

If System.IO.File.Exists(docFile) = True Then

Dim objWriter As New System.IO.StreamWriter(docFile)




MsgBox("File Does Not Exist")

End If


streamToPrint = New StreamReader("C:\doc.txt")


printFont = New Font("Courier New", 8)

Dim pd As New PrintDocument()

AddHandler pd.PrintPage, AddressOf Me.pd_PrintPage




End Try

Catch ex As Exception


End Try



End If

End Sub

Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)

Dim linesPerPage As Single = 0

Dim yPos As Single = 0

Dim count As Integer = 0

Dim leftMargin As Single

Dim topMargin As Single

Dim line As String = Nothing

' Calculate the number of lines per page.

linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics)

' Print each line of the file.

While count < linesPerPage

line = streamToPrint.ReadLine()

If line Is Nothing Then

Exit While

End If

yPos = topMargin + count * printFont.GetHeight(ev.Graphics)

ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, yPos, New StringFormat())

count += 1

End While

' If more lines exist, print another page.

If (line IsNot Nothing) Then

ev.HasMorePages = True


ev.HasMorePages = False

End If

End Sub

End Class
Reply With Quote