zoukankan      html  css  js  c++  java
  • 自己常用方法封装

    Imports System.Runtime.InteropServices
    Imports System.Text
    Imports System.IO
    Imports Aras.IOM
    
    Public Class CommonMethod
    
    #Region "                              内容方法"
        ''' <summary>
        ''' 获取ini值
        ''' </summary>
        ''' <param name="section"></param>
        ''' <param name="key"></param>
        ''' <param name="def"></param>
        ''' <param name="retVal"></param>
        ''' <param name="size"></param>
        ''' <param name="filePath"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        <DllImport("kernel32")> Private Shared Function GetPrivateProfileString(ByVal section As String, ByVal key As String, ByVal def As String, ByVal retVal As StringBuilder, ByVal size As Integer, ByVal filePath As String) As Integer
        End Function
    
        ''' <summary>
        ''' 写ini值
        ''' </summary>
        ''' <param name="section"></param>
        ''' <param name="value"></param>
        ''' <param name="key"></param>
        ''' <param name="filePath"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        <DllImport("kernel32")> Private Shared Function WritePrivateProfileString(ByVal section As String, ByVal value As String, ByVal key As String, ByVal filePath As String) As Boolean
        End Function
    #End Region
    
    #Region "                              外部方法"
        ''' <summary>
        ''' 读取INI文件
        ''' </summary>
        ''' <param name="section">节点名称</param>
        ''' <param name="key">关键字</param>
        ''' <param name="path">文件路径</param>
        ''' <returns>返回值</returns>
        ''' <remarks></remarks>
        Public Function IniReadValue(ByVal section As String, ByVal key As String, ByVal path As String) As String
            Dim temp As StringBuilder = New StringBuilder(255)
            GetPrivateProfileString(section, key, "", temp, 255, path)
            Return temp.ToString()
        End Function
    
        ''' <summary>
        '''  写入INI文件
        ''' </summary>
        ''' <param name="section">节点名称</param>
        ''' <param name="key">关键字</param>
        ''' <param name="value">写入值</param>
        ''' <param name="path">文件路径</param>
        ''' <returns>返回值</returns>
        ''' <remarks></remarks>
        Public Function IniSetValue(ByVal section As String, ByVal key As String, ByVal value As String, ByVal path As String) As Boolean
            Dim IsSuccess As Boolean = WritePrivateProfileString(section, key, value, path)
            Return IsSuccess
        End Function
    
        ''' <summary>
        ''' 读取文件指定行数据
        ''' </summary>
        ''' <param name="Path">文件路径</param>
        ''' <param name="LineItm">指定行数</param>
        ''' <returns>返回值,超出索引返回最后一行值</returns>
        ''' <remarks></remarks>
        Public Function ReadValueByLine(ByVal Path As String, ByVal LineItm As Integer) As String
            Dim F3 As StreamReader = Nothing, StrReturn As String = Nothing
            Dim i As Integer = 0
    
            If LineItm < 1 Then Return StrReturn
            F3 = New StreamReader(Path, Encoding.Default)
            While Not F3.EndOfStream
                StrReturn = F3.ReadLine()
                i = i + 1
                If i = LineItm Then
                    Exit While
                End If
            End While
            F3.Close()
            F3.Dispose()
            Return StrReturn
        End Function
    
        ''' <summary>
        ''' 登入Aras
        ''' </summary>
        ''' <param name="Url">链接地址</param>
        ''' <param name="DB">数据库</param>
        ''' <param name="Account">帐号</param>
        ''' <param name="Password">密码</param>
        ''' <returns>返回Innovator对象</returns>
        ''' <remarks></remarks>
        Public Function LoginAras(ByVal Url As String, ByVal DB As String, ByVal Account As String, ByVal Password As String, ByRef strError As String) As Innovator
            Dim Conn As HttpServerConnection = Nothing
            Dim Result As Item, Inn As Innovator = Nothing, startIndex As Integer
    
            Try
                Conn = IomFactory.CreateHttpServerConnection(Url, DB, Account, Password)
                If Conn Is Nothing Then Return Nothing
                Result = Conn.Login()
                If Result.isError() Then
                    If Not Conn Is Nothing Then Conn.Logout()
                    strError = Result.getErrorString()
                    startIndex = (strError.IndexOf(":") + 1)
                    If startIndex > 0 Then strError = strError.Substring(startIndex)
                    If strError.Contains("Authentication") Then strError = "Invalid user or password" : Return Nothing
                    If strError.Contains("Database") Then strError = "Database not available" : Return Nothing
                Else
                    Inn = Result.getInnovator()
                End If
            Catch ex As Exception
                strError = ex.Message
                Return Nothing
            End Try
            Return Inn
        End Function
    
        ''' <summary>
        '''  验证是否成功登入 Aras
        ''' </summary>
        ''' <param name="Url">地址</param>
        ''' <param name="DB">数据库</param>
        ''' <param name="Account">帐号</param>
        ''' <param name="Password">密码</param>
        ''' <returns>返回布尔值</returns>
        ''' <remarks></remarks>
        Public Function VerifyLoginAras(ByVal Url As String, ByVal DB As String, ByVal Account As String, ByVal Password As String) As Boolean
            Dim Conn As HttpServerConnection = Nothing
            Dim Result As Item, Inn As Innovator = Nothing, IsSunccess As Boolean = False
    
            Try
                Conn = IomFactory.CreateHttpServerConnection(Url, DB, Account, Password)
                If Conn Is Nothing Then Return IsSunccess
                Result = Conn.Login()
                If Result.isError() Then
                    If Not Conn Is Nothing Then Conn.Logout()
                    Return IsSunccess
                Else
                    Inn = Result.getInnovator()
                    If Not Inn Is Nothing Then IsSunccess = True
                End If
            Catch ex As Exception
                IsSunccess = False
            End Try
            Return IsSunccess
        End Function
    
        ''' <summary>
        ''' 写Log文件LOG格式 [年-月-日 时:分:秒] | 错误原因 | 错误状态
        ''' </summary>
        ''' <param name="Path">日志文件路径</param>
        ''' <param name="Strings">错误原因</param>
        ''' <param name="dt">时间</param>
        ''' <param name="State">状态</param>
        ''' <remarks></remarks>
        Public Sub WriteLogFile(ByVal Path As String, ByVal Strings As String, ByVal dt As DateTime, ByVal State As String)
            Dim FilePath As String, f As FileStream, f2 As StreamWriter
    
            FilePath = New System.IO.FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).Directory.FullName
    
            '如果不存在就创建file文件夹  
            If Not Directory.Exists(FilePath & "log") Then Directory.CreateDirectory(FilePath & "log")
            If Not File.Exists(Path) Then
                f = File.Create(Path)
                f.Close()
                f.Dispose()
            End If
            f2 = New StreamWriter(Path, True, Encoding.UTF8)
            f2.WriteLine("[" + dt.ToString("yyyy-MM-dd HH:mm:ss") + "]" + " | " + Strings + " | " + State)
            f2.Close()
            f2.Dispose()
    
        End Sub
    
        ''' <summary>
        ''' 转换特殊字符 
        ''' </summary>
        ''' <param name="value"></param>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Function TransString(ByVal value As String) As String
            If String.IsNullOrEmpty(value) Then Return value
            Return value.Trim().Replace("&", "&").Replace("'", "'").Replace("", """)
        End Function
    
    #End Region
    
    End Class

    作者:Joe.Fan
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    SQL 中文排序方式
    ASP.NET公有六种验证控件
    CustomValidator的使用方法
    c# 获取网页源码
    asp.net mvc 从客户端中检测到有潜在危险的 Request.Form 值的解决方法
    C#上传文件转字节流形式
    byte数组转换成文件保存到本地
    检测到有潜在危险的Request.Form值
    字节数组生成图片
    Edit Distance (编辑距离) .NET 实现
  • 原文地址:https://www.cnblogs.com/fanxingthink/p/4176141.html
Copyright © 2011-2022 走看看