Difference between revisions of "File System + File I/O in VB6"
From Free Knowledge Base- The DUCK Project: information for everyone
Line 1: | Line 1: | ||
− | + | == Microsoft Scripting Runtime / FSO == | |
+ | <big>*must add '[[References, Components, and Controls List VB6|reference]]' to "Microsoft Scripting Runtime"</big> | ||
* Be sure to "Set fso = Nothing" unless you like memory leaks and virtual memory errors in Windows. | * Be sure to "Set fso = Nothing" unless you like memory leaks and virtual memory errors in Windows. | ||
− | == Write/Create a new file using FileSystemObject == | + | === Write/Create a new file using FileSystemObject === |
Dim fso As New FileSystemObject, fsoStream As TextStream | Dim fso As New FileSystemObject, fsoStream As TextStream | ||
Line 17: | Line 18: | ||
| | ||
− | == Check if File Exists == | + | === Check if File Exists === |
Private Function LocalFileExists() As Boolean | Private Function LocalFileExists() As Boolean | ||
Line 30: | Line 31: | ||
| | ||
− | == Delete File == | + | === Delete File === |
strDst = strLCRMpath & "\" & Trim("" & strRemoteFileName) | strDst = strLCRMpath & "\" & Trim("" & strRemoteFileName) | ||
Line 37: | Line 38: | ||
| | ||
− | == Copy File (Backup File) == | + | === Copy File (Backup File) === |
fso.CopyFile strFileSpec, Replace(strFileSpec, ".xml", ".bak") | fso.CopyFile strFileSpec, Replace(strFileSpec, ".xml", ".bak") | ||
Line 50: | Line 51: | ||
| | ||
− | == Write if exists, create if doesn't exist using FileSystemObject == | + | === Write if exists, create if doesn't exist using FileSystemObject === |
If fso.FileExists(strFileSpec) Then | If fso.FileExists(strFileSpec) Then | ||
Line 66: | Line 67: | ||
| | ||
− | == Launch Another Program (any) From Your VB Program == | + | == Other File System Methods == |
+ | |||
+ | === Launch Another Program (any) From Your VB Program === | ||
Private Sub launchSLXAssist() | Private Sub launchSLXAssist() | ||
Line 79: | Line 82: | ||
| | ||
− | == Check if Network Path and File are available == | + | === Check if Network Path and File are available === |
Private Sub checkFile01() | Private Sub checkFile01() | ||
Line 103: | Line 106: | ||
End Sub | End Sub | ||
+ | |||
+ | | ||
| |
Revision as of 15:54, 7 February 2008
Microsoft Scripting Runtime / FSO
*must add 'reference' to "Microsoft Scripting Runtime"
- Be sure to "Set fso = Nothing" unless you like memory leaks and virtual memory errors in Windows.
Write/Create a new file using FileSystemObject
Dim fso As New FileSystemObject, fsoStream As TextStream Dim rec1, strLine, strFileSpec Dim cnt0 As Integer, tag1 As Integer strFileSpec = Environ("HOMEPATH") & "\My Documents\kaching.log" strLine = "kaching incident " & Date & " " & Format(time, "HH:mm:ss") & vbCrLf Set fsoStream = fso.CreateTextFile(strFileSpec, True) fsoStream.Write strLine fsoStream.Close Set fsoStream = Nothing: Set fso = Nothing
Check if File Exists
Private Function LocalFileExists() As Boolean Dim fso As New FileSystemObject Dim strSrc As String, strDst As String strSrc = Trim("" & strRemoteFileName) strDst = strLCRMpath & "\" & Trim("" & strRemoteFileName) If fso.FileExists(strDst) Then LocalFileExists = True Else LocalFileExists = False Set fso = Nothing End Function
Delete File
strDst = strLCRMpath & "\" & Trim("" & strRemoteFileName) fso.DeleteFile strDst
Copy File (Backup File)
fso.CopyFile strFileSpec, Replace(strFileSpec, ".xml", ".bak")
With error handling:
On Error GoTo SkipBackup If blnNoWriteFileInDebug <> True Then fso.CopyFile strFileSpec, Replace(strFileSpec, ".xml", ".bak") SkipBackup: On Error GoTo 0
Write if exists, create if doesn't exist using FileSystemObject
If fso.FileExists(strFileSpec) Then Set fsoStream = fso.OpenTextFile(strFileSpec, 2) Else Set fsoStream = fso.CreateTextFile(strFileSpec, True) End If fsoStream.Write strLine fsoStream.Close Set fsoStream = Nothing: Set fso = Nothing
' strFileSpec, 1 : ForReading 2 : ForWriting 8 : ForAppending
Other File System Methods
Launch Another Program (any) From Your VB Program
Private Sub launchSLXAssist() Dim intExecute% If InStr(LCase(Command), "/interpreter") > 0 Then MsgBox "Shell SLXAssist.exe" Else intExecute% = Shell("SLXAssist.exe /verified", 1) End If End Sub
Check if Network Path and File are available
Private Sub checkFile01() ' [step 1]: check to see if the network path and autoupdate.xml are available Dim fLen As Integer Dim strResponse% tmr.Enabled = False intbarProg = 0: barProg.Value = intbarProg On Error Resume Next fLen = Len(Dir$(xmlfilepath)) strResponse% = vbRetry While strResponse% = vbRetry If Err Or fLen = 0 Then ' file dosent exist strResponse% = MsgBox("Error: XML inaccessible for auto-update!", vbAbortRetryIgnore, "SALESLOGIX ASSISTANT") Else ' file exists strResponse% = 0 End If Wend On Error GoTo 0 End Sub