begin process at 2012 02 12 10:24:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > ELHMAER'S THREADS CREATOR.

ELHMAER'S THREADS CREATOR.


 Information sur la source

Note :
Aucune note
Catégorie :Système Classé sous :elhamer, temary, finmars Niveau :Débutant Date de création :06/04/2008 Date de mise à jour :06/04/2008 21:39:19 Vu / téléchargé :2 545 / 66

Auteur : temary

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Ce programme permet de créer deux Sous processus differents;"addition" & "soustraction" entre deux nombres que vous désigne.


p.s: désolais; j'ai mis les commentaires en anglais.

Source

  • //---------------------------------------------------------------------------
  • #include <vcl.h>
  • #pragma hdrstop
  • #include "Ichi.h"
  • #include "Ni.h"
  • //---------------------------------------------------------------------------
  • #include "MyProject1.h"
  • #include "MyProject2.h"
  • #include "MyProject3.h"
  • //---------------------------------------------------------------------------
  • #pragma package(smart_init)
  • #pragma resource "*.dfm"
  • TForm2 *Form2;
  • Thread1 *leftTHR;
  • Thread2 *rightTHR;
  • //---------------------------------------------------------------------------
  • int StopedR=0,StopedL=0,do_it_again=0;
  • //---------------------------------------------------------------------------
  • __fastcall TForm2::TForm2(TComponent* Owner)
  • : TForm(Owner)
  • {
  • Label5->Caption="Addition";
  • Label6->Caption="Subtraction";
  • }
  • //---------------------------------------------------------------------------
  • void __fastcall TForm2::Button1Click(TObject *Sender)
  • {
  • Form2->Hide();
  • Form3->Show();
  • }
  • //---------------------------------------------------------------------------
  • //int p;
  • void __fastcall TForm2::Timer1Timer(TObject *Sender)
  • {
  • Label2->Caption="This programme couldn't work ";
  • Label3->Caption="both in a MONO-CPU computer ";
  • Label4->Caption="or in more than two CPU-computer!";
  • /*p++;
  • Form2->ClientHeight=10*p;
  • Form2->ClientWidth=10*p;
  • if((Form2->ClientWidth==5)&&(Form2->ClientHeight==5))
  • Timer1->Enabled=false;*/
  • }
  • //---------------------------------------------------------------------------
  • void __fastcall TForm2::Button2Click(TObject *Sender)
  • {
  • if((Form2->Edit1->Text==1)&&(Form2->Edit2->Text==1)&&(do_it_again==0))
  • {
  • MessageBox(NULL,"You Didn't Give Any Number!",NULL, MB_OK|MB_ICONSTOP);
  • ShowMessage("Anyway the '1' will be the default number.");
  • do_it_again=1;
  • }
  • leftTHR = new Thread1(false);
  • rightTHR = new Thread2(false);
  • // To Resume the two threads from the begining
  • // we should write:
  • // leftTHR = new Thread1(true);
  • // rightTHR = new Thread2(true);
  • }
  • //---------------------------------------------------------------------------
  • void __fastcall TForm2::N1Click(TObject *Sender)
  • {
  • Form3->Show();
  • Form2->Hide();
  • }
  • //---------------------------------------------------------------------------
  • void __fastcall TForm2::Button4Click(TObject *Sender)
  • {
  • if(StopedR==0)
  • {
  • rightTHR->Suspend();//Thread is stoped now.
  • Button4->Caption="Resume";
  • StopedR=1;
  • }
  • else
  • {
  • rightTHR->Resume();
  • Button4->Caption="Suspend";
  • //Resume means run again the thread after Suspension.
  • StopedR=0;
  • }
  • }
  • //---------------------------------------------------------------------------
  • void __fastcall TForm2::Button3Click(TObject *Sender)
  • {
  • if(StopedL==0)
  • {
  • leftTHR->Suspend();//Thread is stoped now.
  • Button3->Caption="Resume";
  • StopedL=1;
  • }
  • else
  • {
  • leftTHR->Resume();
  • Button3->Caption="Suspend";
  • //Resume means run again the thread after Suspension.
  • StopedL=0;
  • }
  • }
  • //---------------------------------------------------------------------------
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Ichi.h"
#include "Ni.h"
//---------------------------------------------------------------------------
#include "MyProject1.h"
#include "MyProject2.h"
#include "MyProject3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
Thread1 *leftTHR;
Thread2 *rightTHR;
//---------------------------------------------------------------------------
int StopedR=0,StopedL=0,do_it_again=0;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
        : TForm(Owner)
{
Label5->Caption="Addition";
Label6->Caption="Subtraction";
}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button1Click(TObject *Sender)
{
Form2->Hide();
Form3->Show();

}
//---------------------------------------------------------------------------
//int p;
void __fastcall TForm2::Timer1Timer(TObject *Sender)
{
Label2->Caption="This programme couldn't work ";
Label3->Caption="both in a MONO-CPU computer ";
Label4->Caption="or in more than two CPU-computer!";

/*p++;
Form2->ClientHeight=10*p;
Form2->ClientWidth=10*p;
if((Form2->ClientWidth==5)&&(Form2->ClientHeight==5))
   Timer1->Enabled=false;*/


}
//---------------------------------------------------------------------------

