Mostrando las entradas con la etiqueta Eof. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Eof. Mostrar todas las entradas

viernes, 29 de septiembre de 2017

Cambiar formato fecha en CHANGELOG



En el archivo changelog de nuestra aplicación la fecha tiene este formato:

* Tue Jul 25 2017 postapase <uno.cero@live.com> 0.6.320

* Mon Jul 17 2017 postapase <uno.cero@live.com> 0.6.319

* Fri Jul 07 2017 postapase <uno.cero@live.com> 0.6.318

* Sun Jun 11 2017 postapase <uno.cero@live.com> 0.6.3

* Tue Jun 11 2017 postapase <uno.cero@live.com> 0.6.3

en mi caso en VisorRV1960 muestro el archivo changelog para que la gente vea la historia o evolución de la aplicación, pero la fecha en ingles no pega y quería dejarla en español y con otro formato, específicamente con este
( "dddd dd mmmm yyyy" = jueves 28 mayo 2015)

Para eso cree un formulario que solo ejecuta esa tarea.

El resultado queda así:

* martes 25 julio 2017 postapase <uno.cero@live.com> 0.6.320

* lunes 17 julio 2017 postapase <uno.cero@live.com> 0.6.319

* viernes 07 julio 2017 postapase <uno.cero@live.com> 0.6.318

* domingo 11 junio 2017 postapase <uno.cero@live.com> 0.6.3

* domingo 11 junio 2017 postapase <uno.cero@live.com> 0.6.3

Aquí les dejo el código para que puedan usarlo y modificarlo a gusto teniendo ya el 70% del trabajo hecho jaja:

miércoles, 28 de diciembre de 2016

Clase txtasc



Buenas,
Resulta que en el programa taller 2015 tengo una pequeña herramienta que me ayuda a verificar los cheksum de las .iso de sistemas operativos que cada tanto hay que bajar.

Se puede usar de forma manual, es decir pegar el cheksum en un cuadro de texto, despues simplemente le damos al programa la ubicacion de la .iso y el programa hace la comprobación cuando termina veremos si esta todo bien o hubo error.

Pues bien tambien le di a esta herramienta la posiblilidad de extraer los cheksum de los archivos... ejemplo de archivo:


En ese archivo no parece complicado extraer la informacion y mostrarla en un tableview.....


pero... en el archivo siguiente el asunto se complica por su formato y por que varia el hash, indicado en una etiqueta 'hash:'

Ejemplo:


Bueno esta clase lo que hace es extraer los nombres de las distribuciones
indicado con la flecha azul de la derecha, y sus correspondientes hashes.

bueno les dejo el codigo para que experimenten.
la clase esta fresquita aun, seguramente tiene muchisimas mejoras, pero ya hace su tarea para lo cual fue creada.

Saludos.





' gambas class file

'Clase txtasc by postapase 28/12/2016

Public Const SHA1 As String = "SHA1"
Public Const SHA256 As String = "SHA256"
Public Const SHA512 As String = "SHA512"


Private Const COMIENZO As String = "-----BEGIN PGP SIGNED MESSAGE-----"
Private Const HASH As String = "Hash:"
Private Const FINAL As String = "-----BEGIN PGP SIGNATURE-----"

Property TipoHash As String
Property HashDistro As Collection

Private $TipoHash As String
Private $HashDistro As New Collection


Public Sub _new(RutaArchivo As String) ''Ingresar ruta de archivo *.txt.asc
Dim archivo As File
Dim parrafo As String
Dim tipo As String
Dim CorteTipoHash As New String[]
Dim CorteHash As New String[]
Dim Contenido As String


If Not Exist(RutaArchivo) Then
Debug Error.Text
Return
Endif

archivo = Open RutaArchivo For Read

While Not Eof(archivo)

Line Input #archivo, parrafo

If InStr(parrafo, FINAL) <> 0 Then Break

If InStr(parrafo, HASH) <> 0 Then

CorteTipoHash = Split(parrafo, " ", Null, True)

QueTipoDeHashEs(Trim(CorteTipoHash[1]))

Endif

If InStr(parrafo, COMIENZO) = 0 And If InStr(parrafo, HASH) = 0 And If Not IsNull(parrafo) Then

CorteHash = Split(parrafo, " ", Null, True)

$HashDistro.Add(Trim(CorteHash[0]), Trim(CorteHash[1]))

Endif

Wend

Close #archivo

HashDistro_Write($HashDistro)

End

Private Function TipoHash_Read() As String
Return $TipoHash
End

Private Sub TipoHash_Write(Value As String)
$TipoHash = Value
End

Private Function HashDistro_Read() As Collection
Return $HashDistro
End

