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 :

Comment enlevé le .exe a un nom


Sujet :

C++Builder

  1. #1
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut Comment enlevé le .exe a un nom
    Bonjour
    Je charge un ComboBox d'une liste de noms mais ces noms garde l'extension .exe et je ne veut pas du .exe, j'ai alors essayer de l'enlever avec -ExtractFileExt a ExtractFileName mais ca marche pas ((Erreur))

    Il y a il un moyen d'avoir ce nom sans sont extension
    Voici nom code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     case 1:
     if(ComboBox1->Items->Strings[1] <= 0)//1
       {
       OpenDialog2->Execute();
       logregcapt->WriteString("CapturicoItems1", OpenDialog2->FileName);
       logregcapt->WriteString("NameItems1", ExtractFileName(OpenDialog2->FileName));
       ComboBox1->Items->Strings[1] = logregcapt->ReadString("NameItems1");
       }
     else if(ComboBox1->Items->Strings[1] >= 0)
       {
       Label1->Caption = "blabla";
       }
     break;
    Merci et ++A

  2. #2
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Janvier 2004
    Messages : 48
    Par défaut
    oupss désoler j'ai cru que tu voulais sa en basic, j'ai pris les derniers messages sans verifier le forum désolé.

  3. #3
    Membre éprouvé
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Par défaut
    Bonsoir,
    Regardes du côté du SubString(...)


    //edit:
    Le ReadString(...) vient d'un TRegistry ?...
    De toute façon, cela doit renvoyer dans tout les cas un AnsiString ou un String, ce qui te permet d'essayer qqchose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String S = logregcapt->ReadString("NameItems1").SubString(0, logregcapt->ReadString("NameItems1").Lenght() );
    ComboBox1->Items->Strings[1] = S;

  4. #4
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    tu dois passer par une varaible string je pense...
    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
     
    case 1:
     if(ComboBox1->Items->Strings[1] <= 0)//1
       {
       string temp;
       OpenDialog2->Execute();
       temp = ExtractFileName(OpenDialog2->FileName);
       temp = temp.substr(0, temp.Lenght - 4);
       logregcapt->WriteString("CapturicoItems1", OpenDialog2->FileName);
       logregcapt->WriteString("NameItems1", temp));
       ComboBox1->Items->Strings[1] = logregcapt->ReadString("NameItems1");
       }
     else if(ComboBox1->Items->Strings[1] >= 0)
       {
       Label1->Caption = "blabla";
       }
     break;
    sachant que dans "temp.Lenght - 4", le 4 coorespond a ".exe" et que si l'extension change, ce n'est plus bon...
    sinon, avec une recherche dans la chaine d'un ".", tu supprime tout ce qui suit le point mais pour ca, tu ne doit pas avoir de point dans le nom...

  5. #5
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par défaut
    bomjour ,
    la fonction ExtractFilePath ne produit pas d'erreur mais elle retourne l'extension du fichier ce que tu ne désire pas dans ton application

    une possibilité d'utilisation est la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AnsiString Tmp=ExtractFileName(dlgOpen1->FileName);// on extrait que le nom du fichier
    Tmp=Tmp.SubString(1,Tmp.Pos(".")-1); // extraction de l'extension
    cordialement
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  6. #6
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    Bonjour et MERCI a vous Tous pour vos reponses,
    J'imprime vos reponses et je me met au travail.

    Impecable, voici le code rectifier avec votres aide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     case 1:
     if(ComboBox1->Items->Strings[1] <= 0)//1
       {
       OpenDialog2->Execute();
       logregcapt->WriteString("CapturicoItems1", OpenDialog2->FileName);
       AnsiString Atempic1 = ExtractFileName(OpenDialog2->FileName);
       logregcapt->WriteString("NameItems1", Atempic1.SubString(0, Atempic1.Pos(".")-1));
       ComboBox1->Items->Strings[1] = logregcapt->ReadString("NameItems1");
       }
     else if(ComboBox1->Items->Strings[1] >= 0)
       {
       Label1->Caption = "1";
       }
     break;
    TRES GRAND MERCI et ++A

  7. #7
    Membre éprouvé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Par défaut
    Citation Envoyé par DjmSoftware
    bomjour ,
    la fonction ExtractFilePath ne produit pas d'erreur mais elle retourne l'extension du fichier ce que tu ne désire pas dans ton application

    une possibilité d'utilisation est la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AnsiString Tmp=ExtractFileName(dlgOpen1->FileName);// on extrait que le nom du fichier
    Tmp=Tmp.SubString(1,Tmp.Pos(".")-1); // extraction de l'extension
    cordialement
    bonjour. a mon gout, cette methode est a doubvle tranchant car, si un "." est present dans le nom du fichier, on perd tout ce quit suit...
    mieux vaut dans ce cas faire je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    AnsiString Tmp=ExtractFileName(dlgOpen1->FileName);// on extrait que le nom du fichier
    Tmp=Tmp.SubString(1,Tmp.Pos(".exe")-1); // extraction de l'extension

  8. #8
    Membre chevronné Avatar de winow
    Inscrit en
    Novembre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Novembre 2004
    Messages : 669
    Par défaut
    OK et MERCI Doudouallemand je rectifi tout de suite (.exe) a la place de (*.*)

    Encore un grand MERCI et ++A

  9. #9
    Membre expérimenté Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Par défaut
    Et:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i=0;i<ComboBox1->Items->Count;i++)
    ComboBox1->Items->Strings[i]=ComboBox1->Items->Strings[i].SetLength(ComboBox1->Items->Strings[i].Length()-ExtractFileExt(ComboBox1->Items->Strings[i]).Length());
    cela devrait aller non?
    cela dit il faut peut être un "+1" dans le SetLength pour le '.' je ne sais plus...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 83
    Par défaut
    encore mieux :



    AnsiString Tmp=ExtractFileName(dlgOpen1->FileName.SubString(0,dlgOpen1->FileName.AnsiPos(ExtractFileExt(dlgOpen1->FileName))-1) );

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 11/11/2013, 03h53
  2. [Débutant] Comment pour un programme connaitre son nom d'exe?
    Par JojoTotor dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/07/2011, 19h24
  3. comment enlever les accents dans un nom de fichiers ?
    Par clavier12AZQSWX dans le forum Administration système
    Réponses: 6
    Dernier message: 23/09/2009, 06h47
  4. Comment installer notre .exe sans installer CR ?
    Par speed034 dans le forum SAP Crystal Reports
    Réponses: 113
    Dernier message: 01/09/2008, 15h10
  5. Réponses: 10
    Dernier message: 31/07/2003, 00h35

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