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

Langage Delphi Discussion :

Comment récupérer le nom du fichier sans l'extension ?


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Points : 85
    Points
    85
    Par défaut Comment récupérer le nom du fichier sans l'extension ?
    il y a t'il une fct qui permette de recuperer le nom d'un fichier sans son extention ! ?

    exemple:

    fichierdeveloppez.com ----> fichierdeveloppez

    merci à celui qui me trouvera la solution sans passer par des boucles à la con

    amicalement

    sam
    N'oubliez pas de lire la FAQ avant de poser une question qui posséde déjà sa réponse !

  2. #2
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    Salut

    ExtractFileName -> fichier + extention
    ExtractFileExt -> extention
    Donc copy de filename - la taille de l'extention = le nom du fichier

    Ce qui nous donne: Copy(1,FileName,Length(FileName)-Length(Ext));

    Bon Dev @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Points : 85
    Points
    85
    Par défaut
    cool et en 10 minutes on me repond !

    merci à toi pour ton aide !

    amicalement,

    sam
    N'oubliez pas de lire la FAQ avant de poser une question qui posséde déjà sa réponse !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2002
    Messages : 19
    Points : 20
    Points
    20
    Par défaut
    Y il a encore plus simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var FileName : string;
                   res          : string;
      FileName := 'Monfichier.ext';
      res := changeFileExt(FileName,'');

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Points : 85
    Points
    85
    Par défaut
    je test !
    pas tous à la fois
    N'oubliez pas de lire la FAQ avant de poser une question qui posséde déjà sa réponse !

  6. #6
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    ChanFileExt est pas mal non plus.
    Je ne la connaissais pas !

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Points : 85
    Points
    85
    Par défaut
    c'est cool ça marche !

    merci encore à vous deux !
    N'oubliez pas de lire la FAQ avant de poser une question qui posséde déjà sa réponse !

  8. #8
    Membre à l'essai
    Inscrit en
    Septembre 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 15
    Points : 13
    Points
    13
    Par défaut
    Moi non plus je ne connaissais pas la fonction ChangeFileExt !
    Cool !!!

    On en apprend tous les jours !

  9. #9
    Membre du Club
    Inscrit en
    Août 2002
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 66
    Points : 63
    Points
    63
    Par défaut
    Pense à mettre un p'tit [clos] ou [résolu]

    Amicalement

  10. #10
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Encore une autre méthode (sans variable autre que le nom de fichier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetLength(MaVariable,length(MaVariable) - length(ExtractFileExt(MaVariable));
    En une ligne ! En fait, on défini la taille de la chaine de caratère à sa taille moins la taille de l'extension.

    Bon développement !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  11. #11
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Affichage image base de données
    J'écris une procédure qui pourra recuper le nom d'un fichier image bmp dans un champ BLOB d'une base de données créée. Mais j'ai des problèmes a l'affichage de l'image.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Var 
    SPath : String;
    With Table do
    begin
    //Récupération du nom du fichier
    Spath:=ExtractFilePath(Application.ExeName)+ FieldByName('Nom').AsString ;
    // sauvegarde du fichier
    TBlobField(FieldByName('Fichier')).SaveToFile(sPath);
    end; 
    Image1.Picture.LoadFromFile('sPath');
    Dans la procédure Fichier designe le nom du champ Blob et NOM designe le nom du champ image.

    J'ai le message suivant : le nom du format de l'image n'est pas spécifié.

    Fichier

  12. #12
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    yendre merci d'utiliser les balises codes.

    Pour info le tag je trouve en bas de la page de consultation des messages.

  13. #13
    Membre émérite
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 482
    Points : 2 733
    Points
    2 733
    Billets dans le blog
    10
    Par défaut
    Remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.LoadFromFile('sPath');
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.LoadFromFile(sPath);
    ou si ton champ "nom" ne contient pas d'extension et que ton fichier est de type "bmp"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Image1.Picture.LoadFromFile(sPath+'.bmp');

  14. #14
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 152
    Points
    10 152
    Par défaut
    Une autre à base de SetLength mais plus rapide (à l'exécution) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SetLength(MaVariable, LastDelimiter('.', MaVariable)-1);
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  15. #15
    Membre à l'essai
    Profil pro
    Personnel
    Inscrit en
    Novembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Personnel

    Informations forums :
    Inscription : Novembre 2006
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    pour YENDRE
    Assure toi que
    a) le SPath contient bien un "\" séparateur du Path et du Nom de fichier
    b) le Nom de fichier contient bien une Extension (genre .BMP , .JPG )
    Pour cela, rien ne vaux un bon débugging en tracant les variables locales (en subdivisant ton string) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Var 
    SPath , S1 , S2 : String;
    With Table do
    begin
    //Récupération du nom du fichier
    S1 := ExtractFilePath(Application.ExeName) ;
    S2 := FieldByName('Nom').AsString ;
    Spath:= S1 + S2 ;
    // sauvegarde du fichier
    TBlobField(FieldByName('Fichier')).SaveToFile(sPath);
    end; 
    Image1.Picture.LoadFromFile( SPath);  // une VARIABLE , pas un String !!!

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,
    la réponse à la question semble être résolu mais je ne vois pas du tout où je peux mettre les lignes de code proposées.
    Et oui ce n'est pas toujours facile d'être novice...
    si quelqu'un pouvait m'éclairer, cela m'aiderai fortement.

  17. #17
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 688
    Points : 15 019
    Points
    15 019
    Par défaut
    Salut !
    Citation Envoyé par seb_telloc Voir le message
    (...) mais je ne vois pas du tout où je peux mettre les lignes de code proposées. (...)
    Euh... Là où tu en as besoin, non ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

Discussions similaires

  1. [Batch] Récupérer le nom du fichier sans l'extension à partir du chemin complet
    Par mathieu_r dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 29/07/2014, 13h10
  2. Récupérer un nom de fichier sans extension
    Par OxN dans le forum Général Java
    Réponses: 13
    Dernier message: 01/08/2011, 17h13
  3. Réponses: 3
    Dernier message: 30/01/2006, 17h24
  4. ShellListView : comment récupérer les noms des fichiers?
    Par Lolo1988 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 12/12/2005, 00h19
  5. Comment récupérer le nom du fichier sans le chemin ?
    Par st0nky dans le forum Débuter
    Réponses: 3
    Dernier message: 08/12/2005, 12h01

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