Private Sub HashDistro_Write(Value As Collection)
$HashDistro = Value
End

Private Sub QueTipoDeHashEs(texto As String)

Select Case texto
Case SHA1
$TipoHash = SHA1
Case SHA256
$TipoHash = SHA256
Case SHA512
$TipoHash = SHA512
Case Else
$TipoHash = ""
End Select

TipoHash_Write($TipoHash)

End





domingo, 6 de noviembre de 2016

Ejemplo Temp()


' gambas class file

'by postapase
'http://novatocodegambas.blogspot.com.uy/

Public ArchivoTemporal As File
Public RutaArchivo As String = User.home
Public RutaArchivoTemporal As String
Public Contador As Integer


Public Sub Form_Open()

RutaArchivoTemporal = Temp()
LabRutaTemporal.Text = RutaArchivoTemporal
TextArea1.Clear()
btnGuardarArchivo.Enabled = False

End

Public Sub btnAgregarTexto_Click()

ArchivoTemporal = Open RutaArchivoTemporal For Write Append

Write #ArchivoTemporal, TextBox1.Text & gb.NewLine

Close #ArchivoTemporal

LeerDatosArchivoTemporal()

btnGuardarArchivo.Enabled = True

TextBox1.Clear()
TextBox1.SetFocus()

End

Public Sub LeerDatosArchivoTemporal()
Dim LineaX As String

TextArea1.Clear()

ArchivoTemporal = Open RutaArchivoTemporal For Read

While Not Eof(ArchivoTemporal)
Line Input #ArchivoTemporal, LineaX
TextArea1.Text = LineaX & gb.NewLine & TextArea1.Text
Wend

Close ArchivoTemporal

End

Public Sub Button1_Click()

Form_Open()

End

Public Sub btnGuardarArchivo_Click()

Inc Contador

If Exist(RutaArchivo &/ "EjemploTemp-" & Contador) Then btnGuardarArchivo_Click()

Copy RutaArchivoTemporal To RutaArchivo &/ "EjemploTemp-" & Contador

End



Código fuente: Ejemplo-Temp-0.0.1.tar.gz

martes, 9 de septiembre de 2014

Manipulando datos de un ComboBox

Guardar datos de un ComboBox y cargar datos a un ComboBox





' gambas class file

'by postapase

Public Sub Form_Open()
Me.Center
End

Public Sub btnAgregar_Click()

ComboBox1.Add(ComboBox1.Text)
ComboBox1.Text = ""
ComboBox1.SetFocus

End

Public Sub btnGuardarLista_Click()
Dim dato, lista As String

For Each dato In ComboBox1.List
lista &= dato & ","
Next

lista = Left(lista, Len(lista) - 1)
Settings["ListaDeDatos/Datos"] = lista
Settings.Save

LeerArchivoSettings()

End

Public Sub btnCargarLista_Click()
Dim lista As String
Dim separando As String[]
Dim x As Integer

TextArea1.Clear
ComboBox1.Clear
lista = Settings["ListaDeDatos/Datos", ""]
separando = Split(lista, ",")

For x = 0 To separando.Count - 1
ComboBox1.Add(separando[x])
Next

LeerArchivoSettings()
End

Public Sub LeerArchivoSettings() 'rutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
Dim ArchivoSettings As File 'declaramos una variable de tipo archivo para poder leer los datos de un archivo
Dim LineaX As String 'variable de tipo string que contendra los dato de una linea del archivo que estemos leyendo
Dim RutaArchivoSettings As String 'variable de tipo string que contendra la ruta del archivo a leer

TextArea1.Clear 'borramos el textarea sino no visualizaremos los datos como corresponde
RutaArchivoSettings = Settings.Path 'asignamos la ruta del archivo al string

ArchivoSettings = Open RutaArchivoSettings For Read
'open abre un archivo x en la ruta especificada en este caso Settings.path ( )
'For Read indica que abre el archivo solo con intenciones de lectura

'while...wend (El bucle se repite mientras que la expresión es verdadera.)
'Eof devuelve TRUE si estamos al final de un Flujo. (en este caso un archivo)
While Not Eof(ArchivoSettings) 'si eof NO es true ejecute el bluce (comienzo del bluce)
' cuando Eof(ArchivoSettings) es true significa que llego al final del archivo y el bluce no se ejecuta mas
Line Input #ArchivoSettings, LineaX 'lee de a una linea el archivo
' y lo que hay en esa linea lo deposita en lineaX que es una variable de tipo String
TextArea1.Text &= LineaX & gb.NewLine 'va escribiendo en el textarea linea a linea pasando lo que hay en lineax,
' gb.NewLine es una constante equivalente a poner LineaX & "\n" (salto de linea)
Wend


