domingo, 7 de octubre de 2012

Visual basic enlaze de un textbox con un listview



Para empezar necesitamos tener un poco de teoria de la sentencia Like del Select del SQL
y la propiedad del Textbox Keypress


LIKE es otra palabra clave que se utiliza en la cláusula WHERE. Básicamente, LIKE le permite hacer una búsqueda basada en un patrón en vez de especificar exactamente lo que se desea (como en IN) o determinar un rango (como en BETWEEN). La sintaxis es la siguiente:
SELECT "nombre_columna"
FROM "nombre_tabla"
WHERE "nombre_columna" LIKE {patrón}
{patrón} generalmente consiste en comodines. Aquí hay algunos ejemplos:
  • 'A_Z': Toda línea que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' deberían satisfacer la condición, mientras 'AKKZ' no debería (debido a que hay dos caracteres entre A y Z en vez de uno).
  • 'ABC%': Todas las líneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y 'ABCABC' ambas deberían satisfacer la condición.
  • '%XYZ': Todas las líneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y 'ZZXYZ' ambas deberían satisfacer la condición.
  • '%AN%': : Todas las líneas que contienen el patrón 'AN' en cualquier lado. Por ejemplo, 'LOS ANGELES' y 'SAN FRANCISCO' ambos deberían satisfacer la condición.
Digamos que tenemos la siguiente tabla:

Tabla Store_Information
store_nameSalesDate
LOS ANGELES1500 €05-Jan-1999
SAN DIEGO250 €07-Jan-1999
SAN FRANCISCO300 €08-Jan-1999
BOSTON700 €08-Jan-1999
Deseamos encontrar todos los negocios cuyos nombres contengan ‘AN’. Para hacerlo, ingresamos,

SELECT *
FROM Store_Information
WHERE store_name LIKE '%AN%'


Resultado:
store_nameSalesDate
LOS ANGELES1500 €05-Jan-1999
SAN DIEGO250 €07-Jan-1999
SAN FRANCISCO300 €08-Jan-1999




Control.KeyPress (Evento)

Se produce cuando se presiona una tecla mientras el control tiene el foco.
Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)

Los eventos de teclado se producen en el siguiente orden:
  1. KeyDown
  2. KeyPress
  3. KeyUp
El evento KeyPress no se provoca mediante teclas que no son de caracteres; sin embargo, estas teclas provocan los eventos KeyDown y KeyUp.
Utilice la propiedad KeyChar para probar las pulsaciones de teclas en tiempo de ejecución y utilizar o modificar un subconjunto de pulsaciones de teclas comunes.
Para controlar eventos de teclado sólo en el nivel de formulario y no permitir que otros controles reciban eventos de teclado, establezca la propiedadKeyPressEventArgs.Handled del método de control de eventos KeyPress del formulario en true.
Para obtener más información sobre control de eventos, vea Utilizar eventos.



