Despues de un par de horas leyendo sobre el tema del autoIT me parecio muy interesante y empeze a probar cosas y bueno, este es el resultado.
La funcion del script es muy simple pero bueno, lo que hace es buscar en una base de datos (MySQL) el nombre que le introduces en una caja de texto, y te muestra los resultados que haya encontrado.
Código: Seleccionar todo
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.2.10.0
Author: MaTaXeToS
Script Function: Busca resultados en la base de datos y los muestra por pantalla.
#ce ----------------------------------------------------------------------------
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include "MySQL.au3"
Dim $UserName = "usuario"
Dim $Password = "contraseña"
Dim $Database = "dcot"
Dim $MySQLServerName = "localhost"
Dim $TableName = "partylist"
Opt("GUIOnEventMode", 1)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Consultar Base de datos", 500, 300, 192, 124)
$Label1 = GUICtrlCreateLabel("Nombre a buscar", 10, 16, 100, 35)
$Input1 = GUICtrlCreateInput("", 100, 14, 125, 25)
$Button1 = GUICtrlCreateButton("Buscar", 230, 14, 100, 30, 0)
$listview = GUICtrlCreateListView( "Nombre | Apellidos | Invitacion | Conectado ", 10, 50, 472, 230)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1Restore")
GUICtrlSetOnEvent($Button1, "Button1Click")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func Button1Click()
$text = GUICtrlRead($Input1)
If $text == "" Then
GUICtrlSetData($Input1, "Has de escribir algo")
Else
if $text <> "Has de escribir algo" Then
buscar($text)
EndIf
EndIf
EndFunc
Func buscar($text)
GUICtrlDelete($listview)
$listview = GUICtrlCreateListView( "Nombre | Apellidos | Invitacion | Conectado ", 10, 50, 472, 230)
$sql = _MySQLConnect ($UserName, $Password, $Database, $MySQLServerName)
$SQLCode = "SELECT * FROM partylist WHERE FirstName='" & $text & "'"
$var = _Query ($sql, $SQLCode)
$count = _CountRecords($sql, $TableName, 'FirstName', $text)
While NOT $var.EOF
$nombre = $var.Fields("FirstName").value
$apellidos = $var.Fields("LastName").value
$invitacion = $var.Fields("InviteSent").value
$conectado = $var.Fields("Attending").value
if $count <> 0 Then
GUICtrlCreateListViewItem($nombre & '|' & $apellidos & '|' & $invitacion & '|' & $conectado, $listview)
TrayTip("Resultados","Se han encontrado " & $count & " resultado(s)",-1)
EndIf
$var.MoveNext
WEnd
if $count == 0 Then
TrayTip("Resultados","No se han encontrado resultados con este nombre",-1)
EndIf
_MySQLEnd($sql)
EndFunc
Func Form1Close()
Exit
EndFunc
Func Form1Maximize()
EndFunc
Func Form1Minimize()
EndFunc
Func Form1Restore()
EndFunc
Código: Seleccionar todo
CREATE DATABASE `dcot` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci;
USE `dcot`;
CREATE TABLE IF NOT EXISTS `partylist` (
`RecordID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Unique Record ID',
`FirstName` varchar(30) COLLATE latin1_general_ci NOT NULL COMMENT 'First Name',
`LastName` varchar(30) COLLATE latin1_general_ci NOT NULL COMMENT 'Last Name',
`InviteSent` tinyint(1) NOT NULL COMMENT 'Has the invitation been sent yet?',
`Attending` tinyint(1) NOT NULL COMMENT 'Is this person coming to the party?',
PRIMARY KEY (`RecordID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=15 ;
INSERT INTO `partylist` (`RecordID`, `FirstName`, `LastName`, `InviteSent`, `Attending`) VALUES
(1, 'Jim', 'Nasium', 1, 1),
(2, 'Bill', 'Fold', 0, 0),
(4, 'Jen', 'Tull', 1, 0),
(5, 'Justin', 'Time', 0, 0),
(14, 'Bill', 'chupapollas', 1, 1);
Por ahora solo he hecho que busque en la columna de FirstName, ahora empezare a trabajar para intentar hacer una lista o checkbox para selecionar en que columna quieres buscar la palabra.
Estoy abierto a criticas y mejoras.
Muchas gracias.
ATT. MaTaXeToS