begin process at 2012 05 28 16:09:32
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Affichage de texte sur Zone de Control sous conditions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Affichage de texte sur Zone de Control sous conditions

dimanche 1 octobre 2006 à 17:28:55 | Affichage de texte sur Zone de Control sous conditions

develdelphi

Bonjour,

Voila j'ai un grand programme Visual C++ qui au demarrage fait des initialisations sur differents parametres.

J'ai donc un Dialog  (IDD_SYSTEMEINITIALISATION) avec une barre de progression et des zones IDC_CHECK (check box control)  a cocher si sur ces zones il  survient des problemes d'initialisations. Bien sur lors de l'initialisation cette classe CViewSystemeInitialisation fait appel a d'autres classes et fonctions  comme ceci:
                                  ...............
          void CViewSystemeInitialisation::OnTimer(UINT nIDEvent)
{
    // TODO: Add your message handler code here and/or call default
    unsigned int uiSecurity;
    uiSecurity=m_Init.Get_Params_Systeme_Config_Securtiy();
    // Vérifie le mode de fonctionnement
    if(nIDEvent==ID_CLOCK_SAS)
    {
        KillTimer(ID_CLOCK_SAS);
        CMyPROGDoc    *pDoc= (CMyPROGDoc *) GetDocument();           
        UpdateData(true);

           if(m_Init.Get_Params_General_ModeProcess
                                     ()==PROCESS_SYSTEME_AUTOMATIQUE)

        {
            if(uiSecurity& LEVEL_1)
            {
                if(pDoc->isProblemeCam())
                    m_bPblCam=true;
                else
                    m_bPblCam=false;

                if(pDoc->isIniteCam())
                    m_bCam=true;
                else
                    m_bCam=false;
            }
            else
            {
                m_bPblSCam=false;
                m_bCam=true;
            }
            if(pDoc->isProblemeModbus())
                m_bPblModbus=true;
            else
                m_bPblModbus=false;
            if(pDoc->isInitModbus())
                m_bModbus=true;
            else
                m_bModbus=false;
        }
       
        UpdateData(false);
        SetTimer(ID_CLOCK_SAS,500,NULL);
    }
           .................

         
Il faut donc que je cree dans ma 'Dialog' un control 'Text Control'  'Edit Control' afin
de recuperer les erreurs lies pour chaques parametres. Mais tout d'abord
 malheureusement le pointeur pDoc (qui instancie les threads selon le process) ne donne pas les details, en fait il regarde si tout l'objet existe si oui seulement envoi le statut de la thread concernant cet objet (false ou true).

Alors je suis obliger de passer par les initialisations des objets meme donc par exemple pour celle de la Cam je devrais voir dans sa classe (CCam) sa fonction Init()

      .................................

int CCam::Init()
{
    try
    {
        FSRetVal tmp;

        CInit m_Init;
        string strFile((LPCTSTR)m_Init.Get_Params_Cam_Config_FileInit());
        tmp = m_pCam->SetConfigFilePath((char*)strFile.c_str());

        if(tmp!= FS_SUCCESS)
        {   
            TRACE("SetConfigFilePath failed\n");
            return 1;                                                     // je laisse return 1;
        }
       
       
        tmp = m_pCam->Initialize();

        if(tmp!= FS_SUCCESS)
        {   
            m_pCam->FreeMem();
            TRACE("Initialize NOK\n");
            TRACE("Explication %s\n",FSRetVal_Names[tmp]);
            return 1;                                                      // je mets return 2;
        }

        char*    p_cdllver;
        p_cdllver=m_pCam->GetDLLVersion();
        m_Init.Set_Params_Cam_Config_Dllversion(p_cdllver);
        TRACE("Init OK\n");
        return 0;
    }
    catch(...)
    {
        TRACE("Init NOK\n");
        return 1;                                                            // je met return 3;
    }
}


Cette fonction renvoi 0 si l'initialisation est OK.

Ainsi je pense que j'appelerais cette fonction Init de la classe CCam et je  ferais un switch et afficherais un texte sur le 'Dialog' selon le retour de la fonction comme ceci dans la fonction   void CViewSystemeInitialisation::OnTimer(UINT nIDEvent) :

........
if(pDoc->isProblemeCam())
                switch(
int CCam::Init())
                case 1: 

                          m_bPblCam=true;
                     
SetDlgCtrlID.("SetConfigFilePath failed\n") ; /// je sais pas quel fonction MFC?
                case 2: 
                         
m_bPblCam=true;
                          SetDlgCtrlID.("Initialize NOK\n");
                         
SetDlgCtrlID.("Explication %s\n",FSRetVal_Names[tmp]);  //  ???
                
case 3: 
                           m_bPblCam=true;
                          
SetDlgCtrlID.("Init NOK\n");  /// je sa9is quel fonction MFC?
             else
                    m_bPblCam=false;

Voila est-ce que ca devrait aller comme ca pour l'idee ?
Et alors pour mettre les textes dans les controles dois je faire par exemple comme ceci:

SetDlgIDC_STATIC1.("Init NOK\n"); 

Dois je pas preciser dans l'instruction qu'il s'agit du Dialog general IDD_SYSTEMEINITIALISATION
Et si je veux formatter ma presentation, pour le saut de lignes le \n  derriere le NOK suffirait il?

Merci



DevelDelphi :)


Cette discussion est classée dans : fonction, true, false, init, pdoc


Répondre à ce message

Sujets en rapport avec ce message

problème avec la structure switch [ par speeddo ] Bonjour, J'utilise dans mon programme une structure switch case, et ça ne marche pas. J'ai donc essayé le même programme avec des "if", et là ça fonct Par défaut Fonction de conversion d'un type specifique vers un int en retour de fonction [ par develdelphi ] Bonjour, Voici mon problème; en fait j'ai un grand programme relatif a un système de detections.Ce programme a plusieurs threads qui tournent ensemble converion d'un type specifique vers un entier lors du retour d'une fonction [ par develdelphi ] Bonjour, Voila comme le titre le dit bien, je veux convertir un type donne ( FSRetval ) vers un type ( int ) lors du retour vers la fonction. Voici l Port COM : ReadFile == TRUE et nbreadbyte = 0 ??? BUG? [ par Coolpix08 ] Bonsoir à tous!!!    Je crois que je viens de découvrir un bug de la fonction ReadFile...........enfin j'espere pas!!!!    Ca fait lontemps que j'util la fonction InvalidateRect() [ par dyroj ] bonsoir, je voudrais savoir exactement la difference entre :-InvalidateRect(hwnd, NULL, FALSE);-InvalidateRect(hwnd, NULL, TRUE);-InvalidateRect(hwn Passage d'un code écrit en c++ à un code en c [ par aymen87 ] Bonjour à tous j'ai téléchargé un code pour cryptage qui fonctionne à merveille sous vs6 (avec l'extension .cpp). Mais pour l'intégrer dans mon appli Comment associer la progression d'un téléchargement (URLDownloadToFile) ac une ProgressBar [ par lol55 ] Bonjour à tous, Je cherche à associer l'avancement d'un téléchargement exécuté grâce à la fonction [i]URLDownloadToFile[/i] à une barre de progressio information 2 [ par marooh ] bonjour, j'utilise dans la fonction main argv et argc.je veux utilisé les argv entrés dans une fonction comment pourrai-je le faire??? example: int ma Fonction en c qui copie un répertoire dans un autre [ par AmineTheGreat ] Bonjour, Je voudrais savoir s'il y a une fonction en c qui copie tous les contenu d'un répertoire dans un autre. NB: Je travaille en langage c sous la


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 1,139 sec (3)

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