精华内容
下载资源
问答
  • 引自:http://blog.csdn.net/yizia/archive/2008/06/24/2580744.aspx  在vb.net2005+winxp中,我使用GetPrivateProfileString读取一个ini文件,如果文件路径中含有中文,就会遇到一个奇怪的问题:第一次读取正常,...
     

    引自:http://blog.csdn.net/yizia/archive/2008/06/24/2580744.aspx


      在vb.net2005+winxp中,我使用GetPrivateProfileString读取一个ini文件,如果文件路径中含有中文,就会遇到一个奇怪的问题:第一次读取正常,第二次读取就取不到值。代码如下:    

    1. Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As StringByVal lpKeyName As StringByVal lpDefault As StringByVal lpReturnedString As StringByVal nSize As IntegerByVal lpFileName As StringAs Integer  
    2.   
    3. Private m_filename As String = "c:/椅子/slcuserinfo.ini"  
    4.   
    5. Public Function GetiniValue(ByVal lpKeyName As StringByVal strName As StringAs String  
    6.   
    7.     Dim strTmp As String  
    8.   
    9.     'Dim fileTmp As String                
    10.   
    11.     'fileTmp = m_filename   
    12.   
    13.     strTmp = New String("  ", 100)   
    14.   
    15.     'Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), fileTmp)   
    16.   
    17.     Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), m_filename)   
    18.   
    19.   
    20.   
    21.     GetiniValue = Left$(strTmp, InStr(strTmp, vbNullChar) - 1)   
    22.   
    23. End Function  
        Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    
        Private m_filename As String = "c:/椅子/slcuserinfo.ini"
    
        Public Function GetiniValue(ByVal lpKeyName As String, ByVal strName As String) As String
    
            Dim strTmp As String
    
            'Dim fileTmp As String             
    
            'fileTmp = m_filename
    
            strTmp = New String("  ", 100)
    
            'Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), fileTmp)
    
            Call GetPrivateProfileString(lpKeyName, strName, "", strTmp, Len(strTmp), m_filename)
    
    
    
            GetiniValue = Left$(strTmp, InStr(strTmp, vbNullChar) - 1)
    
        End Function

            反复试验过以后,发现取消注释掉的代码就可以正常运行。百思不得其解,看api的声明没有问题啊,为什么lpFileName会出现异常呢?

            不管怎样,这个问题耽误了我2个小时,先贴上故障和解决办法,以后再研究

    展开全文
  • VB.NET判断一个路径文件是否存在

    千次阅读 2013-12-05 17:02:47
    使用文件系统操控文件路径的能力是任何程序的一个重要功能。 在本文所介绍的技巧中,我们将检测VB.NET 如何与文件系统进行作用。 通过现有类、方法和属性示例给出简便方法完成必须的功能。 为了能够操作文件系统...
    使用文件系统操控文件和路径的能力是任何程序的一个重要功能。
    在本文所介绍的技巧中,我们将检测VB.NET 如何与文件系统进行作用。
    通过现有类、方法和属性示例给出简便方法完成必须的功能。

    为了能够操作文件系统,我们需要用到System.IO命名空间。
    因此,必须在模块的顶部导入System.IO。我们重点关注FileInfo类,此类允许访问和操作文件系统中的文件。
    并且允许确定文件的属性和DirectoryInfo,而DirectoryInfo类允许访问操作路径和确定属性。

    判断文件是否存在

    下面的代码给出了判断文件是否存在和检查其属性的代码。
    在此示例中,我们定义了sFileName变量保存文件名和地址。
    然后新建FileInfo类示例,此类接受完整文件路径作为参数。
    接着,使用Exists属性判断文件是否存在。

    如果存在文件,则显示文件创建的日期和时间;如果文件不存在,则给出不能定位文件的信息。

    Private Function DetermineIfFileExists() As Integer

    Dim sFileName As String

    sFileName = "C:/text1.txt"

    Dim fFile As New FileInfo(sFileName)

    If Not fFile.Exists Then

    MessageBox.Show("File Not Found")

    Else

    MessageBox.Show("File Found. File was created on: " & fFile.CreationTime)

    End If

    End Function

    判断路径是否存在

    下面的代码给出了判断路径是否存在和检查其属性的代码。
    我们定义了sDirName变量保存名字和路径的地址。
    然后新建DirectoryInfo类示例,此类接受全路径名作为参数,接下来使用Exists属性判断路径是否存在。

    如果存在,则显示其最近一次被访问的日期和时间;如果不存在,则给出不能定位路径的信息。

    Private Function DetermineIfDirectoryExists() As Integer

    Dim sDirName As String

    sDirName = "C:/temp"

    Dim dDir As New DirectoryInfo(sDirName)

    If Not dDir.Exists Then

    MessageBox.Show("Directory Not Found")

    Else

    MessageBox.Show("Directory Found. Directory was last accessed on: " & dDir.LastAccessTime)

    End If

    End Function
    展开全文
  • On Error GoTo ErrHandle Dim FileName As String ...--为什么程序跑到这里就出错:路径/文件访问错误 End If Exit Sub ErrHandle: MsgBox Error$, vbExclamation 对App.Path 有什么要求吗?能不能有中文字符?
  • 可是有部分不在域内的电脑就很麻烦,经常有人问他网络路径,被搞得不厌其烦,问我有没有办法,我就想到,要么给他部署DFS命名空间,这样只要一个网络路径,就能访问几个文件服务器了。先简单解释一下:DFS,是微软的...

    最近接到某客户IT打来的电话,说他们公司原来已经有3台文件服务器了,马上又要准备添置第4台,虽然可以通过组策略下发网络驱动器,可是有部分不在域内的电脑就很麻烦,经常有人问他网络路径,被搞得不厌其烦,问我有没有办法,我就想到,要么给他部署DFS命名空间,这样只要一个网络路径,就能访问几个文件服务器了。

    先简单解释一下:DFS,是微软的文件分布系统,包括了DFS命名空间和DFS复制两种技术;DFS命名空间,其实可以理解为:是为多台服务器的共享资源提供统一的命名,使用户从一个入口(一个共享路径者网络驱动器)就能访问位于多台文件服务器中的共享资源;而DFS复制技术,是指通过网络连接多个服务器上的文件夹,并使这些文件夹同步复制的技术。

    下面先解决客户提出的问题,利用DFS的命名空间来为多个共享路径提供一个统一的访问入口

    1、添加服务器角色,选择“文件服务器”、“DFS复制”和“DFS命名空间”

    79a98a3568aa5da55d0ba79268fc526b.png

    确认所选内容,然后“安装”

    79f27de5d152e1d87a10654e5255a693.png

    2、在“管理工具”中打开“DFS Management”

    51ca21ab37b1a77f64266d8fa3da546d.png

    3、新建命名空间

    4f49ca57fea43b477842a3c49d5d7216.png

    4、“浏览”确定服务器名称

    561ef14a24e272382e030705b53a7ada.png

    5、设置命名空间的名称

    e8529f061419a85235848cc94f862d47.png

    6、因为客户是域环境,所以这里选择“基于域的命名空间”

    ed2d375e3e7be3bf1d61b8a00dc6f8fb.png

    7、点下一步,确定内容之后,点“创建”就可以了,创建完成之后中, 我们就要新建文件夹了,注意,这里新建的文件夹,是用来对应原来的共享路径的

    619b3b69f00a900053c74589c3fb690e.png

    8、新建一个名称为files1的文件夹,添加文件夹目标(就是原共享路径),由于我是在域控上操作的,浏览到DC2019这台服务器的files1时,然后会自动生成网络路径,前提是这个files1是已经共享的文件夹,在网络上访问这个文件夹的方式是dc2019files1,所以此处自动生成的网络路径,应该就是dc2019files1 ,而这个网络路径,最终会合并进入之前新建的命名空间files

    25d9d9238fa39138a5c7d5944d9f897f.png

    9、同理,新建一个名为files2的文件夹,该文件夹的目标路径,就直接填写第二个文件服务器上的共享路径,比如clafiles2

    9d9fc2330a527a2b5d26291b5ae4b99e.png

    10、添加完成 后,可以看到,命名空间,就是一个统一的访问路径,在本例中是“hengcanit.comfiles”,右侧窗口显示了两个设置好了的两个文件夹

    388567d82f415ca3a8d874a41e5bc42e.png

    10、客户端测试:开始菜单--运行--在文本框中输入hengcanit.comfiles,并且确定

    de8ee0e7e4fd2a5f0aa2cfb303e75cb5.png

    可以看到,在打开的窗口中,有files1和files2两个文件夹

    2d0a36681af7d1dd3babaee1f4d3473a.png

    分别进入files1和files2,可以看到,两个这文件夹分别对应着不同服务器上的文件夹,已经满足了客户的要求!既然提到了DFS,那么下一篇图文,我们就来做一下DFS复制的配置吧,有兴趣的朋友可以关注一下。

    展开全文
  • 资源文件操作类 Imports System.Resources ... '资源文件路径 Public Shared path As String = "testResource.cn" '资源文件访问对象 Public Shared res As New Resources.ResourceMan...

    资源文件操作类

    Imports System.Resources
    
    Public Class PublicFun
        '资源文件路径
        Public Shared path As String = "testResource.cn"
        '资源文件访问对象
        Public Shared res As New Resources.ResourceManager(path, System.Reflection.Assembly.GetExecutingAssembly())
        '有key取得资源文件中的值
        Public Shared Function GetStr(ByVal s As String) As String
            Return res.GetString(s)
        End Function
        '重新加载页面
        Public Shared Sub ReLoad(ByRef f As Form)
            Dim baseType As String
            For Each i In f.Controls
                baseType = i.GetType.BaseType.ToString()
                Try
                    '添加帅选条件
                    If baseType = "System.Windows.Forms.Button" Then
                        i.Text = PublicFun.GetStr(i.MyText)
                    End If
                Catch e As Exception
                    MsgBox(e.Message)
                End Try
            Next
        End Sub
    End Class
    
    

     

    派生自button的类

    Public Class Component1
        Inherits Button
        Protected Overrides Sub OnPaint(ByVal pevent As System.Windows.Forms.PaintEventArgs)
            MyBase.OnPaint(pevent)
        End Sub
        Private _myText As String
        '通过设置key,用取得的value初始化text属性
        Public Property MyText() As String
            Get
                Return _myText
            End Get
            Set(ByVal value As String)
                If value = "" Then
                    _myText = value
                    Return
                End If
                Dim s As String = PublicFun.GetStr(value)
                If s = "" Then
                    MsgBox("error")
                    Return
                Else
                    Text = s
                    _myText = value
                End If
            End Set
        End Property
    End Class
    

     

    baseForm

    Public Class BaseForm
        Inherits Form
        Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
            PublicFun.ReLoad(Me)
            MyBase.OnLoad(e)
        End Sub
    End Class
    

    Form1

    Imports System.Resources
    
    Public Class Form1
        Inherits BaseForm
        '通过combobox控制程序的语言
        Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
            If ComboBox1.SelectedItem.ToString() = "cn" Then
                PublicFun.path = "testResource.cn"
            ElseIf ComboBox1.SelectedItem.ToString() = "en" Then
                PublicFun.path = "testResource.en"
            Else
                '其他情况
                Return
            End If
            '更新资源管理器
            PublicFun.res = New ResourceManager(PublicFun.path, System.Reflection.Assembly.GetExecutingAssembly())
            '重新加载页面
            PublicFun.ReLoad(Me)
        End Sub
        Private Sub Component13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Component13.Click
            'form2加载的时候自动采用最新的语言版本
            Dim f As New Form2
            f.Show()
        End Sub
    End Class
    

     

    转载于:https://www.cnblogs.com/xiaxc/articles/1819391.html

    展开全文
  • vb.net 获取文件属性

    2009-03-02 16:25:14
    获取文件路径、大小、创建日期、最近访问时间、只读、隐藏等属性。
  • 今天测试考试系统VB部分,发现问题:“错误 20 未能向文件obj\Debug\SQLServerDAL.csproj.FileListAbsolute.txt写入命令行。对路径E:\考试系统源程序SQLServerDAL\obj\Debug\SQLServerDAL.csproj.FileListAbsolute....
  • 分离文件路径等(2KB) 92,dirfile.zip 一个扫描文件的模块,速度很快(2KB) 93,wjsx.zip 单击文件名,它的几乎所有属性就一览无余了(7KB) 94,cbzt.zip 在WINDOWS下实现拷贝、粘贴的源代码(5KB)...
  • '这是一个从某一个网站下载内容保存到一个文件,然后执行的vb脚本代码 '其中有两个参数,一个是要保存到的文件路径,如(C:\a.bat) '另一个参数是访问的网页的url fn=wscript.Arguments(1): set x=...
  • FileSystemObject对象被用来访问服务器上的文件系统。这个对象能够处理文件、文件夹和目录路径。用它来检索文件系统信息也是可能的,而且vb与vbs、asp都是差不多的语法
  • vb.net中使用GetPrivateProfileString访问INI文件 中文路径
  • 桌面壁纸自动更换器源码...提示缺少“MSINET.OCX”,此文件VB访问网络的控件,可以运行 安装控件 目录下的 安装.bat 来安装此控件。2.在非中文操作系统下使用此程序时请将文件改成英文名称,并且保存在英文目录名下。
  • VB FileSystemObject对象 详解

    万次阅读 2013-04-03 17:10:17
    FileSystemObject对象被用来访问服务器上的文件系统。这个对象能够处理文件、文件夹和目录路径。用它来检索文件系统信息也是可能的。 下面的代码创建了一个文本文件,并写入了一些文本:    dim fs,fname  ...
  • vb Script参考文档

    2009-07-28 22:13:02
    HelpFile 属性 设置或返回帮助文件的全路径。 Hour 函数 返回小时数,取值范围为 0 至 23。 If...Then...Else 语句 根据表达式的值,有条件地执行一组语句。 IgnoreCase 属性 设置或返回 Boolean 值,指示模式...
  • 数据库连接文件: conn.asp 请调试成功后立即修改参数data_name的数据库名称和路径 单机运行环境: iis6.0 MSXML 3.0 Service ACCESS 2003 (或前述软件的更高版本) 开放FSO权限 ASP默认语言VBS 空间...
  • MyReturn = WriteProcessMemory(MyRemoteProcessId, MyDllFileBuffer, DllFileName, MyDllFileLength, temp) ‘向刚才申请的内存中写入dll文件路径字符串 ‘顺便说一下,很多api浏览器上的api声明都是错的,包括VB6...
  • 获取程序工作路径的方法

    千次阅读 2006-06-05 18:14:00
    获取程序工作路径的方法(作者:段炼 2000年10月08日 10:32) 我们知道,应用程序完成诸如文件读写这样的功能时通常需要先... Visual Basic(VBVB中通过App关键字来实现的对程序全局对象的访问,App对象的Path属
  • 二 、使用非Access数据库时的参数设置及配置文件的参数读取如果在VB的程序中使用了数据库的操作,将应用程序生成EXE文件或打包生成安装程序后,则必须提供一个配置 (.INI)文件,在INI文件中可以对不同类型的数据库...
  • 基于ADO.NET的某鞋企工资管理系统是采用Visual Studio 2010作为开发环境,使用Access2007 作为数据库,利用ADO.NET数据库访问技术来实现对数据库的访问。因此,用户在使用系统之前,应先确认是否安装了Visual Studio...
  • 读取随机文件

    千次阅读 热门讨论 2013-12-20 08:23:36
    如果要访问存放在外部存储器中的数据,必须先按文件路径找到所指定的文件,然后再从该文件中读取数据。要保存数据也必须先打开或新建一个文件,才能向它写入数据。在学习VB的时候,我们曾学习过,文件分为顺序文件,...
  • 在站点根目录下添加filter sjs与endfilter sjs(这是两个必须的过滤器 如无需写代码放两个空文件即可) 2 静态资源与动态页面 在server sjs里的server execFileTypes定义可以配置将哪些文档类型作为动态页面 当请求...
  • 摘要:NTFS是Microsoft公司开发的一种有着良好安全性和稳定性的高性能文件系统,NTFS的文件或文件夹中附加多个额外的数据流,但是其访问一直没有很好的解决办法,本文使用VB2003实现NTFS文件附加数据流的读写类,...
  • 1.在平常的WPF(及windows应用软件)开发中,访问文件(懒一点的话)(比如我)通常就直接使用 字符串拼接 举个例子,我们访问软件vb.net教程目录下的\Data\xxx.txt文件: string path = AppDomain.CurrentDomain.Base...
  • 电子商务模板项目-Dotnet 该项目是一个功能齐全的电子商务平台,内置dotnet和visual studio。 前台使用asp-net构建,而后台使用vb-net构建。... 访问aspx页面以修改视图,并访问vb代码隐藏文件以根据需要调整功能。
  • rar压缩软件.rar

    2016-02-13 10:52:44
    解压的文件不包括它们的路径部分,因此所有文件都创建到同一个目标目录 中。 如果你要解压完整路径名,请使用 'x' 命令。 例子: rar e -or html.rar *.css css\ 从 html.rar 压缩文件中解压所有 *.css 文件...

空空如也

空空如也

1 2 3 4 5
收藏数 83
精华内容 33
关键字:

vb访问文件路径