unit Unit1; interface uses Windows, Messages, Graphics, Controls, Forms, Dialogs, IdWinsock2, stdctrls, SysUtils, Classes, IdBaseComponent, IdAntiFreezeBase, IdAntiFreeze, IdComponent, IdUDPBase, IdUDPClient, IdStack, IdUDPServer, IdSocketHandle, ExtCtrls, Buttons; type TForm1 = class(TForm) IdUDPClient1: TIdUDPClient; GroupBox3: TGroupBox; GroupBox4: TGroupBox; GroupBox5: TGroupBox; GroupBox6: TGroupBox; SpeedButton2: TSpeedButton; SpeedButton3: TSpeedButton; SpeedButton4: TSpeedButton; SpeedButton5: TSpeedButton; SpeedButton6: TSpeedButton; SpeedButton7: TSpeedButton; SpeedButton8: TSpeedButton; SpeedButton9: TSpeedButton; Label1: TLabel; Label2: TLabel; SpeedButton18: TSpeedButton; SpeedButton19: TSpeedButton; SpeedButton20: TSpeedButton; SpeedButton21: TSpeedButton; SpeedButton22: TSpeedButton; SpeedButton23: TSpeedButton; SpeedButton24: TSpeedButton; SpeedButton25: TSpeedButton; Bevel1: TBevel; SpeedButton34: TSpeedButton; SpeedButton35: TSpeedButton; SpeedButton36: TSpeedButton; SpeedButton37: TSpeedButton; SpeedButton38: TSpeedButton; SpeedButton39: TSpeedButton; SpeedButton40: TSpeedButton; SpeedButton41: TSpeedButton; SpeedButton50: TSpeedButton; SpeedButton51: TSpeedButton; SpeedButton52: TSpeedButton; SpeedButton53: TSpeedButton; SpeedButton54: TSpeedButton; SpeedButton55: TSpeedButton; SpeedButton56: TSpeedButton; SpeedButton57: TSpeedButton; SpeedButton66: TSpeedButton; SpeedButton67: TSpeedButton; GroupBox1: TGroupBox; Label3: TLabel; Label4: TLabel; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); procedure SpeedButton4Click(Sender: TObject); procedure SpeedButton18Click(Sender: TObject); procedure SpeedButton19Click(Sender: TObject); procedure SpeedButton20Click(Sender: TObject); procedure SpeedButton5Click(Sender: TObject); procedure SpeedButton6Click(Sender: TObject); procedure SpeedButton7Click(Sender: TObject); procedure SpeedButton8Click(Sender: TObject); procedure SpeedButton9Click(Sender: TObject); procedure SpeedButton21Click(Sender: TObject); procedure SpeedButton22Click(Sender: TObject); procedure SpeedButton23Click(Sender: TObject); procedure SpeedButton24Click(Sender: TObject); procedure SpeedButton25Click(Sender: TObject); procedure SpeedButton34Click(Sender: TObject); procedure SpeedButton35Click(Sender: TObject); procedure SpeedButton36Click(Sender: TObject); procedure SpeedButton37Click(Sender: TObject); procedure SpeedButton38Click(Sender: TObject); procedure SpeedButton39Click(Sender: TObject); procedure SpeedButton40Click(Sender: TObject); procedure SpeedButton41Click(Sender: TObject); procedure SpeedButton50MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton50MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton51MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton51MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton52MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton52MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton53MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton53MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton54MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton54MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton55MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton55MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton56MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton56MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton57MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton57MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SpeedButton66Click(Sender: TObject); procedure SpeedButton67Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; ReceivedString: String; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); // Paramètres par défaut au lancement de l'application. begin IdUDPClient1.Port:=5030; // Port par défaut. IdUDPClient1.Host:='192.168.0.9'; // Adresse IP locale par défaut. IdUDPClient1.ReceiveTimeout:=1000; // Délais maxi d'une seconde pour que le périphérique à base d'ENC28J60 réponde. Timer1.Interval:=500; // Lecture de l'octet présent sur E1 à E8 toutes les 500ms. end; //****************** //** COMMANDES ON ** //****************** procedure TForm1.SpeedButton2Click(Sender: TObject); // ON S1 begin IdUDPClient1.Send('S01N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton3Click(Sender: TObject); // ON S2 begin IdUDPClient1.Send('S02N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton4Click(Sender: TObject); // ON S3 begin IdUDPClient1.Send('S03N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton5Click(Sender: TObject); // ON S4 begin IdUDPClient1.Send('S04N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton6Click(Sender: TObject); // ON S5 begin IdUDPClient1.Send('S05N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton7Click(Sender: TObject); // ON S6 begin IdUDPClient1.Send('S06N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton8Click(Sender: TObject); // ON S7 begin IdUDPClient1.Send('S07N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton9Click(Sender: TObject); // ON S8 begin IdUDPClient1.Send('S08N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; //********************** //** FIN COMMANDES ON ** //********************** //******************* //** COMMANDES OFF ** //******************* procedure TForm1.SpeedButton18Click(Sender: TObject); // OFF S1 begin IdUDPClient1.Send('S01F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton19Click(Sender: TObject); // OFF S2 begin IdUDPClient1.Send('S02F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton20Click(Sender: TObject); // OFF S3 begin IdUDPClient1.Send('S03F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton21Click(Sender: TObject); // OFF S4 begin IdUDPClient1.Send('S04F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton22Click(Sender: TObject); // OFF S5 begin IdUDPClient1.Send('S05F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton23Click(Sender: TObject); // OFF S6 begin IdUDPClient1.Send('S06F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton24Click(Sender: TObject); // OFF S7 begin IdUDPClient1.Send('S07F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton25Click(Sender: TObject); // OFF S8 begin IdUDPClient1.Send('S08F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; //*********************** //** FIN COMMANDES OFF ** //*********************** //********************** //** COMMANDES TOGGLE ** //********************** procedure TForm1.SpeedButton34Click(Sender: TObject); // Toogle S1 begin IdUDPClient1.Send('S01T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton35Click(Sender: TObject); // Toogle S2 begin IdUDPClient1.Send('S02T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton36Click(Sender: TObject); // Toogle S3 begin IdUDPClient1.Send('S03T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton37Click(Sender: TObject); // Toogle S4 begin IdUDPClient1.Send('S04T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton38Click(Sender: TObject); // Toogle S5 begin IdUDPClient1.Send('S05T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton39Click(Sender: TObject); // Toogle S6 begin IdUDPClient1.Send('S06T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton40Click(Sender: TObject); // Toogle S7 begin IdUDPClient1.Send('S07T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton41Click(Sender: TObject); // Toogle S8 begin IdUDPClient1.Send('S08T'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; //************************** //** FIN COMMANDES TOGGLE ** //************************** //*************************** //** COMMANDES MOMENTANEES ** //*************************** procedure TForm1.SpeedButton50MouseDown(Sender: TObject; // S1 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S01N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton50MouseUp(Sender: TObject; // S1 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S01F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton51MouseDown(Sender: TObject; // S2 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S02N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton51MouseUp(Sender: TObject; // S2 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S02F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton52MouseDown(Sender: TObject; // S3 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S03N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton52MouseUp(Sender: TObject; // S3 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S03F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton53MouseDown(Sender: TObject; // S4 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S04N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton53MouseUp(Sender: TObject; // S4 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S04F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton54MouseDown(Sender: TObject; // S5 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S05N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton54MouseUp(Sender: TObject; // S5 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S05F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton55MouseDown(Sender: TObject; // S6 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S06N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton55MouseUp(Sender: TObject; // S6 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S06F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton56MouseDown(Sender: TObject; // S7 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S07N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton56MouseUp(Sender: TObject; // S7 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S07F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton57MouseDown(Sender: TObject; // S8 enfoncé Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S08N'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton57MouseUp(Sender: TObject; // S8 relaché Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin IdUDPClient1.Send('S08F'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; //******************************* //** FIN COMMANDES MOMENTANEES ** //******************************* //************************ //** COMMANDES AVANCEES ** //************************ procedure TForm1.SpeedButton66Click(Sender: TObject); // Toutes les sortie ON begin IdUDPClient1.Send('N$'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; procedure TForm1.SpeedButton67Click(Sender: TObject); // Toutes les sortie OFF begin IdUDPClient1.Send('F$'); ReceivedString := IdUDPClient1.ReceiveString(); // L'interface est-elle présente sur le réseau ? if ReceivedString = '' then begin Application.Terminate; // Si l'interface ne répond pas à la requête, on sort du programme (interface déconnectée du réseau). end; end; //**************************** //** FIN COMMANDES AVANCEES ** //**************************** //************************************************************************** //** Timer1. Lecture en boucle de l'octet présent sur les entrées E1 à E8 ** //************************************************************************** procedure TForm1.Timer1Timer(Sender: TObject); // Lire l'octet présent sur les entrées E1 à E8. begin IdUDPClient1.Send('INPUT'); // Envoie la commande au format ASCII 'INPUT' permettant de récupérer l'octet présent sur E1 à E8 ReceivedString := IdUDPClient1.ReceiveString(); if ReceivedString = '' then // Si l'interface ne répond pas, on arrête le programme. begin Timer1.Enabled:=False; // Arrêt du Timer 1 MessageDlg ('L''interface ne répond pas. Le programme va s''arrêter...', mtInformation,[mbOk],0); Application.Terminate; // Si l'interface ne répond pas à la requête, on quitte le programme (interface déconnectée du réseau). end else begin Label4.Caption:=ReceivedString; // L'interface a répondu en nous envoyant l'octet présent sur les entrées E1 à E8" end; end; //*********************************************************************** //** FIN: Lecture en boucle de l'octet présent sur les entrées E1 à E8 ** //*********************************************************************** end.