Index: /trunk/XSUCLWF/Cxfel.cpp
===================================================================
--- /trunk/XSUCLWF/Cxfel.cpp	(revision 17)
+++ /trunk/XSUCLWF/Cxfel.cpp	(revision 18)
@@ -31,6 +31,6 @@
 		uint8_t tab_rp_bits[MODBUS_SIZE_READ_COILS];
 		Console::WriteLine(S"ThreadProc: read coils...");
-		int rc = modbus_read_bits(ctx, 3000, 13, tab_rp_bits);////JCM : adresse coils=3000
-		if (rc != 13)
+		int rc = modbus_read_bits(ctx, MODBUS_BASEADR_COILS, MODBUS_SIZE_READ_COILS, tab_rp_bits);////JCM : adresse coils=MODBUS_BASEADR_COILS
+		if (rc != MODBUS_SIZE_READ_COILS)
 			Console::WriteLine(S"ThreadProc: read coils failed...");
 		Thread::Sleep(500);
@@ -38,7 +38,7 @@
 		uint16_t tab_rp_registers_low[MODBUS_SIZE_READ_HOLDINGS_LOW];
 		Console::WriteLine(S"ThreadProc: read holdings...");
-		rc = modbus_read_registers(ctx, 2000,//JCM : adresse holding=2000
-			82, tab_rp_registers_low);
-		if (rc != 82)
+		rc = modbus_read_registers(ctx, MODBUS_BASEADR_LOW_HOLDINGS,//JCM : adresse holding=MODBUS_BASEADR_LOW_HOLDINGS
+			MODBUS_SIZE_READ_HOLDINGS_LOW, tab_rp_registers_low);
+		if (rc != MODBUS_SIZE_READ_HOLDINGS_LOW)
 			Console::WriteLine(S"ThreadProc: read holdings failed...");
 		Thread::Sleep(500);
@@ -62,7 +62,7 @@
 		uint16_t tab_rp_registers_high[MODBUS_SIZE_READ_HOLDINGS_HIGH];
 		Console::WriteLine(S"ThreadProc: read holdings...");
-		rc = modbus_read_registers(ctx, 2082,
-			125, tab_rp_registers_high);
-		if (rc != 125)
+		rc = modbus_read_registers(ctx, MODBUS_BASEADR_HIGH_HOLDINGS,
+			MODBUS_SIZE_READ_HOLDINGS_HIGH, tab_rp_registers_high);
+		if (rc != MODBUS_SIZE_READ_HOLDINGS_HIGH)
 			Console::WriteLine(S"ThreadProc: read holdings failed...");
 		Thread::Sleep(500);
@@ -100,5 +100,5 @@
 	valNumP->Location = Point(70,55);
 	valNumP->Size = System::Drawing::Size(60, 40);
-	valNumP->Text = "";//zone de texte initialisée vide
+	valNumP->Text = "xx";//zone de texte initialisée vide
 	valNumP->Font = new System::Drawing::Font(S"Arial", 9, FontStyle::Bold);
 	valNumP->ForeColor = Color::Brown;
@@ -116,5 +116,5 @@
 	valNumC1->Location = Point(30,110);
 	valNumC1->Size = System::Drawing::Size(60, 40);
-	valNumC1->Text = "";//zone de texte initialisée vide
+	valNumC1->Text = "xx";//zone de texte initialisée vide
 	valNumC1->Font = new System::Drawing::Font(S"Arial", 9, FontStyle::Bold);;
 	valNumC1->ForeColor = Color::Brown;
@@ -132,5 +132,5 @@
 	valNumC2->Location = Point(105,110);
 	valNumC2->Size = System::Drawing::Size(60, 40);
-	valNumC2->Text = "";//zone de texte initialisée vide
+	valNumC2->Text = "xx";//zone de texte initialisée vide
 	valNumC2->Font = new System::Drawing::Font(S"Arial", 9, FontStyle::Bold);;
 	valNumC2->ForeColor = Color::Brown;
