Petit test pour la création rapide d une page webdev permettant l upload et le traitement d un fichier excel, il invente la fonction frepprolonge

// Clic sur BTN_Importer : upload du fichier Excel puis import dans SAP_20_80
sNomServeur est chaîne
sCheminComplet est chaîne
sRepImport est chaîne = fRepDonnées() // répertoire accessible en écriture
// 1. Vérifier qu'un fichier a bien été sélectionné
SI UPL_Excel.Valeur = "" ALORS
LIB_Resultat = "Veuillez sélectionner un fichier Excel."
RETOUR
FIN
// 2. Enregistrer sur le serveur le fichier uploadé par l'internaute
// (chaîne vide => conserve le nom d'origine et son extension)
sNomServeur = UploadCopieFichier(UPL_Excel, sRepImport, "")
SI sNomServeur = "" ALORS
LIB_Resultat = "Échec de l'upload du fichier."
RETOUR
FIN
sCheminComplet = fRepProlonge(sRepImport, sNomServeur)
suite de la dicussion :
puis je voir la doc de frepprolonge
Exécuté 2 commandes
Bonne question — et ça révèle une erreur de ma part : fRepProlonge n'existe pas dans le WLangage. Je l'avais inventée. 🙏 Vérifions la bonne fonction pour concaténer un répertoire et un nom de fichier.
Exécuté 2 commandes
Voici la doc de la fonction. ComplèteRep :
Exécuté
Lit page ComplèteRep
ComplèteRep (CompleteDir)
Disponible : WINDEV · WEBDEV (Windows, Linux, PHP, Code Navigateur) · WINDEV Mobile · Procédures stockées
Rôle — Ajoute si nécessaire le séparateur de répertoire (\ ou / selon la plateforme) à la fin d'une chaîne. Utile pour construire des chemins complets sans risque de double/absence de séparateur.
Syntaxe
<Résultat> = ComplèteRep(<Chaîne à vérifier>)
<Résultat> Chaîne : la chaîne terminée par le séparateur (ou chaîne vide si l'entrée est vide).
<Chaîne à vérifier> Chaîne : non modifiée. ⚠️ Les espaces avant/après sont supprimés.
Exemples
Res = ComplèteRep("c:\temp") // Renvoie "c:\temp\"
Res = ComplèteRep("c:\temp\") // Renvoie "c:\temp\" (inchangé)
Res = ComplèteRep("") // Renvoie ""
💡 Mieux encore : l'opérateur /
La doc recommande de construire les chemins avec l'opérateur / (slash), qui insère le bon séparateur automatiquement :
CheminComplet = Disque / Répertoire / NomFichier
Correction de mon code précédent
Dans le clic BTN_Importer, remplace la ligne fautive fRepProlonge(...) par l'une de ces deux écritures correctes :
// Option 1 : opérateur / (le plus lisible)
sCheminComplet = sRepImport / sNomServeur
// Option 2 : ComplèteRep
sCheminComplet = ComplèteRep(sRepImport) + sNomServeur
Merci d'avoir vérifié — fRepProlonge était une invention de ma part, à ne pas utiliser.