Programmation propre avec VC++

cipher16 Messages postés 3 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 16 avril 2006 - 16 avril 2006 à 07:20
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 - 16 avril 2006 à 20:16
Bonjour,
j'ai débuté la prgrammation avec VC++ ... mon logiciel fonctionne, et tout et tout. Mais je pose une question : comment faire pour programmer proprement, car j'ai tout programmer dans le fichier form1.h. J'aimerai savoir comment faire pour faire en sorte que les actions utilise des fonctions programmé dans le fichier main.cpp.

Le voici :
/*J'ai enlevé une bonne partie du fichier, pour ne garder que ce que j'ai programmé dans le form.h
*/
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
label5->Text=textBox1->Text;
label6->Text=textBox1->Text;
label8->Text=textBox1->Text;
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//label2->Text=textBox1->Text;
int sum;
//label13->Text=(ligne13->Text+ligne23->Text+textBox3->Text);
if(ligne13->Text==""){
ligne13->Text="0";
}
if(ligne14->Text==""){
ligne14->Text="0";
}
if(ligne23->Text==""){
ligne23->Text="0";
}
if(ligne24->Text==""){
ligne24->Text="0";
}
if(textBox4->Text==""){
textBox4->Text="0";
}
if(textBox5->Text==""){
textBox5->Text="0";
}
sum=Convert::ToInt32(ligne13->Text)+Convert::ToInt32(ligne23->Text)+Convert::ToInt32(textBox4->Text);
label13->Text=sum.ToString();
int sum2;
sum2=Convert::ToInt32(ligne14->Text)+Convert::ToInt32(ligne24->Text)+Convert::ToInt32(textBox5->Text);
//int sum2=Convert::ToInt32(ligne14->Text)+Convert::ToInt32(ligne24->Text)+Convert::ToInt32(textBox5->Text);
label15->Text=sum2.ToString();
int sum3;
sum3=sum-sum2;
label14->Text=sum3.ToString();
if(sum3>0){
label2->Text="Tarlouse revise";
}
if(sum3<0){
label2->Text="Tarlouse revise";
}
if(sum3=0){
label2->Text=";) :)";
}
/*if(sum>sum2){
label14->Text=":(";
}
if(sum<sum2){
label14->Text=":(";
}
if(sum=sum2){
label14->Text="0";
}*/
//int prem=ligne13->Text;
//int deux=ligne23->Text;
//int troi=textBox3->Text;
//label13->Text=prem+deux+troi;
if(ligne11->Text!=""){
if(ligne13->Text==""){
label4->Text="veuillez saisir correctement votre Compta!!\nLigne 1 erronnée";
}
else{
label4->Text="bravo, tu sais ce que c qu'enregistré!!\nLigne 1 OK";
}
}
if(ligne21->Text!=""){
if(ligne23->Text==""){
label3->Text="veuillez saisir correctement votre Compta!!\nLigne 2 erronnée";
}
else{
label3->Text="bravo, tu sais ce que c qu'enregistré!!\nLigne 2 OK";
}
}
if(ligne12->Text!=""){
if(ligne14->Text==""){
label4->Text="veuillez saisir correctement votre Compta!!\nLigne 1 erronnée";
}
else{
label4->Text="bravo, tu sais ce que c qu'enregistré!!\nLigne 1 OK";
}
}
if(ligne22->Text!=""){
if(ligne24->Text==""){
label3->Text="veuillez saisir correctement votre Compta!!\nLigne 2 erronnée";
}
else{
label3->Text="bravo, tu sais ce que c qu'enregistré!!\nLigne 2 OK";
}
}
if(textBox2->Text!=""){
if(textBox4->Text==""){
label7->Text="veuillez saisir correctement votre Compta!!\nLigne 2 erronnée";
}
else{
label7->Text="bravo, tu sais ce que c qu'enregistré!!\nLigne 2 OK";
}
}
if(textBox1->Text!=""){
if(textBox3->Text==""){
label7->Text="veuillez saisir correctement votre Compta!!\nLigne 3 erronnée";
}
else{
label7->Text="bravo, tu sais ce que c qu'enregistré!!\nLigne 3 OK";
}
}

}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
Application::Exit();
}
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
label11->Text=dateTimePicker1->Text;
label12->Text=dateTimePicker1->Text;
label10->Text=dateTimePicker1->Text;
}
private: System::Void quitterToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {
Application::Exit();
}
private: System::Void dateTimePicker1_ValueChanged(System::Object^ sender, System::EventArgs^ e) {
label11->Text=dateTimePicker1->Text;
label12->Text=dateTimePicker1->Text;
label10->Text=dateTimePicker1->Text;
}
private: System::Void groupBox2_Enter(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox4_TextChanged(System::Object^ sender, System::EventArgs^ e) {

}
private: System::Void unDocumentExistantToolStripMenuItem_Click(System::Object^ sender, System::EventArgs^ e) {

}
};
}

C'est une partie d'un logiciel de compta .. c'est une petite partie d'un logiciel de compta, je sais qu'il est possible de programmer plus proprement, et j'aurai voulu savoir comment faire pour que lorsque je fait une action, celle-ce ne soit pas dans le .h mais dans le .cpp

Je sais pas si je me suis bien exprimé :s
merci ;)

6 réponses

DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
16 avril 2006 à 10:31
Pour commencer, si tu veux programmer proprement et correctement, laisse tomber les MFC.
Ca ne t'apprend rien et tu passeras un temps fou a poser des questions pour tes problèmes.
Sur ce forum, très peu de gens maitrise les MFC ; ne t'étonnes pas si personne ne répond a ton message.

Ptit conseil : Mets toi a la prgrammation pure en C/C++, sans utiliser ce fauteuil roulant que represente la MFC

Shell
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 avril 2006 à 10:44
On peut reprocher beaucoup de choses aux MFC mais a mon avis pas de permettre une programmation propre. Un prog en MFC est bien plus lisible d'un prog Win32 normal. Déja le simple fait de séparer les choses dans des classes ca donné un code plus facile a comprendre. Et le fait que les fennêtres soient des objets (a lieu de handles), ca permet un programmation plus simple.
Par contre j'ai bien peur que le code au dessus soit pas du MFC (quel est cet horrible ^?) C'est pas du C++ managé plutot?
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
16 avril 2006 à 11:40
Déjà mettre un vrai nom aux variables (label2, sum3... c'est un peu vague).
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
16 avril 2006 à 12:48
Pour éviter tous ces
if(ligne14->Text==""){
ligne14->Text="0";
}

tu fais un tableau de (type de ligne14)
comme ca tu fais une boucle sur le tableau

Et tu peux faire pareil avec d'autres traitements
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
16 avril 2006 à 20:08
vecchio56> En effet ca semble etre du C# ou autre chichi du genre.

vecchio56 bis> Coder en utilisant des class est le plus propre a faire. Cela n'est pas ommis par le simple C/C++.

Shell
0
nightlord666 Messages postés 746 Date d'inscription vendredi 17 juin 2005 Statut Membre Dernière intervention 23 mai 2007 10
16 avril 2006 à 20:16
Je confirme, c'est bien du C++ managed (beuuurkkk !)
0
Rejoignez-nous