@@ -179,23 +179,286 @@
 void CGroupBox::AppliquerBtn_Clicked(Object* pSender, EventArgs* pArgs)//gestionnaire d'evenements associés au bouton Appliquer
     {
+		String* str;
+		//lecture fichier ou BDD pour comparaison avec saisie
+		try
+			{
+				FileStream* fs = new FileStream("..\\test1_4xsuc.txt",FileMode::Open);
+				StreamReader* sr = new StreamReader(fs);
+				int count=0;
+
 			if(!String::Compare(name,"a"))
 			{
-				Console::WriteLine(S"appliquer a");	
+				Console::WriteLine(S"appliquer a");
+				for (;;)
+				{
+					String* line = sr->ReadLine();
+					if (count==0)
+						if(String::Compare(line,valNumP->Text))
+						{
+							MessageBox::Show(S"a: NumP n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==1)
+						if(String::Compare(line,valNumC1->Text))
+						{
+							MessageBox::Show(S"a: NumC1 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==2)
+						if(String::Compare(line,valNumC2->Text))
+						{
+							MessageBox::Show(S"a: NumC2 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					count++;
+					if (line==0)//fin du fichier
+					{
+						sr->Close();
+						uint16_t tab_rp_registers[2];
+						int rc;
+						int size;
+						Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write NumP NumC1 et NumC2...");
+						size=1;
+						tab_rp_registers[0] = Convert::ToInt16(valNumP->Text);
+						modbus_write_registers(ctx, 2070,size, tab_rp_registers);//NumP
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+	//					Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding...");
+						size=2;
+						tab_rp_registers[0] = Convert::ToInt16(valNumC1->Text);
+						tab_rp_registers[1] = Convert::ToInt16(valNumC2->Text);
+						modbus_write_registers(ctx, 2050,size, tab_rp_registers);//NumC1 et NumC2
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+						break;
+					}
+				}
 			}
 			if(!String::Compare(name,"b"))
 			{
 				Console::WriteLine(S"appliquer b");	
+				for (;;)
+				{
+					String* line = sr->ReadLine();
+					if (count==3)
+						if(String::Compare(line,valNumP->Text))
+						{
+							MessageBox::Show(S"b: NumP n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==4)
+						if(String::Compare(line,valNumC1->Text))
+						{
+							MessageBox::Show(S"b: NumC1 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==5)
+						if(String::Compare(line,valNumC2->Text))
+						{
+							MessageBox::Show(S"b: NumC2 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					count++;
+					if (line==0)//fin du fichier
+					{
+						sr->Close();
+						uint16_t tab_rp_registers[2];
+						int rc;
+						int size;
+						Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write NumP NumC1 et NumC2...");
+						size=1;
+						tab_rp_registers[0] = Convert::ToInt16(valNumP->Text);
+						modbus_write_registers(ctx, 2071,size, tab_rp_registers);//NumP
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+	//					Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding...");
+						size=2;
+						tab_rp_registers[0] = Convert::ToInt16(valNumC1->Text);
+						tab_rp_registers[1] = Convert::ToInt16(valNumC2->Text);
+						modbus_write_registers(ctx, 2052,size, tab_rp_registers);//NumC1 et NumC2
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+						break;
+					}
+				}
 			}
 			if(!String::Compare(name,"c"))
 			{
 				Console::WriteLine(S"appliquer c");	
+				for (;;)
+				{
+					String* line = sr->ReadLine();
+					if (count==6)
+						if(String::Compare(line,valNumP->Text))
+						{
+							MessageBox::Show(S"c: NumP n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==7)
+						if(String::Compare(line,valNumC1->Text))
+						{
+							MessageBox::Show(S"c: NumC1 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==8)
+						if(String::Compare(line,valNumC2->Text))
+						{
+							MessageBox::Show(S"c: NumC2 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					count++;
+					if (line==0)//fin du fichier
+					{
+						sr->Close();
+						uint16_t tab_rp_registers[2];
+						int rc;
+						int size;
+						Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write NumP NumC1 et NumC2...");
+						size=1;
+						tab_rp_registers[0] = Convert::ToInt16(valNumP->Text);
+						modbus_write_registers(ctx, 2072,size, tab_rp_registers);//NumP
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+	//					Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding...");
+						size=2;
+						tab_rp_registers[0] = Convert::ToInt16(valNumC1->Text);
+						tab_rp_registers[1] = Convert::ToInt16(valNumC2->Text);
+						modbus_write_registers(ctx, 2054,size, tab_rp_registers);//NumC1 et NumC2
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+						break;
+					}
+				}
 			}
 			if(!String::Compare(name,"d"))
 			{
 				Console::WriteLine(S"appliquer d");	
-			}
+				for (;;)
+				{
+					String* line = sr->ReadLine();
+					if (count==9)
+						if(String::Compare(line,valNumP->Text))
+						{
+							MessageBox::Show(S"d: NumP n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==10)
+						if(String::Compare(line,valNumC1->Text))
+						{
+							MessageBox::Show(S"d: NumC1 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					if (count==11)
+						if(String::Compare(line,valNumC2->Text))
+						{
+							MessageBox::Show(S"d: NumC2 n'existe pas !!");
+							sr->Close();
+							break;
+						}
+					count++;
+					if (line==0)//fin du fichier
+					{
+						sr->Close();
+						uint16_t tab_rp_registers[2];
+						int rc;
+						int size;
+						Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write NumP NumC1 et NumC2...");
+						size=1;
+						tab_rp_registers[0] = Convert::ToInt16(valNumP->Text);
+						modbus_write_registers(ctx, 2073,size, tab_rp_registers);//NumP
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+	//					Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding...");
+						size=2;
+						tab_rp_registers[0] = Convert::ToInt16(valNumC1->Text);
+						tab_rp_registers[1] = Convert::ToInt16(valNumC2->Text);
+						modbus_write_registers(ctx, 2056,size, tab_rp_registers);//NumC1 et NumC2
+						if (rc != size)
+							Console::WriteLine(S"CGroupBox::::AppliquerBtn_Clicked : write holding failed...");		
+						break;
+					}
+				}
+			}
+		}
+		catch (System::Exception* pe)
+			{
+				Console::WriteLine(pe->ToString());
+			}
+		int count=0;
+
   }
 
 CDialogConfig::CDialogConfig()
+    {
+        // définit les paramètres du formulaire
+        Text = S"XSUC - ecriture serveur";
+        FormBorderStyle = FormBorderStyle::Fixed3D;//impossible de modifier la taille
+        Size = System::Drawing::Size(1000,800);
+
+        // Creation de controle
+        sortirBtn = new Button();
+        
+        // bouton OK
+        sortirBtn->Location = Point(900, 700);
+        sortirBtn->Name = "Bouton Sortir";
+        sortirBtn->Text = "sortir";
+        sortirBtn->DialogResult = DialogResult::OK;
+
+        // Ajoute les controles dans le formaulaire
+        Controls->Add(sortirBtn);
+
+/*	GroupBox* gbox = new GroupBox();
+	gbox->Text = S"name";
+	gbox->Size = System::Drawing::Size(200, 150);//taille du groupbox en pixels
+	gbox->Location = Point(200,90);
+	Label* labNumP= new Label();
+	labNumP->Location = Point(10, 20);
+	labNumP->Size = System::Drawing::Size(50,16);
+	labNumP->Text = "Num_P";//zone de texte initialisée 
+	labNumP->TextAlign = ContentAlignment::MiddleRight;
+	gbox->Controls->Add(labNumP);
+	Controls->Add(gbox);
+*/
+		pal = new ArrayList();
+		int j=20;//depart affichage
+		for (indexGroupBox=0;indexGroupBox<NB_BANCS;indexGroupBox++)//creation des controles dans le formulaire
+		{
+			pal->Add(new CGroupBox(gname[indexGroupBox],j,90));
+			j+=250;
+			CGroupBox* gboxPtr = (CGroupBox *) pal->get_Item(indexGroupBox);
+//			gboxPtr->Controls->Add(gboxPtr->GetLabelNumP());
+//			gboxPtr->GetGroupBox()->Controls->Add(gboxPtr->GetLabelNumC1());
+//			gboxPtr->Controls->Add(gboxPtr->GetLabelNumC2());
+			Controls->Add(gboxPtr->GetGroupBox());
+			String* str;
+			str=String::Concat(gboxPtr->GetGroupBox()->Text);
+			Console::WriteLine(str);	
+/*			str=String::Concat(gboxPtr->GetLabelNumP()->Text);
+			Console::WriteLine(str);	
+			str=String::Concat(gboxPtr->GetLabelNumC1()->Text);
+			Console::WriteLine(str);	
+*/		}
+
+		//configure les 2 propriétés : AcceptButton contient la réf du bouton par défaut du formulaire..
+		//..on peut cliquer sur le bouton OK ou bien sur la touche Entrée du clavier..
+		//..referme aussi la boite car DialogResult renvoie OK
+        AcceptButton = sortirBtn;
+
+		//gestionnnaire associé au bouton OK
+		sortirBtn->Click += new EventHandler(this, &CDialogConfig::SortirBtn_Clicked);
+	}
+
+CDialogConfig::CDialogConfig(uint16_t *tab_rp_registers_low,uint16_t *tab_rp_registers_high)
     {
         // définit les paramètres du formulaire
@@ -438,7 +701,7 @@
 			Thread::Sleep(500);
 			Console::WriteLine(S"ThreadProc: read coils...");
-			adress=3000;//adresse coils=3000
-			size=13;
-			rc = modbus_read_bits(ctx, adress, size, tab_rp_bits);////JCM : adresse coils=3000
+			adress=MODBUS_BASEADR_COILS;//adresse coils=MODBUS_BASEADR_COILS
+			size=MODBUS_SIZE_READ_COILS;
+			rc = modbus_read_bits(ctx, adress, size, tab_rp_bits);////JCM : adresse coils=MODBUS_BASEADR_COILS
 			if (rc != size)
 				Console::WriteLine(S"ThreadProc: read coils failed...");
@@ -446,5 +709,5 @@
 			Thread::Sleep(500);
 			Console::WriteLine(S"ThreadProc: read holdings...");
-			adress=2000;//adresse holding=2000
+			adress=MODBUS_BASEADR_LOW_HOLDINGS;//adresse holding=MODBUS_BASEADR_LOW_HOLDINGS
 			size=82;
 			rc = modbus_read_registers(ctx, adress, size, tab_rp_registers_low);
@@ -617,6 +880,6 @@
 			Thread::Sleep(500);
 			Console::WriteLine(S"ThreadProc: read holdings...");
-			adress=2082;//adresse holding=2082
-			size=125;
+			adress=MODBUS_BASEADR_HIGH_HOLDINGS;//adresse holding=MODBUS_BASEADR_HIGH_HOLDINGS
+			size=MODBUS_SIZE_READ_HOLDINGS_HIGH;
 			rc = modbus_read_registers(ctx, adress, size, tab_rp_registers_high);
 			if (rc != size)
@@ -1071,5 +1334,5 @@
 			Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding...");
 			int rc = modbus_write_registers(ctx, 2048,1 , tab_rp_registers);
-			if (rc != 48)
+			if (rc != 1)
 					Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding failed...");		
 		}
@@ -1093,5 +1356,5 @@
 			Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding...");
 			int rc = modbus_write_registers(ctx, 2048,1 , tab_rp_registers);
-			if (rc != 48)
+			if (rc != 1)
 					Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding failed...");		
 		}
@@ -1115,5 +1378,5 @@
 			Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding...");
 			int rc = modbus_write_registers(ctx, 2048,1 , tab_rp_registers);
-			if (rc != 48)
+			if (rc != 1)
 					Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding failed...");		
 		}
@@ -1137,5 +1400,5 @@
 			Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding...");
 			int rc = modbus_write_registers(ctx, 2048,1 , tab_rp_registers);
-			if (rc != 48)
+			if (rc != 1)
 					Console::WriteLine(S"MaDialogUser::BtnStart_Clicked : write holding failed...");		
 		}
@@ -1357,4 +1620,21 @@
 void CppForm::Btn4_Clicked(Object* pSender, EventArgs* pArgs)//gestionnaire d'evenements associés au bouton 4
     {
+/*		uint16_t tab_rp_registers_low[MODBUS_SIZE_READ_HOLDINGS_LOW];
+		uint16_t tab_rp_registers_high[MODBUS_SIZE_READ_HOLDINGS_HIGH];
+		int rc, adress, size;
+		Console::WriteLine(S"ThreadProc: read holdings...");
+		adress=MODBUS_BASE_LOW_HOLDINGS;//adresse holding=MODBUS_BASE_LOW_HOLDINGS
+		size=82;
+		rc = modbus_read_registers(ctx, adress, size, tab_rp_registers_low);
+		if (rc != size)
+		Console::WriteLine(S"ThreadProc: read holdings failed...");
+		Thread::Sleep(500);
+		Console::WriteLine(S"ThreadProc: read holdings...");
+		adress=MODBUS_BASEADR_HIGH_HOLDINGS;//adresse holding=MODBUS_BASEADR_HIGH_HOLDINGS
+		size=MODBUS_SIZE_READ_HOLDINGS_HIGH;
+		rc = modbus_read_registers(ctx, adress, size, tab_rp_registers_high);
+		if (rc != size)
+			Console::WriteLine(S"ThreadProc: read holdings failed...");
+*/
 		//crée la boite de dialogue utilisateur
 		CDialogConfig* box = new CDialogConfig();
@@ -1521,5 +1801,5 @@
                        "FC01";
 			uint8_t tab_rp_bits[1]; 
-			int rc = modbus_read_bits(ctx, 3000, 1, tab_rp_bits);////JCM : adresse coils=3000
+			int rc = modbus_read_bits(ctx, MODBUS_BASEADR_COILS, 1, tab_rp_bits);////JCM : adresse coils=MODBUS_BASEADR_COILS
 			Console::WriteLine(S"CppForm::Radio_Clicked : read one coil...");
 			if (rc != 1)
@@ -1533,5 +1813,5 @@
 			modbus_set_bits_from_bytes(tab_value, 0, 77, UT_BITS_TAB);
 			printf("tab[0]=%d,tab[1]=%d,tab[2]=%d\n", tab_value[0], tab_value[1], tab_value[2]);
-			int rc = modbus_write_bits(ctx, 3000,//JCM : adresse coils=3000
+			int rc = modbus_write_bits(ctx, MODBUS_BASEADR_COILS,//JCM : adresse coils=MODBUS_BASEADR_COILS
 				77, tab_value);
 			if (rc != 77)
@@ -1543,5 +1823,5 @@
                       "FC03";
 			uint16_t tab_rp_registers[UT_REGISTERS_NB];
-			int rc = modbus_read_registers(ctx, 2000,//JCM : adresse holding=2000
+			int rc = modbus_read_registers(ctx, MODBUS_BASEADR_LOW_HOLDINGS,//JCM : adresse holding=MODBUS_BASEADR_LOW_HOLDINGS
                                UT_REGISTERS_NB, tab_rp_registers);
 			Console::WriteLine(S"CppForm::Radio_Clicked : read holding...");
Index: /trunk/XSUCLWF/Release/BuildLog.htm
===================================================================
--- /trunk/XSUCLWF/Release/BuildLog.htm	(revision 17)
+++ /trunk/XSUCLWF/Release/BuildLog.htm	(revision 18)
@@ -12,20 +12,96 @@
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
 Lignes de commande
-</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Création du fichier temporaire "c:\Documents and Settings\marrucho.LAL\Bureau\xfel-SI\xsucLWF\Release\RSP000019.rsp" avec pour contenu
+</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Création du fichier temporaire "c:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release\RSP000007.rsp" avec pour contenu
 [
-/OUT:"C:\Documents and Settings\marrucho.LAL\Bureau\xfel-SI\xsucLWF\Release\cxfel.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\temp\libmodbus\libmodbus\Debug" /LIBPATH:"C:\temp\libmodbus\libmodbusdll\alloulibere\Debug" /LIBPATH:"C:\temp\libmodbus\libmodbusdll\ess20d\Debug" /NODEFAULTLIB:"libcmt.lib" /DEBUG /PDB:"C:\Documents and Settings\marrucho.LAL\Bureau\xfel-SI\xsucLWF\Release/cxfel.pdb" /FIXED:No wsock32.lib ws2_32.lib libmodbus.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "\Temp\libmodbus\libmodbus\Debug\libmodbus.lib"
+/O2 /I "C:\temp\libmodbus\libmodbusdll\ess20d" /I "C:\temp\libmodbus\libmodbusdll\alloulibere" /I "C:\temp\libmodbus\libmodbus-3.0.1\tests" /I "C:\temp\libmodbus\libmodbus-3.0.1\src" /AI "C:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release" /D "WIN32" /D "NDEBUG" /D "_MBCS" /FD /EHsc /MT /GS /Fo"Release/" /Fd"Release/vc70.pdb" /W3 /c /Zi /clr /TP
+".\Cxfel.cpp"
+]
+Création de la ligne de commande "cl.exe @"c:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release\RSP000007.rsp" /nologo"
+Création du fichier temporaire "c:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release\RSP000008.rsp" avec pour contenu
+[
+/OUT:"C:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release\cxfel.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\temp\libmodbus\libmodbus\Debug" /LIBPATH:"C:\temp\libmodbus\libmodbusdll\alloulibere\Debug" /LIBPATH:"C:\temp\libmodbus\libmodbusdll\ess20d\Debug" /NODEFAULTLIB:"libcmt.lib" /DEBUG /PDB:"C:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release/cxfel.pdb" /FIXED:No wsock32.lib ws2_32.lib libmodbus.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib "\temp\libmodbus\libmodbus\Debug\libmodbus.lib"
 ".\Release\Cxfel.obj"
 ".\Release\cxfelmain.obj"
 ".\Release\stdafx.obj"
 ]
-Création de la ligne de commande "link.exe @"c:\Documents and Settings\marrucho.LAL\Bureau\xfel-SI\xsucLWF\Release\RSP000019.rsp""
+Création de la ligne de commande "link.exe @"c:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release\RSP000008.rsp""
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
 Fenêtre Sortie
-</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Édition des liens en cours...
+</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Compilation...
+Cxfel.cpp
+C:\temp\libmodbus\libmodbus-3.0.1\tests\unit-test.h(59) : warning C4305: 'initialisation' : troncation de 'double' à 'const float'
+Cxfel.cpp(181) : warning C4101: 'str' : variable locale non référencée
+Cxfel.cpp(439) : warning C4303: Cast de style C de 'CGroupBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(499) : warning C4303: Cast de style C de 'CGroupBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(629) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(639) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(646) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(719) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(722) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(725) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(728) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(732) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(735) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(738) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(742) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(745) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(748) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(752) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(755) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(758) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(761) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(765) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(768) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(771) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(775) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(778) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(781) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(785) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(792) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(795) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(798) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(801) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(804) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(810) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(817) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(828) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(833) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(877) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(897) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(906) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(917) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(926) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(932) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(939) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(946) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(953) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(960) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(967) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(972) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1050) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1068) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1086) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1134) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1150) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1167) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1184) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1201) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1218) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1235) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1326) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1348) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1370) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1392) : warning C4303: Cast de style C de 'CLabelTextBox __gc *' vers 'System::Object __gc *' est désapprouvé, utilisez static_cast, __try_cast ou dynamic_cast
+Cxfel.cpp(1836) : warning C4244: 'initialisation' : conversion de 'double' en 'float', perte possible de données
+c:\documents and settings\administrateur\mes documents\xfel\xsuclwf\cxfel.cpp(227) : warning C4700: variable locale 'rc' utilisée sans avoir été initialisée
+c:\documents and settings\administrateur\mes documents\xfel\xsuclwf\cxfel.cpp(278) : warning C4700: variable locale 'rc' utilisée sans avoir été initialisée
+c:\documents and settings\administrateur\mes documents\xfel\xsuclwf\cxfel.cpp(329) : warning C4700: variable locale 'rc' utilisée sans avoir été initialisée
+c:\documents and settings\administrateur\mes documents\xfel\xsuclwf\cxfel.cpp(380) : warning C4700: variable locale 'rc' utilisée sans avoir été initialisée
+Édition des liens en cours...
 LINK : warning LNK4075: ' /EDITANDCONTINUE' ignoré à cause de la spécification '/INCREMENTAL:NO'
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
 Résultats
 </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>
-Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\marrucho.LAL\Bureau\xfel-SI\xsucLWF\Release\BuildLog.htm"
-cxfel - 0 erreur(s), 1 avertissement(s)</pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
+Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\Administrateur\Mes documents\xfel\xsucLWF\Release\BuildLog.htm"
+cxfel - 0 erreur(s), 69 avertissement(s)</pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
 </font></table></body></html>
Index: /trunk/XSUCLWF/condip.txt
===================================================================
--- /trunk/XSUCLWF/condip.txt	(revision 17)
+++ /trunk/XSUCLWF/condip.txt	(revision 18)
@@ -1,1 +1,1 @@
-134.158.76.151
+192.168.0.15
Index: /trunk/XSUCLWF/cxfel.h
===================================================================
--- /trunk/XSUCLWF/cxfel.h	(revision 17)
+++ /trunk/XSUCLWF/cxfel.h	(revision 18)
@@ -37,4 +37,8 @@
 #define MODBUS_SIZE_READ_HOLDINGS_LOW	82
 #define MODBUS_SIZE_READ_HOLDINGS_HIGH	125
+
+#define MODBUS_BASEADR_COILS			3000
+#define MODBUS_BASEADR_LOW_HOLDINGS		2000
+#define MODBUS_BASEADR_HIGH_HOLDINGS	2082
 
 __gc public class CGroupBox : public Form {
@@ -55,4 +59,6 @@
 public:
 	CGroupBox(String* gname, int posX, int posY);
+	//CGROUPBox(uint16_t *tab_rp_registers_low,uint16_t *tab_rp_registers_high);
+
 	GroupBox* GetGroupBox();
 	Label* GetLabelNumP();
@@ -69,4 +75,5 @@
 public:
  	CDialogConfig();
+	CDialogConfig(uint16_t *tab_rp_registers_low,uint16_t *tab_rp_registers_high);
 
 protected ://privé sauf au niveau des classes dérivées
Index: /trunk/XSUCLWF/cxfelmain.cpp
===================================================================
--- /trunk/XSUCLWF/cxfelmain.cpp	(revision 17)
+++ /trunk/XSUCLWF/cxfelmain.cpp	(revision 18)
@@ -22,5 +22,5 @@
 #endif
 {
-    Console::WriteLine(S"Formulaire Client");
+    Console::WriteLine(S"Client XFEL");
 	
     // Crée le formulaire.
