que les parece esta clase?
sugerencias?
mejoras?
ven errores de planteo?
soy todo oidos
' gambas class file
' by postapase
Export
Property Lugar As String '' Devuelve o muestra la carpeta que contiene el archivo de registros.
Property Read Nombre As String '' Devuelve o muestra el nombre del archivo de registros.
Property Read Ruta As String '' Devuelve o muestra la ruta completa del archivo de registros.
Private sLugar As String
Private sNombreX As String
Private sRuta As String
Public Sub _new(sDir As String, sNombre As String) ''sDir= ruta donde se guardará el archivo, sNombre=Nombre del archivo sin extención
If Exist(sDir) = True Then
sLugar = sDir
sNombreX = sNombre
Lugar_Write(sLugar)
sRuta = sLugar &/ sNombre
If Exist(sRuta) = False Then
File.Save(sRuta, "*** Creado(" & Now & ") ***" & gb.NewLine)
Endif
Else
Message.Error("Lugar invalido!")
Return
Endif
End
Private Function Lugar_Read() As String
Return sLugar
End
Private Sub Lugar_Write(Value As String)
sLugar = Value
End
Private Function Nombre_Read() As String
Return sNombreX
End
Private Function Ruta_Read() As String
Return sRuta
End
Public Sub Agregar(Mensaje As String, Optional Xtipo As String) '' Agrega un mensaje al archivo de registros.
Dim ArchivoX As File
If Exist(sRuta) = False Then
Return
Endif
If IsNull(Mensaje) Then
Return
Endif
If IsNull(Xtipo) Then Xtipo = Tipo.REG
ArchivoX = Open sRuta For Append
Print #ArchivoX, "[" & Xtipo & "]+(" & Now & ")+" & Mensaje
Close #ArchivoX
End
Public Sub Borrar() '' Borra todo el contenido del archivo de registros (precaucion).
If Access(sLugar, gb.Write) = True Then
If Exist(sRuta) = True Then
Try Kill sRuta
If Error Then Debug Error.Text & " " & Error.Where & " " & Error.Code
File.Save(sRuta, "*** Creado(" & Now & ") ***" & gb.NewLine)
Else
File.Save(sRuta, "*** Creado(" & Now & ") ***" & gb.NewLine)
Endif
Endif
End
Public Sub Filtro(Xtipo As String) As String[]
Dim ArchivoX As File
Dim Linea, Etiqueta As String
Dim Division, errores As String[]
Dim aError As New String[]
Dim aReg As New String[]
Dim aNota As New String[]
Dim aTodo As New String[]
Dim aSql As New String[]
ArchivoX = Open sRuta For Read
While Not Eof(ArchivoX)
Line Input #ArchivoX, Linea
If Left(Linea, 1) <> "[" Then
Continue
Else
Division = Split(Linea, "+")
Etiqueta = Left(Division[0], Len(Division[0]) - 1)
Etiqueta = Right(Etiqueta, Len(Etiqueta) - 1)
Select Case Xtipo
Case Tipo.ERROR
If Etiqueta = Tipo.ERROR Then aError.Add(Linea)
Case Tipo.NOTA
If Etiqueta = Tipo.NOTA Then aNota.Add(Linea)
Case Tipo.REG
If Etiqueta = Tipo.REG Then aReg.Add(Linea)
Case Tipo.SQL
If Etiqueta = Tipo.SQL Then aSql.Add(Linea)
Case Tipo.TODO
aTodo.Add(Linea)
End Select
Endif
Wend
Close ArchivoX
Select Case Xtipo
Case Tipo.ERROR
If aError.Count <= 0 Then Return
Return aError
Case Tipo.NOTA
If aNota.Count <= 0 Then Return
Return aNota
Case Tipo.REG
If aReg.Count <= 0 Then Return
Return aReg
Case Tipo.SQL
If aSql.Count <= 0 Then Return
Return aSql
Case Tipo.TODO
If aTodo.Count <= 0 Then Return
Return aTodo
Case Else
End Select
End
Registro-0.1.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | Registro-0.1.tar.gz | |
Tamaño: | 12.63 KB | |
Descargado: | 21 veces |
Registro-0.1.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | Registro-0.1.tar.gz | |
Tamaño: | 12.63 KB | |
Descargado: | 21 veces |
Registro-0.1.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | Registro-0.1.tar.gz | |
Tamaño: | 12.63 KB | |
Descargado: | 21 veces |