ya con esta idea . 



  • crea un form llamado form6
  • agrega un textbox y un listview ( asignale listavista)
  • agrega antes de la cabezera de la clase  la siguiente linea  Imports System.Data.OleDb
  • agrega los siguientes procedimientos y funciones






  • ahora en el metodo load del form agrega la siguiente linea          carga_lista("")




      Ejercicios para la clase siguiente

      Diseña un proyecto llamado ejerciciotextbox



      diseña un form donde incluyas un textbox  y un boton que muestre lo que haya en el textbox
      y agrega este metodo donde debe de ir y ejecutalo y explica que realiza



      Private Sub TextBox1_KeyPress(ByVal sender As Object, _
                                        ByVal e As System.Windows.Forms.KeyPressEventArgs) _
                                        Handles TextBox1.KeyPress

              If Char.IsLetter(e.KeyChar) Then

                  e.Handled = False
              ElseIf Char.IsControl(e.KeyChar) Then
                  e.Handled = False
              ElseIf Char.IsSeparator(e.KeyChar) Then
                  e.Handled = False
              Else
                  e.Handled = True
              End If
          End Sub 



      diseña un form anexa el codigo pertinente
      Colocar un control textbox multilinea, un control button y un control openFileDialog



      Option Strict On
      ' espacio de nombre para poder usar StreamReader
      Imports System.IO

      Public Class Form1


          Private Sub Form1_Load(ByVal sender As System.Object, _

                                 ByVal e As System.EventArgs) _
                                 Handles MyBase.Load
              Button1.Text = " Abrir archivo "
          End Sub

          Function Leer(ByVal path As String) As String

              Try
                  Dim oSR As StreamReader = New StreamReader(path)

                  Dim l As String

                  Dim tempSTR As String = ""
                  ' lee la primer  línea
                  l = oSR.ReadLine()
                  While Not l Is Nothing
                      ' variable temporal que almacena las líneas
                      tempSTR = tempSTR & l & vbNewLine
                      l = oSR.ReadLine() ' lee la siguiente
                  End While
                  ' cierra y libera los recursos
                  oSR.Close()
                  oSR.Dispose()
                  ' retorna el texto
                  Return tempSTR
                  ' errores    
              Catch oe As Exception
                  Return ""
                  MsgBox(oe.Message)
              End Try

          End Function


          Private Sub Button1_Click(ByVal sender As System.Object, _

                                    ByVal e As System.EventArgs) _
                                    Handles Button1.Click
              With OpenFileDialog1
                  .FileName = ""
                  .Filter = "Archivos de texto *.txt|*.txt|Todos *.*|*.*"
                  ' abre el diálogo para seleccionar archivo el de texto
                  .ShowDialog()

                  If .FileName <> "" Then

                      TextBox1.Text = Leer(.FileName)
                  End If
              End With
          End Sub
      End Class





      diseña un form anexa el codigo pertinente
      ( controles : Un control Button , un textBox1 Multiline )


      Option Explicit On
      Option Strict On
      Imports System.IO

      Public Class Form1

          Private Sub Form1_Load( _
              ByVal sender As System.Object, _
              ByVal e As System.EventArgs) Handles MyBase.Load
              Me.Text = "Ejemplo del método ReadToEnd"
              Button1.Text = "Abrir archivo de texto "
          End Sub

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

              ' nuevo diálogo
              Dim OpenFiledlg As New OpenFileDialog
              With OpenFiledlg
                  .Title = "Seleccionar archivo de texto"
                  .Filter = "Archivos de texto *.txt|*.txt"
                  Try
                      If .ShowDialog = Windows.Forms.DialogResult.OK Then
                          Dim datos As New StreamReader(.FileName)
                          ' lee todo el contenido y lo asigna al textbox
                          TextBox1.Text = datos.ReadToEnd
                          datos.Close() ' cierra
                      End If
                      ' error
                  Catch oMen As Exception
                      MsgBox(oMen.Message, MsgBoxStyle.Critical)
                  End Try
              End With
          End Sub
      End Class




        diseña un form anexa el codigo pertinente

        Colocar un control Listview, un button y un control TextBox


            Option Explicit On
            Option Strict On

            Imports System.IO


            Public Class Form1


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

                    ' agregar columnas
                    With ListView1
                        .Columns.Add("Nombre", 150)
                        .Columns.Add("Fecha y hora de modificación", 150)
                        .Columns.Add("Tamaño - bytes ", 100)
                        .Columns.Add("Extensión", 80)

                        .View = View.Details

                        .GridLines = True
                    End With
                    Button1.Text = "Listar propiedades"
                    TextBox1.Text = "c:\windows"
                End Sub

                Private Sub Button1_Click( _

                    ByVal sender As System.Object, _
                    ByVal e As System.EventArgs) Handles Button1.Click


                    ListView1.Items.Clear()

                    Try
                        ' recorrer los ficheros en la colección
                        For Each sFichero As String In Directory.GetFiles( _
                                                       TextBox1.Text, "*.*", _
                                                       SearchOption.TopDirectoryOnly)

                            ' Crear nuevo objeto FileInfo

                            Dim Archivo As New FileInfo(sFichero)

                            ' Crear nuevo objeto ListViewItem

                            Dim item As New ListViewItem(Archivo.Name.ToString)

                            ' cargar los datos y las propiedades

                            With item

                                ' LastWriteTime - fecha de modificación

                                .SubItems.Add(Archivo.LastWriteTime.ToShortDateString & " " & _
                                              Archivo.LastWriteTime.ToShortTimeString)
                                ' Length - tamaño en bytes
                                .SubItems.Add(Archivo.Length.ToString)

                                ' Extension - extensión  

                                .SubItems.Add(Archivo.Extension.ToString)

                                ListView1.Items.Add(item) ' añadir el item 


                            End With


                        Next

                        ' errores
                    Catch ex As Exception
                        Debug.Print(ex.Message.ToString)
                        Beep()
                    End Try

                End Sub

            End Class


              diseña un form anexa el codigo pertinente
              Colocar un control ListBox1 y un control Button en el form.


              Option Strict On
              Option Explicit On

              Public Class Form1


                  Private Sub Form1_Load(ByVal sender As System.Object, _

                                         ByVal e As System.EventArgs) Handles MyBase.Load


                      Button1.Text = "Actualizar"

                      Listar()
                  End Sub

                  Private Sub Button1_Click(ByVal sender As System.Object, _

                                            ByVal e As System.EventArgs) Handles Button1.Click
                      Call Listar()
                  End Sub

                  Sub Listar()


                      ListBox1.Items.Clear()


                      Dim p As Process


                      For Each p In Process.GetProcesses()

                          If Not p Is Nothing Then
                              ListBox1.Items.Add(p.ProcessName)
                          End If
                      Next
                      Me.Text = "cantidad de procesos : " & CStr(ListBox1.Items.Count + 1)
                  End Sub

                  Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, _

                                                        ByVal e As System.Windows.Forms.MouseEventArgs) _
                                                        Handles ListBox1.MouseDoubleClick

                      If ListBox1.SelectedItem Is Nothing Then Exit Sub


                      Dim ret As MsgBoxResult


                      ret = MsgBox("Quitar el proceso de la lista ?", _

                                  MsgBoxStyle.Exclamation Or MsgBoxStyle.YesNo, _
                                  "Quitar proceso")

                      If ret = MsgBoxResult.Yes Then


                          Dim p As Process

                          For Each p In Process.GetProcesses()
                              If Not p Is Nothing Then
                                  If p.ProcessName.ToString = ListBox1.SelectedItem.ToString Then
                                      Try
                                          p.Kill() ' lo cierra
                                          Listar() ' actualiza el list
                                          Exit For ' sale
                                      Catch msg As Exception
                                          MsgBox(msg.Message.ToString, MsgBoxStyle.Critical)
                                          Exit Sub
                                      End Try
                                  End If
                              End If
                          Next
                      End If
                  End Sub
              End Class



                Diseña una hoja en excel con datos aleatorios de productos que podrian tener en un oxxo  minimo 20 filas llamado Libro1
                producto    costo unitario    inventario     costo venta


                Option Explicit On

                ' Para acceder a OleDB

                Imports System.Data.OleDb

                Public Class Form1


                    Private Sub Form1_Load( _

                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) Handles MyBase.Load

                        btnLoad.Text = "Visualizar hoja"


                    End Sub


                    Private Sub btnLoad_Click( _

                        ByVal sender As System.Object, _
                        ByVal e As System.EventArgs) Handles btnLoad.Click

                        Cargar(DataGridView1, "Libro1.xls", "sheet1")


                    End Sub


                    Sub Cargar( _

                        ByVal dgView As DataGridView, _
                        ByVal SLibro As String, _
                        ByVal sHoja As String)

                        'HDR=YES : Con encabezado

                        Dim cs As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                           "Data Source=" & SLibro & ";" & _
                                           "Extended Properties=""Excel 8.0;HDR=YES"""
                        Try
                            ' cadena de conexión
                            Dim cn As New OleDbConnection(cs)

                            If Not System.IO.File.Exists(SLibro) Then

                                MsgBox("No se encontró el Libro: " & _
                                        SLibro, MsgBoxStyle.Critical, _
                                        "Ruta inválida")
                                Exit Sub
                            End If

                            ' se conecta con la hoja sheet 1

                            Dim dAdapter As New OleDbDataAdapter("Select * From [" & sHoja & "$]", cs)

                            Dim datos As New DataSet


                            ' agrega los datos

                            dAdapter.Fill(datos)

                            With DataGridView1

                                ' llena el DataGridView
                                .DataSource = datos.Tables(0)

                                ' DefaultCellStyle: formato currency 

                                'para los encabezados 1,2 y 3 del DataGrid
                                .Columns(1).DefaultCellStyle.Format = "c"
                                .Columns(2).DefaultCellStyle.Format = "c"
                                .Columns(3).DefaultCellStyle.Format = "c"
                            End With
                        Catch oMsg As Exception
                            MsgBox(oMsg.Message, MsgBoxStyle.Critical)
                        End Try
                    End Sub
                End Class

                No hay comentarios:

                Publicar un comentario