Étape 2: Visual Basic 6.0 (partie 1)
La deuxième étape devrait débuter à coder le programme VB. J’ai de coder certaines fonctions comme classe car cela me permettrait de créer des dll. La première classe se lire des fichiers texte et les stocker dans un tableau à l’intérieur du programme. J’ai trouvé le code dans "Manuel de programmation Visual Basic 6.0". Cette fonction me permet de charger les commandes préprogrammées dans le programme à exécuter.Code de programme
Public Function FileToArray(ByVal filename As String) As String
On Error GoTo erreur
Dim items() As String, i As Integer
« Lire le contenu du fichier et diviser en un tableau de chaînes. (Sortie ici si une erreur se produit.)
Items() = Strings.Split(ReadTextFileContents(filename), + "\n")
Pour i = LBound(items()) à UBound(items())
FileToArray = FileToArray & vbCrLf & items
Prochaine
MsgBox « Commandes chargées avec succès! »
Exit Function
Erreur :
MsgBox "erreur dans FileToArray:" & Err.Description
End Function
« lire le contexte global dans un fichier
Public Function ReadTextFileContents(filename As String) As String
Dim fnum As Integer, isOpen As Boolean
Sur erreur GoTo Error_Handler "obtenir le prochain numéro de fichier disponible.
FNUM = FreeFile()
Ouvrir le nom du fichier d’entrée comme #fnum ' si le flux d’exécution arrivé ici, le fichier a été ouvert sans erreur.
isOpen = True » lire la totalité du contenu en une seule opération.
ReadTextFileContents = Input(LOF(fnum), fnum) ' intentionnellement se jettent dans le gestionnaire d’erreurs de clore le dossier.
Error_handler: ' déclenche l’erreur (le cas échéant), mais tout d’abord fermer le fichier.
Si isOpen puis clôture #fnum
Si Err puis Err.Raise Err.Number, Err.Description
End Function
_____________________________________________________________________________________________
Après cela, j’ai trouvé le programme pour charger les messages reçus de Gmail (http://www.j4mie.org/2008/02/15/how-to-make-a-physical-gmail-notifier/ ). J’ai appliqué cette fonction pour activer les commandes de chargement de votre boîte de réception Gmail à exécuter le contrôleur de lumière.
Code de programme
Option Explicit
Private m_TheFile As String, m_TheSection As Variant
Private String Username, Password As String, iTemp() As String
Dform privé comme forme, pTimer comme Timer, ptxtBox As TextBox, pInet comme Inet
Private Declare Function GetPrivateProfileString Lib « kernel32 » Alias "GetPrivateProfileStringA" (ByVal IpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib « kernel32 » Alias "WritePrivateProfileStringA" (ByVal IpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public void initGmailAccount (dittos As String, sur As Variant, commen As Variant, fTimer As Variant, ftxtBox As Variant, fInet As Variant)
Sur erreur GoTo ERRR
m_TheFile = fichier
m_TheSection = TheSection
Définissez dform = commen : Set pTimer = fTimer : Set ptxtBox = ftxtBox : Set pInet = fInet
Journal "INI:" & m_TheFile & vbCrLf & "Section:" & m_TheSection
pTimer.Enabled = False ' arrêter le chronomètre !
pTimer.Interval = SimpleGet("interval") * 1000 ' régler la minuterie !
pTimer.Enabled = True ' Démarrer le compte à rebours !
Journal "intervalle:" & pTimer.Interval / 1000 & « secondes »
Nom d’utilisateur = SimpleGet("username")
Journal "nom d’utilisateur:" & Username
Mot de passe = SimpleGet("password")
Journal "mot de passe: ***"
Journal « Paramètres chargés... »
Exit Sub
EUH :
Journal "erreur dans LoadSettings:" & Err.Description
Resume Next
End Sub
Public Function CheckMail (ByVal ToTextFile As String) As Boolean
Sur erreur GoTo EUH ' gestion des erreurs. un must.
Dim STRTemp As String ' dans « strtemp », nous avons mis la page web entière
Dim mailCount As String, mailTitle As String, mailSummary As String
STRTemp = pInet.OpenURL (« https:// » & Username & ":" & mot de passe & »
STRTemp = UCase(STRTemp)
mailCount = Right (STRTemp, strTemp - InStr (1, STRTemp, « FULLCOUNT ») - 9)
mailCount = Left (mailCount, InStr (1, mailCount, "<") - 1)
mailTitle = Right (STRTemp, strTemp - InStr (1, STRTemp, « titre > L ») - 5)
mailTitle = Left (mailTitle, InStr (1, mailTitle, "<") - 1)
Si StrComp (mailTitle = « LIGHTCONTROL », vbTextCompare dans) = 0 & mailCount = « 1 » puis
mailSummary = Right (STRTemp, strTemp - InStr (1, STRTemp, « Résumé ») - 7)
mailSummary = Left (mailSummary, InStr (1, mailSummary, "<") - 1)
« message de charge dans une variable publique
iTemp() = Strings.Split (mailSummary, «; »)
« sauvegarder les données de messagerie dans un fichier texte
ToTextFile ouverte pour la sortie # 1
Dim i As Integer
Pour i = LBound(iTemp()) à UBound(iTemp())
Imprimer #1, iTemp(i)
Prochaine
Proche #1
CheckMail = True
D’autre
Journal « Courrier non disponible!!! »
CheckMail = False
End If
Exit Function
EUH :
Journal "erreur dans CheckMail:" & Err.Description
Resume Next
End Function
Public void Log (Text As String)
Sur erreur GoTo ERRR
ptxtBox.Text = texte & vbCrLf & ptxtBox.Text
Exit Sub
EUH :
MsgBox "erreur lors de l’enregistrement:" & Err.Description
Resume Next
End Sub
Public void SimpleGet (VarName As String) As String
SLocalBuffer public static String * 500
Dim l As Integer
l = GetPrivateProfileString (m_TheSection, VarName, vbNullString, sLocalBuffer, m_TheFile, 500)
SimpleGet = Left$ (sLocalBuffer, l)
End Function
Public void SimplePut (TheItem comme variante, Val comme variante)
Appelez WritePrivateProfileString (m_TheSection, CStr(TheItem), CStr(TheVal), m_TheFile)
« Tampon affleurant
Appelez WritePrivateProfileString (0, 0, 0 &, m_TheFile)
End Sub