OVH Cloud OVH Cloud

Extension automatique

4 réponses
Avatar
Alicia-Océane
Bonjour,

Je souhaite faire saisir =E0 l'utilisateur le nom d'un document =E0
cr=E9er dans une zone de saisie appel=E9e "FNOMDOC" (c'est un des champs
d'une fiche RAD simple). Il ne peut cr=E9er que des documents Word, donc
ce que je voudrais faire, c'est que s'il entre un nom sans =E9crire
"=2Edoc", que l'application le mette automatiquement.

J'ai une proc=E9dure locale qui me renvoit l'extension du fichier.

PROCEDURE FichExtension(NomDeFichier)
//renvoie l'Extension du fichier
Pos est un entier
POUR Pos=3DTaille(NomDeFichier) A 1 PAS -1
SI NomDeFichier[[Pos]]=3D"." OU NomDeFichier[[Pos]]=3D"\" ALORS SORTIR
FIN
SI NomDeFichier[[Pos]]=3D"." ALORS
RENVOYER NomDeFichier[[Pos+1 A]]
SINON
RENVOYER "" // pas de "." trouv=E9
FIN


Et dans le code de mon bouton j'ai

SI FichExtension(FNOMDOC) ~=3D "doc" ALORS
//traitements, avec ajout du document dans une table avec HAjoute
FIN

J'ai voulu rajouter

SI FichExtension(FNOMDOC) <> "doc" ALORS
FNOMDOC=3DFNOMDOC+".doc"
FIN

juste avant, et =E7a marche en apparence puisque ".doc" est bien ajout=E9
=E0 la zone de saisie, mais pourtant dans le HAjoute il prend le nom
sans ce ".doc" rajout=E9.

Comment faire pour qu'il le prenne en compte ?

4 réponses

Avatar
[Bernard Vessiot]
Alicia-Océane a exprimé avec précision :
Bonjour,



Je souhaite faire saisir à l'utilisateur le nom d'un document à
créer dans une zone de saisie appelée "FNOMDOC" (c'est un des champs
d'une fiche RAD simple). Il ne peut créer que des documents Word, donc
ce que je voudrais faire, c'est que s'il entre un nom sans écrire
".doc", que l'application le mette automatiquement.



J'ai une procédure locale qui me renvoit l'extension du fichier.



PROCEDURE FichExtension(NomDeFichier)
//renvoie l'Extension du fichier
Pos est un entier
POUR Pos=Taille(NomDeFichier) A 1 PAS -1
SI NomDeFichier[[Pos]]="." OU NomDeFichier[[Pos]]="" ALORS SORTIR
FIN
SI NomDeFichier[[Pos]]="." ALORS
RENVOYER NomDeFichier[[Pos+1 A]]
SINON
RENVOYER "" // pas de "." trouvé
FIN




Et dans le code de mon bouton j'ai



SI FichExtension(FNOMDOC) ~= "doc" ALORS
//traitements, avec ajout du document dans une table avec HAjoute
FIN



J'ai voulu rajouter



SI FichExtension(FNOMDOC) <> "doc" ALORS
FNOMDOC=FNOMDOC+".doc"
FIN



juste avant, et ça marche en apparence puisque ".doc" est bien ajouté
à la zone de saisie, mais pourtant dans le HAjoute il prend le nom
sans ce ".doc" rajouté.



Comment faire pour qu'il le prenne en compte ?



bonjour,
une piste peut etre:
1) si tu forces monchamp.marub=FNOMDOC ?
2) est-ce que la taille de ta rubrique monchamp.marub est suffisante ?

@+++

--
[Bernard Vessiot]
34980 Saint Gély du Fesc
Avatar
Alicia-Océane
J'ai forcé le changement de nom, ça a été un peu plus compliqué à
cause du traitement qui utilise aussi FNOMDOC mais ça fonctionne,
merci.
Mais je ne comprends pourquoi il faut le forcer alors qu'on redéfinit
FNOMDOC avant l'ajout.
Avatar
Pascal F
Alicia-Océane a couché sur son écran :
J'ai forcé le changement de nom, ça a été un peu plus compliqué à
cause du traitement qui utilise aussi FNOMDOC mais ça fonctionne,
merci.
Mais je ne comprends pourquoi il faut le forcer alors qu'on redéfinit
FNOMDOC avant l'ajout.



Si c'est une fiche RAD, je suppose que tu fais un ecranversfichier(). Le fais-tu avant ou après la vérif de l'extension?

--
Pascal

Ne garder que le prénom pour me joindre
Avatar
Alicia-Océane
je le fais à l'initialisation de la fenêtre, c'est donc pour ça...
Merci pour l'info.