SaveDialog : Rajouter le .txt si il n'y est pas et ne pas le rajouter si il y es

Signaler
Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010
-
Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
-
Bonjour

J'utilise le composant
SaveDialog

Je specifie le code suivant pour sauver un fichier texte

SaveDialog1.Filter := 'Text files (*.txt)|*.txt';
if SaveDialog1.Execute then
begin
AssignFile(Fichier,SaveDialog1.FileName);
etc ...

Hors si l'utilisateur ne specifie pas l'extension ".txt" dans le nom du fichier, elle n'est pas rajouté automatiquement.
Quelqu'un à t'il une solution (rajouter le .txt si il n'y est pas et ne pas le rajouter si il y est)

4 réponses

Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
Pourquoi pas :

if ExtractFileExt(SaveDialog1.FileName) = '' then
      SaveDialog1.FileName := SaveDialog1.FileName + '.txt';


ou

if ExtractFileExt(SaveDialog1.FileName) <> '.txt' then
      SaveDialog1.FileName := SaveDialog1.FileName + '.txt';


ou ce genre de choses, selon ce que tu veux faire exactement.
Messages postés
327
Date d'inscription
mardi 8 octobre 2002
Statut
Membre
Dernière intervention
6 octobre 2010

Merci
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Il suffit de renseigner la propriéte DefaultExt du composant TSaveDialog pour qu'elle soit ajoutée si l'utilisateur n'a rien précisé.
May Delphi be with you
Messages postés
1727
Date d'inscription
vendredi 27 décembre 2002
Statut
Modérateur
Dernière intervention
6 novembre 2021
8
Oh la la, c'est si simple... %-6

Bon, ça n'empêche pas l'usager fantaisiste d'enregistrer son fichier avec une extension farfelue, mais alors, qu'est-ce que ça allège le code !