Agus's Virtual House
A g u s ' s V i r t u a l H o u s e


Membuat Struktur Directory dengan Cepat


Tip berikut akan membahas bagaimana membuat direktori di dalam direktori yang belum ada. Misalkan saja aplikasi Anda akan membuat direktori baru C:\Dataku\Manis, tetapi direktori C:\Dataku belum ada di dalam disk. Bagaimana cara membuatnya?

Visual Basic mempunyai statement MkDir untuk membuat direktori baru. Tetapi statement ini hanya dapat membuat direktori dalam satu tingkat saja. Artinya bila Anda akan membuat direktori baru C:\Dataku\Manis maka direktori C:\Dataku harus sudah ada.

Lalu bagaimana jika direktori C:\Dataku belum ada di dalam disk? Mudah saja, Anda harus membuat direktori C:\Dataku terlebi dahulu. Tentu saja akan menjadi bertele-tele, apalagi bila struktur direktori yang akan kita buat cukup dalam. Untuk memudahakan pekerjaan Anda saya telah membuat sebuah subrutin(prosedur SUB) CreateDir di dalam modul SysPath.Bas (lihat listing 1). Subrutin ini akan membuat direktori secara otomatis bila direktori belum ada di system.

Semoga tips sederhana ini dapat membantu Anda.

Listing 1

'// Module Name: modSysPath
'// Autor      : Agus Suhartono
'// Semarang April '99
Option Explicit

'// Membuat struktur direktori dengan cepat.
Public Sub CreateDir(strNewDir As String)
 Dim strDir As String
 Dim strTempDir As String
 Dim iCounter As Integer
 
  strDir = Trim(strNewDir)

  If strDir = "" Then
    '# Kode berikut dapat Anda hilangkan.
     Err.Raise 76, "modSysPath.CreateDir", "Path not found."
     Exit Sub
  End If
   
  '// Pastikan path diakhiri karakter "\"
  If Right(strDir, Len(strDir)) <> "\" Then
     strDir = strDir & "\"
  End If

  '// Inisialisasi iCounter
  iCounter = 1

  '// Ulangi sampai tidak ada "\"
  Do Until InStr(iCounter, strDir, "\") = 0
    '// Cari letak "\" berikutnya
    iCounter = InStr(iCounter, strDir, "\")
    
    '// Ambil direktori terkiri yang belum diakses.
    strTempDir = Left(strDir, iCounter)

    '// Jika Path tidak ditemukan, buat baru.
    If Dir(strTempDir, vbDirectory) = "" Then
         MkDir strTempDir
    End If
    
    iCounter = iCounter + 1
    
  Loop
End Sub


[ Top ]
Copyright © 1999 by Agus Suhartono
Last modified on:
Hierarchical Menu by Peter Belesis, Dynamic HTML Lab.