• Thứ Năm, 25/12/2003 12:11 (GMT+7)

    Câu hỏi :
    Lệnh nào của VB có thể tạo thư mục mới? Lệnh nào của VB có thể copy tập tin? Visual Studio 6.0 có phải cũng chính là Visual Studio 98 không? Hàm nào của VB có thể lấy được số RAM hệ thống dưới dạng MB? Có sách nào nói về thư viện hàm API của Windows không?

    Trả lời :

    1. Để tạo 1 thư mục mới, bạn có thể gọi hàm API của Windows tên là CreateDirectory(). Ví dụ sau cho phép tạo 1 thư mục tên là “c:\newdir”:

     ‘ Khai báo hàm CreateDirecory

    Private Declare Function CreateDirectory Lib “kernel32” Alias “CreateDirectoryA” (ByVal lpPathName As String, lpSecurityAttributes As Any) As Long

    ‘Tạo thư mục c:\newdir

    Private Sub Command1_Click()

    ret = CreateDirectory(“c:\newdir”, Null)

    End Sub

    2. Để copy file, bạn có thể gọi hàm API của Windows tên là CopyFile(). Ví dụ sau cho phép copy file “c:\autoexec.bat” sang file “c:\autoexec.old”, nếu file “c:\autoexec.old” đã tồn tại thì nội dung của nó bị ghi đè bởi nội dung mới:

     ‘ Khai báo hàm CopyFile

    Private Declare Function CopyFile Lib “kernel32” Alias “CopyFileA” (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

    ‘ Copy file

    Private Sub Command2_Click()

       ret = CopyFile(“c:\autoexec.bat”, “c:\autoexec.old”, False)

    End Sub

    3. Bộ Visual Studio 98 (hay Visual Studio 6.0, Visual Studio 2000) bao gồm nhiều môi trường lập trình mạnh của Microsoft, trong đó có Visual Basic 6.0, VC++, Visual Foxpro,... Ngoài ra nếu chỉ cần dùng VB 6.0, bạn cũng có thể dùng CD-ROM Visual Basic 6.0 để cài.

    4. Để tìm thông tin về tình trạng bộ nhớ RAM và bộ nhớ ảo của Windows, bạn có thể gọi hàm API của Windows tên là GlobalMemoryStatus(). Ví dụ sau cho phép lấy thông tin về tình trạng bộ nhớ của Windows:

     Private Declare Sub GlobalMemoryStatus Lib “kernel32” (lpBuffer As MEMORYSTATUS)

    Private Type MEMORYSTATUS

        dwLength As Long  ‘sizeof(MEMORYSTATUS)

        dwMemoryLoad As Long  ‘percent of memory in use

        dwTotalPhys As Long  ‘bytes of physical memory

        dwAvailPhys As Long  ‘free physical memory bytes

        dwTotalPageFile As Long  ‘bytes of paging file

        dwAvailPageFile As Long  ‘free bytes of paging file

        dwTotalVirtual As Long  ‘user bytes of address space

        dwAvailVirtual As Long  ‘free user bytes

    End Type

     Dim lpBuffer As MEMORYSTATUS

    ‘ Lấy thông tin về bộ nhớ

    Private Sub Command1_Click()

    GlobalMemoryStatus lpBuffer

    ‘ Tổng bộ nhớ RAM làlpBuffer.dwTotalPhys

    ‘ Bộ nhớ RAM còn rãnh là lpBuffer.dwAvailPhys

    ...

    End Sub 

    5. Để biết thông tin sử dụng chi tiết và cụ thể của các hàm API Windows, bạn nên tra cứu hàm đó theo mục Index trong CD-ROM MSDN thuộc bộ Visual Studio 200x của Microsoft.

    Chuyên mục: Lập trình