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
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
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 @+
cool et en 10 minutes on me repond !
merci à toi pour ton aide !
amicalement,
sam
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,'');
ChanFileExt est pas mal non plus.
Je ne la connaissais pas !
c'est cool ça marche !
merci encore à vous deux !
Moi non plus je ne connaissais pas la fonction ChangeFileExt !
Cool !!!
On en apprend tous les jours !
Pense à mettre un p'tit [clos] ou [résolu]
Amicalement
Encore une autre méthode (sans variable autre que le nom de fichier)
En une ligne ! En fait, on défini la taille de la chaine de caratère à sa taille moins la taille de l'extension.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SetLength(MaVariable,length(MaVariable) - length(ExtractFileExt(MaVariable));
Bon développement !
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.
Dans la procédure Fichier designe le nom du champ Blob et NOM designe le nom du champ 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');
J'ai le message suivant : le nom du format de l'image n'est pas spécifié.
Fichier
Salut,
yendre merci d'utiliser les balises codes.
Pour info le tag je trouve en bas de la page de consultation des messages.
Remplacer
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);
Code : Sélectionner tout - Visualiser dans une fenêtre à part Image1.Picture.LoadFromFile(sPath+'.bmp');
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);
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 !!!
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager