自己常用方法封装
2014-07-04 22:02
387 查看
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
相关文章推荐
- 时间日期工具类 封装工作中常用的一些时间日期计算方法(转+自己修改)
- 自己写的JSON 工具类,封装一些常用的方法
- 自己重新实现QTP封装的一些常用的方法
- 自己整理的一些开发时候常用的js方法封装
- 自己常用方法封装
- 原生javascript自己封装的常用小方法。
- 将自己写的经常复用的类封装成dll/lib的方法
- 西门子PLC常用方法封装类(C#)V0.95b
- 自己解决tomcat启动时,8080端口被占用的常用方法
- 自己封装的一个ASP.NET上传文件的方法
- 自己常用js方法(DOM操作)
- C# Windows Api的一些方法 封装 以及 常用参数
- 总结自己在.NET中常用的方法
- 对Socket常用方法的封装
- Jquery作者John Resig自己封装的常用函数
- Jquery作者John Resig自己封装的javascript 常用函数
- 对Socket常用方法的封装
- 自己常用到的Ajax方法(已测试通过)
- Jquery作者John Resig自己封装的常用函数
- C# Windows Api的一些方法 封装 以及 常用参数