Программа, которая определяет размер файла — исходный код на языке Visual Basic

Здесь мы с Вами напишем программу в среде программирования Microsoft Visual Basic 6.0, которая будет определять размер любого выбранного файла в окне встроенного файлового менеджера.

Давайте приступим, запустим среду, выбираем стандартный проект и добавляем на форму следующее количество объектов:

  • 5 Label
  • 1 TextBox
  • 1 FileListBox
  • 1 DirListBox
  • 1 ComboBox
  • 1 DriveListBox
  • 2 CommandButton

Далее задаем им названия в окне свойств, поле name и caption, в следующем соответствие:

Ваше название объекта

Поле Name

Поле caption

Label1

lblFileName

Имя файла:

Label2

lblDirectories

каталоги

Label3

lblDirName

Оставим пустым

Label4

lblTypeFile

Тип файла:

Label5

lblDrive

Диск:

Text1

txtFileName

В поле text все стираем

File1

filfiles

Dir1

DirDirectory

Combo1

CboFileType

Drive1

drvDrive

Command1

cmdOk

Ok

Command2

cmdCancel

Cancel

После того как Вы все переименовали, можете их расположить, как показано на картинке:

Скриншот 1

Осталось наполнить функционалом нашу программу, вставляем следующий код:

Private Sub CboFileType_Click()
        Select Case CboFileType.ListIndex
                Case 0
                filfiles.Pattern = "*.*"
                Case 1
                filfiles.Pattern = "*.txt"
                Case 2
                filfiles.Pattern = "*.Doc*"
        End Select
End Sub

Private Sub cmdCancel_Click()
        End
End Sub

Private Sub cmdOk_Click()
        Dim PathAndName As String
        Dim FileSize As String
        Dim path As String

        If txtFileName.Text = "" Then
                MsgBox "Файл не выбран!"
                Exit Sub
        End If

        If Right(filfiles.path, 1) "\" Then
                path = filfiles.path + "\"
        Else
                path = filfiles.path
        End If

        If txtFileName.Text = filfiles.FileName Then
                PathAndName = path + filfiles.FileName
        Else
                PathAndName = txtFilName.Text
        End If
        
        On Error GoTo FileLEnError
        FileSize = Str(FileLen(PathAndName))
        MsgBox "Размер файла " + PathAndName + ":" + FileSize + "bites"
        Exit Sub

        FileLEnError:
        MsgBox " Не могу определит размер файла" + PathAndName
        Exit Sub
End Sub

Private Sub DirDirectory_Change()
        filfiles.path = DirDirectory.path
        lblDirName.Caption = DirDirectory.path
End Sub

Private Sub drvDrive_Change()
        On Error GoTo DriveError
        DirDirectory.path = drvDrive.Drive
        Exit Sub

        DriveError:
        MsgBox "Ошибка выбора устройства", vbExclamation, "Ошибка"
        drvDrive = dirdrive.path
        Exit Sub
End Sub

Private Sub filfiles_Click()
        txtFileName.Text = filfiles.FileName
End Sub

Private Sub filfiles_DblClick()
        txtFileName.Text = filfiles.FileName
        cmdOk_Click
End Sub

Private Sub Form_Load()
        CboFileType.AddItem "Все файлы(*.*) "
        CboFileType.AddItem "Текстовые файлы(*.txt) "
        CboFileType.AddItem "Документы Word(*.doc)"
        CboFileType.ListIndex = 0
        lblDirName.Caption = DirDirectory.path
End Sub

После того как Вы вставили код, можете сразу проверить работоспособность программы. А сейчас давайте я немного поясню, что мы сделали.

  • CboFileType — это поле показывает, какие файлы мы хотим увидеть, и в этом коде прописано, что если мы захотим чтобы у нас отображались только текстовые файлы, то программа будет отображать только их и так далее;
  • cmdCancel — здесь все просто, мы заканчиваем нашу программу командой End;
  • cmdOk — именно здесь прописана процедура определения размера файла, т.е. если выделить файл и нажать на OK, то программа выдаст сообщение о размере файла.

Здесь мы с Вами прописали даже некие ошибки, если они возникнут, т.е. условие:

If txtFileName.Text = "" Then
        MsgBox "Файл не выбран!"
        Exit Sub
End If

Которое говорит программе, что если в текстовом поле ничего не будет, то выдать сообщение, что файл не выбран.

А вот это условие

 If txtFileName.Text = filfiles.FileName Then
        PathAndName = path + filfiles.FileName
 Else
        PathAndName = txtFilName.Text
 End If
 On Error GoTo FileLEnError
 FileSize = Str(FileLen(PathAndName))
 MsgBox "Размер файла " + PathAndName + ":" + FileSize + "bites"
 Exit Sub

Говорит нам о том, что если в текстовом поле есть название файла, то при нажатии на OK будет выводиться сообщение, в котором будет указан размер файла.

DirDirectory — показывает каталоги, которые располагаются на диске, а еще отображает путь файлов, который будет показан в lblDirName.

drvDrive — это выбор диска, также здесь прописана ошибка, при которой будет всплывать соответствующее сообщение.

Filfiles — здесь отображаются все файлы, которые располагаются в выбранном каталоге, и при выделении одного из них (или двойным щелчком мыши), название этого файла как раз токи и будет отображаться в текстовом поле.

Form — загрузка формы, здесь у нас отображаются значения по умолчанию, т.е. если мы уберем, скажем:

 CboFileType.AddItem "Все файлы(*.*) "
 CboFileType.AddItem "Текстовые файлы(*.txt) "
 CboFileType.AddItem "Документы Word(*.doc)"
 CboFileType.ListIndex = 0

то у нас не будет отображаться название пунктов при выборе фильтра по типу файлов, а если уберем:

 lblDirName.Caption = DirDirectory.path

то у нас при запуске программы не будет отображаться текущий путь каталогов.

Вот и все, удачи!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.