Paso 2: Visual Basic 6.0 (parte 1)
El segundo paso sería empezar a código el programa VB. Código de algunas funciones como clase, esto permitiría crear dll. La primera clase leer archivos de texto y almacenarlos en un array dentro del programa. He encontrado el código en el manual de "Programación Visual Basic 6.0". Esta función permite cargar comandos pre-programados en el programa para ejecutarse.Código del programa
Función pública FileToArray(ByVal filename As String) As String
On Error GoTo Error
Dim items() As String, i As Integer
' Leer el contenido del archivo y dividir en una matriz de cadenas. (Salida aquí si se produce cualquier error.)
items() = Strings.Split(ReadTextFileContents(filename), vbCrLf)
De = LBound(items()) a UBound(items())
FileToArray = FileToArray & vbCrLf & items(i)
Siguiente
MsgBox "Comandos de carga correctamente!"
Función de salida
Error:
MsgBox "Error en FileToArray:" & Err.Description
End Function
' Lee el contexto entero en un archivo
Función pública ReadTextFileContents(filename As String) As String
Dim fnum como entero, isOpen como booleano
En Error GoTo Error_Handler ' obtener el siguiente número de archivo gratis.
fnum = FreeFile()
Abrir nombre de archivo para la entrada como #fnum ' si el flujo de ejecución llegó aquí, el archivo ha sido abierto sin error.
isOpen = True ' leer todo el contenido en una sola operación.
ReadTextFileContents = Input(LOF(fnum), fnum) ' entrar intencionalmente en el controlador de error al cerrar el archivo.
Error_Handler: ' levantar el error (si existe), pero primero cierra el archivo.
Si isOpen entonces estrecha #fnum
Si Err entonces Err.Raise Err.Number, Err.Description
End Function
_____________________________________________________________________________________________
Después de eso, encontré el programa para cargar mensajes de bandeja de entrada de Gmail (http://www.j4mie.org/2008/02/15/how-to-make-a-physical-gmail-notifier/ ). Apliqué esta función para habilitar comandos de carga de la bandeja de entrada de Gmail ejecutar el controlador de luz.
Código del programa
Opción explícita
Private m_TheFile As String, m_TheSection As Variant
Privado Username As String, contraseña As String, iTemp() As String
PForm privado como forma, pTimer como temporizador, ptxtBox como TextBox, pInet como Inet
Private Declare la función GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (lpApplicationName ByVal As String, ByVal lpKeyName como cualquiera, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize como largo, ByVal lpFileName As String) como larga
Privado declarar función WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName como cualquiera, ByVal lpString como cualquiera, ByVal lpFileName As String) mientras
Público Sub initGmailAccount (fForm el As String, TheSection As Variant, como variante, fTimer As Variant, ftxtBox As Variant, fInet como variante)
En Error GoTo error
m_TheFile = archivos
m_TheSection = TheSection
Establecer pForm = fForm: Set pTimer = fTimer: Set ptxtBox = ftxtBox: Set pInet = fInet
Registro "INI:" & m_TheFile & vbCrLf & "sección:" & m_TheSection
pTimer.Enabled = False ' detener el temporizador!
pTimer.Interval = SimpleGet("interval") * 1000 ' configurar el temporizador!
pTimer.Enabled = True ' iniciar el temporizador.
Registro de "intervalo:" & pTimer.Interval / 1000 & "segundos"
Username = SimpleGet("username")
Registro de "nombre de usuario:" & Username
Contraseña = SimpleGet("password")
Registro de "contraseña: ***"
Registro "Configuración cargado..."
Salida Sub
ERROR:
Log "Error en LoadSettings:" & Err.Description
Reanudar la siguiente
End Sub
Función pública CheckMail (ByVal ToTextFile como cadena) como Boolean
En Error GoTo error ' control de errores. una visita obligada.
Dim STRTemp As String ' en "strtemp" ponemos toda la página web
Dim mailCount As String, mailTitle As String, mailSummary As String
STRTemp = pInet.OpenURL ("https://" y nombre de usuario & ":" & contraseña & "
STRTemp = UCase(STRTemp)
mailCount = Right (STRTemp, Len(STRTemp) - InStr (1, STRTemp, "FULLCOUNT") - 9)
mailCount = Left (mailCount, InStr (1, mailCount, "<") - 1)
mailTitle = Right (STRTemp, Len(STRTemp) - InStr (1, STRTemp, "título > L") - 5)
mailTitle = Left (mailTitle, InStr (1, mailTitle, "<") - 1)
Si StrComp (mailTitle = "LIGHTCONTROL", vbTextCompare) = 0 & mailCount = "1" Then
mailSummary = Right (STRTemp, Len(STRTemp) - InStr (1, STRTemp, "Resumen") - 7)
mailSummary = Left (mailSummary, InStr (1, mailSummary, "<") - 1)
' mensaje de carga en la variable pública
iTemp() = Strings.Split (mailSummary, ";")
' guardar los datos de correo en un archivo de texto
ToTextFile abierta para la salida # 1
Dim te como entero
De = LBound(iTemp()) a UBound(iTemp())
#1, la impresión iTemp(i)
Siguiente
Cerca de #1
CheckMail = True
Otra cosa
Registro de "Correo no está disponible!!!!!!"
CheckMail = False
End If
Función de salida
ERROR:
Registro de "Error de CheckMail:" & Err.Description
Reanudar la siguiente
End Function
Registro público Sub (como cadena de texto)
En Error GoTo error
ptxtBox.Text = texto & vbCrLf & ptxtBox.Text
Salida Sub
ERROR:
MsgBox "Error al registro:" & Err.Description
Reanudar la siguiente
End Sub
Función pública SimpleGet (VarName como cadena) como cadena
Static sLocalBuffer As String * 500
Dim l como entero de
l = GetPrivateProfileString (m_TheSection, VarName, vbNullString, sLocalBuffer, 500, m_TheFile)
SimpleGet = Left$ (sLocalBuffer, l)
End Function
Público Sub SimplePut (TheItem como variante, TheVal como variante)
Llame a WritePrivateProfileString (m_TheSection, CStr(TheItem), CStr(TheVal), m_TheFile)
' Buffer flush
Llame a WritePrivateProfileString (0, 0 &, 0 &, m_TheFile)
End Sub