IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Activer et desactiver une fonction


Sujet :

C++Builder

  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par d�faut Activer et desactiver une fonction
    Bonjour
    j'ai une fonction dans mon programme qui m�emp�che de supprimer des dossier
    comment l'activer et la desactiver ?

    voici la fonction
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    void scan_dir3(char Rep[], TTreeNode *p)
    {
    	char CopieRep[1000];
    	lstrcpy(CopieRep, Rep);
    	WIN32_FIND_DATA fd;
            String asFic;
            String asFic2;
    	char Nom[1000]="";
            int z;
    	lstrcpy(Nom, CopieRep);
            lstrcat(Nom, "*.*");
    	HANDLE h = FindFirstFile(Nom, &fd);
            bool res = true;
    	bool FirstFile=false;
     
    	if (h!=INVALID_HANDLE_VALUE)
            {
    			while (res && !Stopper)
                            {
                                     // Routine de memorisation des fichiers + chemin
    				asFic2=(fd.cFileName);
                                     asFic=(Nom);
                                     if  (asFic2!="." )
                                     {
    						if (asFic2!="..")
                                                    {
                                                            asFic=asFic.SubString(1, asFic.Length()-3);// Supprime *.*
                                                            if (asFic2.Pos("*.*")==0)
                                                            {
    								if (imgPath == "")
                                                                     {
                                                                           tp=(asFic+asFic2);
                                                                           fil=ExtractFileName(tp);
    									if (fil==VarDansBoucleDeRecherche)
    									{
    										imgPath=ExtractFilePath(tp);
                                                                             }
                                                                       }
                                                                 }
    							}
                                               }
                                               asFic="";
                                               asFic2="";
    					   if (lstrcmp(fd.cFileName, "..") && lstrcmp(fd.cFileName, "."))
                                               {
                                                    if (fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
                                                    {// Traitement de répertoire
    							nbRep++;
                                                            char N[1000];
                                                            lstrcpy(N, CopieRep); lstrcat(N, fd.cFileName);
                                                            lstrcat(N, "\\");
    						        if (FirstFile)
                                                            {
                                                                  FirstFile = false;
                                                             }
    							 else
                                                             scan_dir3(N, p);
                                                    } 
                                                    else
    						{
                                                           nbFiles++;
                                                           if (FirstFile)
                                                           {
    					                    FirstFile = false;
                                                            }
                                                      }
                                           }
    						res = FindNextFile(h, &fd);
                              }
               }
    }
    Merci

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut
    Salut, tu ajoutes une condition � l'appelle de la fonction?

  3. #3
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par d�faut
    Bonsoir crayon
    non je l'appelle juste pour rechercher un fichier

    j'ai essay� p->delete() de TTreeNode *p mais il plante le proc

  4. #4
    Membre �clair�
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Consultant technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par d�faut
    Bonsoir,

    Le probl�me doit provenir d'un pointeur sur un fichier qui a permis de l'ouvrir et qui n'a pas �t� referm�.
    Le code semble vraiment mal optimis� et utiliser un algorithme compliquer pour faire pas grand chose.

    Par exemple, au lieu d'essayer d'enlever l'extension, tu peux utiliser la fonction ChangeFileExt(NomFichier,"").

    Essaie d'activer CodeGuard pour d�tecter le probl�me ou r��crit ta fonction.

    La FAQ a des exemples de manipulation de fichiers et r�pertoires.
    http://cpp.developpez.com/faq/bcb/?p...n-des-fichiers

    De plus, ton param�tre TTreeNode *p ne semble pas utilis�. C'est normal ?
    Que veux-tu faire exactement ?

    Bonne soir�e.

  5. #5
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par d�faut
    merci pour la r�ponse
    hier soir j'ai r�solu mon probl�me en mettant FindClose(h); en fin de fonction et �� a l'air de fonctionner.

  6. #6
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2013
    Messages
    17
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2013
    Messages : 17
    Par d�faut
    Merci
    j'essaye de faire une fonction r�cursive qui scan un r�pertoire et ses sous dossiers pour voir si un fichier est pr�sent

  7. #7
    Membre �clair�
    Homme Profil pro
    Consultant technique
    Inscrit en
    Juillet 2002
    Messages
    519
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Consultant technique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 519
    Par d�faut
    Je pense que la FAQ propose directement la fonction r�cursive ce que tu veux faire.
    C'est plus court, plus facile � maintenir et �a devrait �tre plus rapide. Il ne reste qu'� g�rer l'arr�t d�s que le programme trouve un fichier.

    http://cpp.developpez.com/faq/bcb/?p...iere-recurcive

Discussions similaires

  1. R�ponses: 3
    Dernier message: 10/06/2011, 22h08
  2. activer et desactiver une aide dans tout un site
    Par trenkwill dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 25/03/2009, 19h40
  3. [SQL] comment "desactiver" une fonction php dans une page?
    Par horas dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 27/05/2007, 15h04
  4. activer une fonction d'une page contenue dans une popup.
    Par manutudescends dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 16/08/2006, 14h32
  5. Activer/Desactiver une connexion au r�seau local
    Par Yodagobah dans le forum MFC
    R�ponses: 7
    Dernier message: 05/01/2005, 17h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo