使用vb.net获取相应文件夹下相应文件的个数并显示

1. 前言

因为我们实验室是做机器视觉方向的, 经常需要拍图, 最近在做双相机的实验, 但是拍图的时候, 可能会有很小几率的丢帧现象, 就是一个相机拍到图了, 另一个相机没有, 这个很讨厌。

我们本来是通过观察

左下角的数字来确定文件夹中相应的图片的数量, 不过这个太费劲了, 并且数字也特别小, 于是我们就想写个小程序来处理这个问题。

2. 实现

这里我们使用vb.net 来实现, 为什么用这个呢, 其实自己也不清楚, 反正, 就是不想用MFC了, MFC 太冗余了。

2.1 需求分析

需求可以简单的归结为统计一个文件夹中相应文件的数目, 需要一个输入路径的edit box 以及设置图片格式的combobox 和 用来显示的label。 同时需要支持拖拽功能

2.2 代码实现

Public Class Form1
    Dim FileAttribL As FileAttribute
    Dim intFileCountL As Integer
    Dim strFileNameL As String
    Dim FileAttribR As FileAttribute
    Dim intFileCountR As Integer
    Dim strFileNameR As String
    Dim count As Integer
    Dim fileFormatSelect As String

    ‘ 获取左右相机的图片路径 , 统计相应的文件数目, 核心 DIR 函数调用
    Private Sub getFileNum()
        If Not LeftCameraPath.Text = "" Then
            strFileNameL = Dir(LeftCameraPath.Text.ToString + "\\" + fileFormatSelect, FileAttribL)
            Do While Not strFileNameL = ""
                intFileCountL = intFileCountL + 1
                strFileNameL = Dir()
            Loop
            LeftNum.Text = intFileCountL.ToString
            intFileCountL = 0
        End If

        If Not RightCameraPath.Text = "" Then
            strFileNameR = Dir(RightCameraPath.Text.ToString + "\\" + fileFormatSelect, FileAttribR)
            Do While Not strFileNameR = ""
                intFileCountR = intFileCountR + 1
                strFileNameR = Dir()
            Loop
            RightNum.Text = intFileCountR.ToString
            intFileCountR = 0
        End If
    End Sub

    ‘ 计时器使用
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        getFileNum()
    End Sub

    ‘ 初始化
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        FileAttribL = FileAttribute.Normal Or FileAttribute.Directory Or FileAttribute.Hidden
        FileAttribR = FileAttribL
        intFileCountL = 0
        intFileCountR = 0
        Timer1.Interval = 500
        Timer1.Enabled = True
        fileFormat.SelectedIndex = 2
    End Sub

    ‘ 设置图片格式
    Private Sub fileFormat_SelectedIndexChanged(sender As Object, e As EventArgs) Handles fileFormat.SelectedIndexChanged
        fileFormatSelect = fileFormat.SelectedItem
    End Sub

    ‘ 支持拖拽功能
    Private Sub LeftCameraPath_DragDrop(sender As Object, e As DragEventArgs) Handles LeftCameraPath.DragDrop
        Dim MyFiles() As String
        MyFiles = e.Data.GetData(DataFormats.FileDrop)
        LeftCameraPath.Text = MyFiles(0)
    End Sub

    Private Sub LeftCameraPath_DragEnter(sender As Object, e As DragEventArgs) Handles LeftCameraPath.DragEnter
        e.Effect = DragDropEffects.All
    End Sub

    Private Sub RightCameraPath_DragDrop(sender As Object, e As DragEventArgs) Handles RightCameraPath.DragDrop
        Dim MyFiles() As String
        MyFiles = e.Data.GetData(DataFormats.FileDrop)
        RightCameraPath.Text = MyFiles(0)
    End Sub

    Private Sub RightCameraPath_DragEnter(sender As Object, e As DragEventArgs) Handles RightCameraPath.DragEnter
        e.Effect = DragDropEffects.All
    End Sub
End Class

2.3 实现效果

时间: 2024-10-06 15:29:59

使用vb.net获取相应文件夹下相应文件的个数并显示的相关文章

PHP遍历文件夹下的文件和获取到input name的值

<?php$dir = dirname(__FILE__); //要遍历的目录名字 ->当前文件所在的文件夹//$dir='D:\PHP\wamp\www\admin\hosts\admin'; //PHP遍历文件夹下所有文件 $handle=opendir($dir."."); $arr = array();while($file=readdir($handle)){  if(is_file($file)){ if ($file != "."&

