Bonjour à toutes et à tous,
Dans le module déjà décrit, j'utilise un TButton pour la connexion qui met un TTimer.enabled := true.
La procédure de ce TTimer doit vérifier si la nouvelle IP est la même que l'ancienne (IP contenue dans le champ de deux TEdit) et si pas l'envoyer par émail ou sur site au format *.html.
A ce stade c'est ok pour l'exécution de la différence.
Seul problème est que après le changement d'IP, le TTimer continue d'envoyer suivant sa fréquence soit toutes les "300000" ms, les informations alors que le contenu des deux TEdit sont revenus identiques.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 procedure TFServer.TConnectTimer(Sender: TObject); var lastIp,IpActual:string; F: TextFile; result : Integer; begin lastIP:=IPServer.Text; //on récupère l'IP en cours IpActual:=GetLocalIp; //on va chercher le nouvel IP if lastIP<>IPServer.Text then begin try //*******si différent on le réécrit et on l'envoie WriteTxt; Connect_State_Ed.Text:='Ip sauvegardée !'; If Mail_Transmition(Exp_Ed.Text,Dest_Ed.Text,SMTP_Ed.Text, 'Votre IP actuel au '+datetostr(date)+ ' est http://' + IPServer.Text) then Connect_State_Ed.Text:='Mail Envoyé !'; if RBsite.Checked then begin FTransfert.BconnecterClick(Sender); Connect_State_Ed.Text:='Site Connecté !'; FTransfert.BenvoyerClick(Sender); Connect_State_Ed.Text:='IP Envoyée sur le site !'; end finally FTransfert.BDeconnecterClick(Sender); Connect_State_Ed.Text:='Site Déconnecté !'; end; end; if lastIP=IPServer.Text then Tconnect.enabled := false; //Je pensais rajouter ceci ! end;
Avez vous une idée ?
A moins que à la fin de la procédure "Writetext", je testerai d'ici 96H puisque c'est le temps du changement d'IP sur la BBox2.
@+,
Cincap
Partager