void __fastcall TForm2::Button2Click(TObject *Sender)
{
if((Form2->Edit1->Text==1)&&(Form2->Edit2->Text==1)&&(do_it_again==0))
{
MessageBox(NULL,"You Didn't Give Any Number!",NULL, MB_OK|MB_ICONSTOP);
ShowMessage("Anyway the '1' will be the default number.");
do_it_again=1;
}
     leftTHR = new Thread1(false);
     rightTHR = new Thread2(false);
     // To Resume the two threads from the begining
    //  we should write:
   //   leftTHR = new Thread1(true);
  //    rightTHR = new Thread2(true);


}
//---------------------------------------------------------------------------
void __fastcall TForm2::N1Click(TObject *Sender)
{
Form3->Show();
Form2->Hide();
}
//---------------------------------------------------------------------------



void __fastcall TForm2::Button4Click(TObject *Sender)
{
if(StopedR==0)
{
rightTHR->Suspend();//Thread is stoped now.
Button4->Caption="Resume";
StopedR=1;
}
else
{
rightTHR->Resume();
Button4->Caption="Suspend";
//Resume means run again the thread after Suspension.
StopedR=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button3Click(TObject *Sender)
{
if(StopedL==0)
{
leftTHR->Suspend();//Thread is stoped now.
Button3->Caption="Resume";
StopedL=1;
}
else
{
leftTHR->Resume();
Button3->Caption="Suspend";
//Resume means run again the thread after Suspension.
StopedL=0;
}
}
//---------------------------------------------------------------------------


 Conclusion

Voilà C mon premier Project Ici, si vous avez des quetions ou des commantaires..je suis là.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   yushi_ok
    • ElhamerThreadCreator.~bprTélécharger ce fichier [Réservé aux membres club]4 469 octets
    • ElhamerThreadCreator.bprTélécharger ce fichier [Réservé aux membres club]4 469 octets
    • ElhamerThreadCreator.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 284 octets
    • ElhamerThreadCreator.objTélécharger ce fichier [Réservé aux membres club]18 106 octets
    • ElhamerThreadCreator.resTélécharger ce fichier [Réservé aux membres club]876 octets
    • ElhamerThreadCreator.tdsTélécharger ce fichier [Réservé aux membres club]2 031 616 octets
    • Ichi.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 217 octets
    • Ichi.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier658 octets
    • Ichi.objTélécharger ce fichier [Réservé aux membres club]24 721 octets
    • MyProject.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier7 556 octets
    • MyProject.dfmTélécharger ce fichier [Réservé aux membres club]5 007 octets
    • MyProject.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 663 octets
    • MyProject1.~cppTélécharger ce fichier [Réservé aux membres club]7 921 octets
    • MyProject1.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • MyProject1.~dfmTélécharger ce fichier [Réservé aux membres club]5 715 octets
    • MyProject1.~hTélécharger ce fichier [Réservé aux membres club]1 796 octets
    • MyProject1.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier7 921 octets
    • MyProject1.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • MyProject1.dfmTélécharger ce fichier [Réservé aux membres club]5 717 octets
    • MyProject1.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 796 octets
    • MyProject1.objTélécharger ce fichier [Réservé aux membres club]50 891 octets
    • MyProject2.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 069 octets
    • MyProject2.dfmTélécharger ce fichier [Réservé aux membres club]117 524 octets
    • MyProject2.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 766 octets
    • MyProject2.objTélécharger ce fichier [Réservé aux membres club]48 653 octets
    • MyProject3.~dfmTélécharger ce fichier [Réservé aux membres club]82 574 octets
    • MyProject3.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier776 octets
    • MyProject3.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • MyProject3.dfmTélécharger ce fichier [Réservé aux membres club]82 569 octets
    • MyProject3.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 141 octets
    • MyProject3.objTélécharger ce fichier [Réservé aux membres club]41 318 octets
    • Ni.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 071 octets
    • Ni.hTélécharger ce fichier [Réservé aux membres club]Voir ce fichier654 octets
    • Ni.objTélécharger ce fichier [Réservé aux membres club]24 439 octets
    • Project2.cppTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 284 octets

Télécharger le zip


 Historique

06 avril 2008 16:37:47 :
la conclusion

 Sources du même auteur

Source avec Zip Source .NET (Dotnet) DÉRIVÉ D'1 POLYNOME SIMPLE

 Sources de la même categorie

Source avec Zip Source avec une capture UNE LISTE HÉTÉROGÈNE DOUBLEMENT CHAINÉE par pgl10
Source avec Zip Source avec une capture POUR AFFICHER LES CARACTÈRES ACCENTUÉS SOUS WINDOWS EN MODE ... par pgl10
Source avec Zip PETITE CLASSE DE GESTION DES PROCESSUS SOUS WINDOWS par wisar
Source avec Zip KEYLOGGER AVEC NOM DU PROCESSUS ET DE LA FENETRE QUI A LE FO... par wisar
Source avec Zip LINUX USB BOOT LEGER par patatalo

Commentaires et avis

Commentaire de BruNews le 06/04/2008 19:18:24 administrateur CS

La source se résume à:
leftTHR = new Thread1(false);
leftTHR->Suspend();
leftTHR->Resume();

bof bof l'utilité didactique.

Commentaire de temary le 07/04/2008 10:17:39

ce n'est rien q'une introduction pour ceux qui ne savent pas  créer des Threads sous builder ..
alors dit, si j'ai ajouté la priorité;est ce que ça va s'améliorer ??

Commentaire de BruNews le 07/04/2008 10:31:18 administrateur CS

Un ajout améliorera certainement l'intérêt de cette source.
Merci d'avoir réagi.

Commentaire de temary le 07/04/2008 11:08:18

petite question; est ce que tu considére la priorité comme  étant une chose importante !!

Commentaire de BruNews le 07/04/2008 11:16:28 administrateur CS

Ce n'est pas obligatoire et il vaut mieux laisser l'OS planifier les threads dans la plupart des cas, cependant la planification zxplicite peut être utile.
Tout dépend de ce que doit faire le prog, on ne peut jamais généraliser.

Commentaire de temary le 07/04/2008 13:52:03

en tous les cas merci pour votre commentaires,ça ;m'a fait plaisir
merci encore.

Commentaire de omnia le 09/04/2008 17:48:08

Salut,  

ce qui serait bien c'est aussi de ne pas poster les .obj et fichiers temporaires des projets :)

enjoy coding

Commentaire de temary le 17/04/2008 13:52:56

aah, j'ai pas fait attention

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales