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}
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_name | Sales | Date |
LOS ANGELES | 1500 € | 05-Jan-1999 |
SAN DIEGO | 250 € | 07-Jan-1999 |
SAN FRANCISCO | 300 € | 08-Jan-1999 |
BOSTON | 700 € | 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:
FROM Store_Information
WHERE store_name LIKE '%AN%'
Resultado:
store_name | Sales | Date |
LOS ANGELES | 1500 € | 05-Jan-1999 |
SAN DIEGO | 250 € | 07-Jan-1999 |
SAN FRANCISCO | 300 € | 08-Jan-1999 |
Control.KeyPress (Evento)
Se produce cuando se presiona una tecla mientras el control tiene el foco.
Ensamblado: System.Windows.Forms (en System.Windows.Forms.dll)
Los eventos de teclado se producen en el siguiente orden:
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("")
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
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