获取文件夹下所有文件(包括子文件)放在list&lt;File&gt;中

public static List<File> getAllFileList(File rootFile) { return getAllFileList(rootFile.getAbsolutePath(), null); } /** * 获取文件夹下所有文件(包括子文件) * * @param filePath * @param fileList * @return */ public static List<File> getAllFileList(String fileP

PHP,获取文件夹下所有文件数量的方法。

<?php //给我一个文件夹,返回该文件夹下所有的文件数量 function ShuLiang($url)//造一个方法,给一个参数 { $sl=0;//造一个变量,让他默认值为0; $arr = glob($url);//把该路径下所有的文件存到一个数组里面; foreach ($arr as $v)//循环便利一下,吧数组$arr赋给$v; { if(is_file($v))//先用个if判断一下这个文件夹下的文件是不是文件,有可能是文件夹; { $sl++;//如果是文件,数量加一; }

VBA获取某文件夹下所有文件和子文件目录的文件

<strong>VBA获取某文件夹下所有文件,或子文件目录的文件</strong> '------------------------------------------- '获取某文件夹下的所有Excel文件 '------------------------------------------- Sub getExcelFile(sFolderPath As String) On Error Resume Next Dim f As String Dim file() As S

获取文件夹下所有文件或文件夹名字

第一步:在改文件夹下建一个文本文档. 第二步:在文本文档中输入:DIR *.* /B >LIST.TXT 第三步:保存文档,文本文档格式改为:a.bat 第四步:双击文件“a.bat”,该文件夹会生成一个LIST.TXT文本文档. 我的另一篇博客:“EXCEL批量修改文件”也可以获取文件夹下的文件名字. 原文地址:https://www.cnblogs.com/hsy1941/p/11824409.html

Android读取asserts和raw文件夹下的文件

经常需要用到读取"/res/raw"和"/asserts"文件夹下的文件,索性写成工具类方便以后使用. 一.raw文件夹下的文件操作工具类: /** * raw文件夹下的文件处理工具类 * * */ public class RawFileUtils { private RawFileUtils( ){ } /** * 读取raw文件夹下的文件 * @param resourceId raw文件夹下的文件资源ID * @return 文件内容 * * */ publ

VBA读取文件夹下所有文件夹及文件内容,并以树形结构展示

Const TR_LEVEL_MARK = "+"Const TR_COL_INDEX = "A"Const TR_COL_LEVEL = "E"Const TR_COL_NAME = "C"Const TR_COL_COUNT = "D"Const TR_COL_TREE_START = "F"Const TR_ROW_HEIGHT = 23Const TR_COL_LINE_WIDT

批处理脚本遍历指定文件夹下的文件

批处理脚本 1. 遍历指定文件夹下的文件 1.1 命令解释 命令: for [参数] %%变量名 in (匹配符) do (执行的命令) 切记:每个指令之间必须以空格隔开,in 与 ( 之间有空格,do 与 ( 间也有空格,否则命令会无法成功执行 ps:本节只讲用批处理脚本执行 for 命令遍历文件夹的场景,因此以下分析每个指令意义时,不介绍其他含义 []:表示此项指令为可选 [参数]:参数取值一共有四种: /d, /r, /l, /f,加上无参数,所以一共五种场景 无参:遍历当前路径的文件夹下

OpenCV实现遍历文件夹下所有文件

OpenCV中有实现遍历文件夹下所有文件的类Directory,它里面包括3个成员函数:(1).GetListFiles:遍历指定文件夹下的所有文件,不包括指定文件夹内的文件夹:(2).GetListFolders:遍历指定文件夹下的所有文件夹,不包括指定文件夹下的文件:(3).GetListFilesR:遍历指定文件夹下的所有文件,包括指定文件夹内的文件夹. 若要使用Directory类,则需包含contrib.hpp头文件,此类的实现在contrib模块. 下面为测试代码: cv::Dire

Java遍历文件夹下所有文件并替换指定字符串

应用场景:比如有一个深层次的文件目录结构,如:javaAPI 每个文件里面都有相同的内容,而我们要统一修改为其他内容.上千个文件如果一个个修改显得太不明智. import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.PrintWriter; public class Test { /** *