FANDOM


Acceso al sistema de archivos Editar

Con FileDateTime:

Option Explicit On

Module Module1

  Sub Main()

    Debug.Print(FileDateTime( _
      "C:\Windows\System32\drivers\etc\hosts") _
    )

  End Sub

End Module

Con el objeto fi:

Option Explicit On

Module Module1

  Sub Main()

    Dim fi As System.IO.FileInfo
    fi = My.Computer.FileSystem.GetFileInfo( _
      "C:\Windows\System32\drivers\etc\hosts" _
    )
    Debug.Print(fi.LastWriteTime)

  End Sub

End Module

Archivos de texto Editar

Option Explicit On

Public Class frmEditor

  Private sNombre As String
  Private bModificado As Boolean

  Private Sub frmEditor_FormClosing( _
    ByVal sender As Object, _
    ByVal e As System.Windows.Forms.FormClosingEventArgs _
  ) Handles Me.FormClosing

    If e.CloseReason = CloseReason.UserClosing Then
      If Salir() = False Then
        e.Cancel = True
      End If
    End If

  End Sub

  Private Sub frmEditor_Load( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles MyBase.Load

    Iniciar()

  End Sub

  Private Sub AbrirToolStripMenuItem_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles AbrirToolStripMenuItem.Click

    If bModificado = True Then
      Select Case DeseaGuardar()
        Case vbCancel
          Exit Sub
        Case vbYes
          Guardar()
      End Select
    End If

    Abrir()

  End Sub

  Private Sub GuardarToolStripMenuItem_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles GuardarToolStripMenuItem.Click

    Guardar()

  End Sub

  Private Sub GuardarComoToolStripMenuItem_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles GuardarComoToolStripMenuItem.Click

    Dim sCopiaNombre As String

    sCopiaNombre = sNombre
    sNombre = ""

    Guardar()

    If sNombre = "" Then
      sNombre = sCopiaNombre
    End If

  End Sub

  Private Sub NuevoToolStripMenuItem_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles NuevoToolStripMenuItem.Click

    If bModificado = True Then
      Select Case DeseaGuardar()
        Case vbCancel
          Exit Sub
        Case vbYes
          Guardar()
      End Select
    End If

    Iniciar()

  End Sub

  Private Sub SalirToolStripMenuItem_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles SalirToolStripMenuItem.Click

    If Salir() Then
      End
    End If

  End Sub

  Private Sub AcercaDeEditorToolStripMenuItem_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles AcercaDeEditorToolStripMenuItem.Click

    Dim sMensaje As String

    sMensaje = "Editor - programado por un enrea"
    MsgBox( _
      sMensaje, _
      vbOKOnly Or vbInformation, _
      "Editor" _
    )
  End Sub

  Private Sub txtEditor_TextChanged( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs _
  ) Handles txtEditor.TextChanged

    bModificado = True

  End Sub

  Private Sub Iniciar()

    sNombre = ""
    Text = "Sin título - Editor"
    txtEditor.Text = ""
    bModificado = False

  End Sub

  Private Function DeseaGuardar() As Integer

    Dim sMensaje As String
    sMensaje = "El texto del archivo "

    If sNombre = "" Then
      sMensaje &= """Sin título"""
    Else
      sMensaje &= """" & sNombre & """"
    End If

    sMensaje &= sMensaje & _
      " ha cambiado." & vbCrLf & vbCrLf & _
      "¿Desea guardar los cambios?"

    DeseaGuardar = MsgBox( _
      sMensaje, _
      vbQuestion Or vbYesNoCancel, _
      "Editor" _
    )

  End Function

  Private Sub Guardar()

    If sNombre = "" Then

      With dlgGuardar
        .Filter = "Documentos de texto|*.txt"
        .FileName = ""
        .ShowDialog()
        sNombre = .FileName
      End With

    End If

    If sNombre <> "" Then

      My.Computer.FileSystem.WriteAllText( _
        sNombre, txtEditor.Text, False _
      )

      Text = sNombre & " - Editor"

      bModificado = False

    End If

  End Sub

  Private Sub Abrir()

    If sNombre = "" Then
      With dlgAbrir
        .Filter = "Documentos de texto|*.txt"
        .FileName = ""
        .ShowDialog()
        sNombre = .FileName
      End With
    End If

    If sNombre <> "" Then

      txtEditor.Text = _
        My.Computer.FileSystem.ReadAllText( _
          sNombre _
        )

      Text = sNombre & " - Editor"

      bModificado = False

    End If

  End Sub

  Private Function Salir()

    Salir = False

    If bModificado = True Then
      Select Case DeseaGuardar()
        Case vbCancel
          Exit Function
        Case vbYes
          Guardar()
      End Select
    End If

    Salir = True

  End Function

End Class

Archivos con registros Editar

Option Explicit On

Public Structure Grabacion
  <VBFixedString(80)> Public sTitulo As String
  <VBFixedString(80)> Public sInterprete As String
  <VBFixedString(80)> Public sNacionalidad As String
End Structure

Public Class frmGrabaciones

  Dim sArchivo As String
  Dim iArchivo As Integer
  Dim grbGrabacion As Grabacion
  Dim iTamano As Integer
  Dim iPosicion As Integer
  Dim iRegistros As Integer

  Private Sub btnAceptar_Click( _
    ByVal sender As System.Object, ByVal e As System.EventArgs _
  ) Handles btnAceptar.Click

    With grbGrabacion
      .sTitulo = txtTitulo.Text
      .sInterprete = txtInterprete.Text
      .sNacionalidad = txtNacionalidad.Text
    End With

    iArchivo = FreeFile()

    FileOpen(iArchivo, sArchivo, _
      OpenMode.Random, OpenAccess.Write, , iTamano)
    FilePut(iArchivo, grbGrabacion, iRegistros + 1)
    FileClose(iArchivo)

    iRegistros += 1
    iPosicion = iRegistros
    Text = "Grabaciones - Registro " & iPosicion & "/" & iRegistros
    hsbGrabaciones.Maximum = iRegistros
    hsbGrabaciones.Value = iRegistros

    btnNuevo_Click(sender, e)

  End Sub

  Private Sub btnNuevo_Click( _
    ByVal sender As System.Object, ByVal e As System.EventArgs _
  ) Handles btnNuevo.Click

    If btnNuevo.Text = "Nuevo" Then
      hsbGrabaciones.Visible = False
      btnNuevo.Text = "Cancelar"
      CancelButton = btnNuevo
      btnAceptar.Visible = True
      AcceptButton = btnAceptar
      Text = "Grabaciones - Nuevo registro"
      txtTitulo.ReadOnly = False
      txtInterprete.ReadOnly = False
      txtNacionalidad.ReadOnly = False
      txtTitulo.TabStop = True
      txtInterprete.TabStop = True
      txtNacionalidad.TabStop = True
      txtTitulo.Focus()
      txtTitulo.Text = ""
      txtInterprete.Text = ""
      txtNacionalidad.Text = ""
    Else
      iArchivo = FreeFile()
      FileOpen(iArchivo, sArchivo, _
        OpenMode.Random, OpenAccess.Read, , iTamano)
      FileGet(iArchivo, grbGrabacion, iPosicion)
      FileClose(iArchivo)
      With grbGrabacion
        txtTitulo.Text = .sTitulo
        txtInterprete.Text = .sInterprete
        txtNacionalidad.Text = .sNacionalidad
      End With
      hsbGrabaciones.Visible = True
      btnNuevo.Text = "Nuevo"
      AcceptButton = btnNuevo
      btnAceptar.Visible = False
      Text = "Grabaciones - Registro " & iPosicion & "/" & iRegistros
      txtTitulo.ReadOnly = True
      txtInterprete.ReadOnly = True
      txtNacionalidad.ReadOnly = True
      txtTitulo.TabStop = True
      txtInterprete.TabStop = True
      txtNacionalidad.TabStop = True
    End If

  End Sub

  Private Sub frmGrabaciones_Load( _
    ByVal sender As Object, ByVal e As System.EventArgs _
  ) Handles Me.Load

    iTamano = Len(grbGrabacion)

    sArchivo = My.Application.Info.DirectoryPath
    If sArchivo.Substring(sArchivo.Length - 1, 1) <> "\" Then
      sArchivo &= "\"
    End If
    sArchivo &= "Grabaciones.dat"

    iArchivo = FreeFile()
    FileOpen(iArchivo, sArchivo, _
      OpenMode.Random, OpenAccess.Read, , iTamano)

    Do While Not EOF(iArchivo)
      FileGet(iArchivo, grbGrabacion)
    Loop
    iRegistros = Loc(iArchivo)

    If iRegistros > 0 Then
      FileGet(iArchivo, grbGrabacion, 1)
      With grbGrabacion
        txtTitulo.Text = .sTitulo
        txtInterprete.Text = .sInterprete
        txtNacionalidad.Text = .sNacionalidad
      End With
      iPosicion = 1
      hsbGrabaciones.Maximum = iRegistros
    End If

    FileClose(iArchivo)

    Text = "Grabaciones - Registro " & iPosicion & "/" & iRegistros

  End Sub

  Private Sub MostrarRegistro(ByVal iNumero As Integer)

    iArchivo = FreeFile()
    FileOpen(iArchivo, sArchivo, _
      OpenMode.Random, OpenAccess.Read, , iTamano)
    FileGet(iArchivo, grbGrabacion, iNumero)
    FileClose(iArchivo)

    With grbGrabacion
      txtTitulo.Text = .sTitulo
      txtInterprete.Text = .sInterprete
      txtNacionalidad.Text = .sNacionalidad
    End With

    Text = "Grabaciones - Registro " & iNumero & "/" & iRegistros

    iPosicion = iNumero

  End Sub

  Private Sub hsbGrabaciones_ValueChanged( _
    ByVal sender As Object, _
    ByVal e As System.EventArgs _
  ) Handles hsbGrabaciones.ValueChanged

    MostrarRegistro(hsbGrabaciones.Value)

  End Sub

End Class

Archivos binarios Editar

Option Explicit On

Imports System.IO

Public Structure CabeceraDelArchivo
  Public sTipo1 As Byte
  Public sTipo2 As Byte
  Public iTamano As Integer
  Public iReservado1 As Short
  Public iReservado2 As Short
  Public iDesplazamiento As Integer
End Structure

Public Structure CabeceraDeLaImagen
  Public iTamano As Integer
  Public iAncho As Integer
  Public iAlto As Integer
  Public iPlanos As Short
  Public iBits As Short
  Public iCompresion As Integer
  Public iTamanoDeLaImagen As Integer
  Public iXPuntosPorMetro As Integer
  Public iYPuntosPorMetro As Integer
  Public iColoresUsados As Integer
  Public iColoresImportantes As Integer
End Structure

Public Class frmBMP

  Private Sub btnAbrirMapaDeBits_Click( _
    ByVal sender As System.Object, ByVal e As System.EventArgs _
  ) Handles btnAbrirMapaDeBits.Click

    With dlgBMP
      .Filter = "Mapas de bits|*.bmp"
      .ShowDialog()
    End With

    picBMP.ImageLocation = dlgBMP.FileName

    Dim caCabeceraArchivo As CabeceraDelArchivo
    Dim ciCabeceraImagen As CabeceraDeLaImagen

    Text = dlgBMP.FileName & " - BMP"

    Dim binReader As New BinaryReader( _
      File.Open(dlgBMP.FileName, FileMode.Open) _
    )

    With caCabeceraArchivo
      .sTipo1 = binReader.ReadByte
      .sTipo2 = binReader.ReadByte
      .iTamano = binReader.ReadUInt32
      .iReservado1 = binReader.ReadInt16
      .iReservado2 = binReader.ReadInt16
      .iDesplazamiento = binReader.ReadInt32
    End With

    With ciCabeceraImagen
      .iTamano = binReader.ReadInt32
      .iAncho = binReader.ReadInt32
      .iAlto = binReader.ReadInt32
      .iPlanos = binReader.ReadInt16
      .iBits = binReader.ReadInt16
      .iCompresion = binReader.ReadInt32
      .iTamanoDeLaImagen = binReader.ReadInt32
      .iXPuntosPorMetro = binReader.ReadInt32
      .iYPuntosPorMetro = binReader.ReadInt32
      .iColoresUsados = binReader.ReadInt32
      .iColoresImportantes = binReader.ReadInt32
    End With

    binReader.Close()

    Dim sCabeceras As String
    sCabeceras = _
      "Cabecera del archivo" & vbCrLf & _
      "------------------------------" & vbCrLf

    With caCabeceraArchivo
      sCabeceras = sCabeceras & _
        "sTipo: " & Chr(.sTipo1) & Chr(.sTipo2) & vbCrLf & _
        "iTamano: " & .iTamano & vbCrLf & _
        "iReservado1: " & .iReservado1 & vbCrLf & _
        "iReservado2: " & .iReservado2 & vbCrLf & _
        "iDesplazamiento: " & .iDesplazamiento & vbCrLf & vbCrLf
    End With

    sCabeceras = sCabeceras & _
      "Cabecera de la imagen" & vbCrLf & _
      "------------------------------" & vbCrLf

    With ciCabeceraImagen
      sCabeceras = sCabeceras & _
        "iTamano: " & .iTamano & vbCrLf & _
        "iAncho: " & .iAncho & vbCrLf & _
        "iAlto: " & .iAlto & vbCrLf & _
        "iPlanos: " & .iPlanos & vbCrLf & _
        "iBits: " & .iBits & vbCrLf & _
        "iCompresion: " & .iCompresion & vbCrLf & _
        "iTamanoDeLaImagen: " & .iTamanoDeLaImagen & vbCrLf & _
        "iXPuntosPorMetro: " & .iXPuntosPorMetro & vbCrLf & _
        "iYPuntosPorMetro: " & .iYPuntosPorMetro & vbCrLf & _
        "iColoresUsados: " & .iColoresUsados & vbCrLf & _
        "iColoresImportantes: " & .iColoresImportantes & vbCrLf
    End With

    txtBMP.Text = sCabeceras

  End Sub

End Class

¡Interferencia de bloqueo de anuncios detectada!


Wikia es un sitio libre de uso que hace dinero de la publicidad. Contamos con una experiencia modificada para los visitantes que utilizan el bloqueo de anuncios

Wikia no es accesible si se han hecho aún más modificaciones. Si se quita el bloqueador de anuncios personalizado, la página cargará como se esperaba.