Close ArchivoSettings  ' agregue esta linea
End

Public Sub btnGuardarLista2_Click()
Dim ArchivoX As File
Dim dato, lista As String

For Each dato In ComboBox1.List
lista &= dato & gb.NewLine
Next

ArchivoX = Open User.Home & "/lista.txt" For Write Create

Write #ArchivoX, lista

Close ArchivoX

btnCargarLista2_Click()

End

Public Sub btnCargarLista2_Click()
Dim ArchivoX As File
Dim LineaX As String
ComboBox1.Clear
TextArea2.Clear
ArchivoX = Open User.Home & "/lista.txt" For Read

While Not Eof(ArchivoX)
Line Input #ArchivoX, LineaX
TextArea2.Text &= LineaX & gb.NewLine
ComboBox1.Add(LineaX)
Wend

Close ArchivoX

End

Public Sub Button1_Click()
TextArea2.Clear
End

Public Sub Button2_Click()
TextArea1.Clear
End

Public Sub Button4_Click()

ComboBox1.Clear

End

Código fuente: GuardarCargarListaComboBox-0.0.1.tar.gz

sábado, 30 de agosto de 2014

Settings.write y Settings.read

Buenas, para ver los cambios tienen que abrir y cerrar el formulario.


' gambas class file

'by postapase

Public Sub Form_Open()
Print Settings.Path
Settings.Read(Me) 'lee los datos antes guardados con el comando Settings.write
Settings["Blog/postapase"] = "http://novatocodegambas.blogspot.com/" 'ordena que hay que guardar este dato en el archivo
'Settings cuando se cierre el formulario.
Settings.Save ' guarda ya mismo el dato de la linea anterior
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End


Public Sub by_Click()

Settings.Clear(Me.Name) 'ordena que hay que borrar solo la llave o key Me.name
'que equivale al nombre del formulario en este caso equivale a FMain, se guardara cuando el formulario principal sea cerrado,
'salvo que se ponga la line que viene abajo que ordena guardar inmediatamente.
Settings.Save ' guarda ya todos los datos que ordenaron guardar en el archivo settings
Wait 0.2 ' comando que hace un tiempo antes de ejecutar la linea siguiente.
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End

Public Sub btnBorrarTodo_Click()
Settings.Clear ' 'ordena que hay que borrar todo el archivo Settings cuando se cierre el formulario principal
Settings.Save 'ejecuta ya mismo todas las ordenes pendientes sobre el archivo Settigns.
Wait 0.2 ' comando que hace un tiempo antes de ejecutar la linea siguiente.
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End

Public Sub LeerArchivoSettings() 'rutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
Dim ArchivoSettings As File 'declaramos una variable de tipo archivo para poder leer los datos de un archivo
Dim LineaX As String 'variable de tipo string que contendra los dato de una linea del archivo que estemos leyendo
Dim RutaArchivoSettins As String 'variable de tipo string que contendra la ruta del archivo a leer

TextArea1.Clear 'borramos el textarea sino no visualizaremos los datos como corresponde
RutaArchivoSettins = Settings.Path 'asignamos la ruta del archivo al string

ArchivoSettings = Open RutaArchivoSettins For Read
'open abre un archivo x en la ruta especificada en este caso Settings.path ( )
'For Read indica que abre el archivo solo con intenciones de lectura

'while...wend (El bucle se repite mientras que la expresión es verdadera.)
'Eof devuelve TRUE si estamos al final de un Flujo. (en este caso un archivo)
While Not Eof(ArchivoSettings) 'si eof NO es true ejecute el bluce (comienzo del bluce)
' cuando Eof(ArchivoSettings) es true significa que llego al final del archivo y el bluce no se ejecuta mas
Line Input #ArchivoSettings, LineaX 'lee de a una linea el archivo
' y lo que hay en esa linea lo deposita en lineaX que es una variable de tipo String
TextArea1.Text &= LineaX & gb.NewLine 'va escribiendo en el textarea linea a linea pasando lo que hay en lineax, gb.NewLine es una constante equivalente a poner  LineaX & "\n"
Wend

End

Public Sub BtnGuardar_Click()
Settings.Write(Me) 'ordena que se guarden las coordenadas del FMain en este caso el formulario principal (me) cuando se cierre el formulario.
Settings.Save ' guarda ya todos los datos que ordenaron guardar en el archivo settings
LeerArchivoSettings() 'llama a la subrutina que se encargara de leer el archivo Settings y mostrarlo en el TextArea
End

Public Sub Form_Move() 'evento que sucede cuando movemos el formulario
LabX.Text = "(" & Me.X & ")"
LabY.Text = "(" & Me.y & ")"
End



Código fuente: Settings-write-read-0.0.1.tar.gz