Identificador de móviles

y programas personales para otros como tu, puede que te corrijan ;)
Responder
Avatar de Usuario
frp64
Mensajes: 18
Registrado: 20 Jul 2010, 09:40
Ubicación: Canarias

Identificador de móviles

Mensaje por frp64 »

Buenas,

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
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: Identificador de móviles

Mensaje por BasicOs »

Gracias por el aporte :smt014
Salu22:)
Responder