Aplicación de chefito modificada, en formato GUI, para identificar los datos de cualquier móvil:
Código: Seleccionar todo
#Include <Array.au3>
#Include <File.au3>
#Include <Ie.au3>
#Include <String.au3>
#include <GUIConstants.au3>
#include <ButtonConstants.au3>
#include <GuiEdit.au3>
Dim $numero, $IeObj, $IeForm, $InpNum
AutoItSetOption ("GUIOnEventMode", 1)
Opt("TrayIconHide", 1)
SplashTextOn ("", "Espere...", 80, 40, -1, -1, 1, "Comic Sans", 10, 10)
$IeObj=_IECreate("http://www.gsmspain.com/prefijos/", 0, 0, 1, 1)
_IELoadWait($IeObj)
SplashOff()
$gui = GUICreate ("Identificador de móviles", 310, 200, -1, -1)
GUISetOnEvent ($GUI_EVENT_CLOSE, "_exit")
GUICtrlCreateLabel ("Número de móvil:", 10, 10, 100, 25)
$input = GUICtrlCreateInput ("", 120, 10, 100, 25)
GUICtrlCreateLabel ("Prefijo:", 10, 50, 40, 25)
$prefijo = GUICtrlCreateInput ("", 50, 50, 40, 20, $ES_READONLY)
GUICtrlCreateLabel ("Tecnología:", 120, 50, 80, 25)
$tecno = GUICtrlCreateInput ("", 210, 50, 90, 20, $ES_READONLY)
GUICtrlCreateLabel ("Estado:", 10, 90, 40, 25)
$estado = GUICtrlCreateInput ("", 50, 90, 80, 20, $ES_READONLY)
GUICtrlCreateLabel ("Fecha Alta:", 140, 90, 80, 25)
$fecha = GUICtrlCreateInput ("", 220, 90, 80, 20, $ES_READONLY)
GUICtrlCreateLabel ("Operador:", 10, 130, 80, 25)
$operador = GUICtrlCreateInput ("", 90, 130, 210, 20, $ES_READONLY)
GUICtrlCreateLabel ("Marca Comercial:", 10, 170, 120, 25)
$marca = GUICtrlCreateInput ("", 130, 170, 170, 20, $ES_READONLY)
$boton = GUICtrlCreateButton ("Buscar", 230, 10, 70, 25, $BS_DEFPUSHBUTTON)
GUICtrlSetOnEvent (-1, "_movil")
GUISetState (@SW_SHOW)
While 1
Sleep (10)
WEnd
Func _movil()
SplashTextOn ("", "Espere...", 80, 40, -1, -1, 1, "Comic Sans", 10, 10)
$IeForm=_IEFormGetCollection($IeObj, 1)
$InpNum=_IEGetObjByName($IeForm, "num")
$numero = GUICtrlRead($input)
_LimpiaVariables()
Local $Info[6]
If $numero=="" Then
SetError(1)
Return "Debe especificarse un número de teléfono móvil válido"
EndIf
$NumDiv=StringSplit($numero, "")
If (Not IsArray($NumDiv) Or $NumDiv[0]==0) Then
SetError(1)
Return "Debe especificarse un número de teléfono móvil válido"
EndIf
If ($NumDiv[0]<>9 Or $NumDiv[1]<>"6") Then
SetError(1)
Return $numero &" no es válido"
EndIf
_IeFormElementSetValue($InpNum, $numero)
_IEFormSubmit($IeForm)
_IeLoadWait($IeObj)
$Result=_IeBodyReadText($IeObj)
;_IeQuit($IeObj)
If stringInStr($Result, "No se puede mostrar la página")<>0 Then
SetError(1)
Return "La base de datos no está disponible en éste momento"
EndIf
$Result=StringReplace($Result, @CRLF&@CRLF&@CRLF, @CRLF)
$Result=StringReplace($Result, @CRLF&@CRLF, @CRLF)
If StringInStr($Result, "Prefijo:")==0 Then
SetError(1)
If StringInStr($Result, "El numero "&$numero&" no es de ningun operador español o es de nueva adjudicación")<>0 Then
Return "El número "&$numero&" no es de ningún operador móvil español o es de nueva adjudicación"
Else
SetError(1)
Return "Error al consultar "&$numero
EndIf
EndIf
$Result=StringReplace($Result, "Prefijo:"&@CRLF, "Prefijo: ")
$Result=StringReplace($Result, "Tecnología servicio:"&@CRLF, "Tecnología servicio: ")
$Result=StringReplace($Result, "Estado:"&@CRLF, "Estado: ")
$Result=StringReplace($Result, "Fecha asignación:"&@CRLF, "Fecha asignación: ")
$Result=StringReplace($Result, "Operador:"&@CRLF, "Operador: ")
$Result=StringReplace($Result, "Marca comercial:"&@CRLF, "Marca comercial: ")
$ResultDiv=StringSplit($Result, @CRLF)
If (Not IsArray($ResultDiv) Or $ResultDiv[0]==0) Then
SetError(1)
Return "Error al consultar "&$numero
EndIf
For $I=1 To $ResultDiv[0] Step +1
If ($ResultDiv[$I]==@CRLF Or $ResultDiv[$I]=="" Or $ResultDiv[$I]==" " Or $ResultDiv[$I]==@Tab) Then ContinueLoop
Select
Case StringInStr($ResultDiv[$I], "Prefijo: ")<>0
$Info[0]=StringReplace($ResultDiv[$I], "Prefijo: ", "")
SplashOff()
GUICtrlSetData ($prefijo, $Info[0])
ConsoleWrite ($Info[0])
Case StringInStr($ResultDiv[$I], "Tecnología servicio: ")<>0
$Info[1]=StringReplace($ResultDiv[$I], "Tecnología servicio: ", "")
ConsoleWrite ($Info[1])
GUICtrlSetData ($tecno, $Info[1])
Case StringInStr($ResultDiv[$I], "Estado: ")<>0
$Info[2]=StringReplace($ResultDiv[$I], "Estado: ", "")
GUICtrlSetData ($estado, $Info[2])
ConsoleWrite ($Info[2])
Case StringInStr($ResultDiv[$I], "Fecha asignación: ")<>0
$Info[3]=StringReplace($ResultDiv[$I], "Fecha asignación: ", "")
GUICtrlSetData ($fecha, $Info[3])
ConsoleWrite ($Info[3])
Case StringInStr($ResultDiv[$I], "Operador: ")<>0
$Info[4]=StringReplace($ResultDiv[$I], "Operador: ", "")
GUICtrlSetData ($operador, $Info[4])
ConsoleWrite ($Info[4])
Case StringInStr($ResultDiv[$I], "Marca comercial: ")<>0
$Info[5]=StringReplace($ResultDiv[$I], "Marca comercial: ", "")
GUICtrlSetData ($marca, $Info[5])
ConsoleWrite ($Info[5])
EndSelect
Next
_IENavigate ($IeObj, "http://www.gsmspain.com/prefijos/")
_IELoadWait($IeObj)
EndFunc
Func _LimpiaVariables()
GUICtrlSetData ($prefijo, "")
GUICtrlSetData ($tecno, "")
GUICtrlSetData ($estado, "")
GUICtrlSetData ($fecha, "")
GUICtrlSetData ($operador, "")
GUICtrlSetData ($marca, "")
EndFunc
Func _exit()
Exit
EndFunc