HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
Bonjour à tous,

J'ai passé une application HF Classic en HF C/S mais je rencontre des soucis avec les fonctions HChangeRep et HCréationSiInexistant. A partir d'un répertoire créé dans le répertoire de la BDD (c:\serveur HF\nom_appli\nom_rep, je voudrais créer 2 fichiers .fic dans le répertoire nom_rep.

Pouvez-vous m'éclairer à ce sujet ?

Contribution le : 24/01/2006 15:10
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
Lors de la procedure d'install tu as possibilité de dire ou devron aller les données du client et c'est a se moment la que tu met ton chemin c:\...

helas je ne vois pas l'utilité d'une appli client serveur qui marche que sur un post...?

Ta solution est valable que si tu as un seul client.

Sinon je te conseil de mettre les donnée dans un repertoir partagé avec une lettre logique identique pour tout tes client.

Contribution le : 24/01/2006 15:32
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
Pour l'instant je suis en phase de tests donc je travaille sur mon localhost.

Il me faudra bien créer les fichiers dans les répertoires.
En gros : un répertoire représente une promotion (par exemple 200) dans laquelle doivent être crées les .fic. (e200.fic et no200.fic). A chaque nouvelle promotion xxx est associé un répertoire qui a pour nom celui de la promotion (donc xxx) et dans lequel il y a 2 fichiers exxx.fic et noxxx.fic)... Etant débutante en Windev, je n'ai pas capté comment il faut faire pour genérer ces fichiers
Si je garde le code existant (je dois supprimer les HChangeRep), les fichiers .fic sont créés dans le répertoire de la BDD et non dans celui de la promotion...

Contribution le : 24/01/2006 15:43
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
pk tu veux créer un fichier par promotion car tu va avoir
eXXX.fic et NoXXX.fic * n promotion donc n repertoir de n fichier.

Pk ne pas avoir dans ton analyse une table promotion relier a tes deux elements epromotion et Nopromotion??

pk faire un repertoir pour chaque promotion je ne voi pas l'utiliter?

sinon oui c bien hchangerep mais verifie que tu les a bien creer avant les repertoirs par fcréer.

Contribution le : 24/01/2006 16:04
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
ben c'est une application que je n'ai pas développée donc je ne peux pas modifiertout ce qui a été fait auparavant, trop long.

Oui, n répertoires car n promotions. Les données d'une promotion à l'autres ne sont pas les mêmes et la scolarité se fait par promotion donc je n'ai guère d'autres choix...

Contribution le : 24/01/2006 16:15
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
utilise tu le frepcrée("c:\...") avant ton hchangerep?
ou au verifier avec frep si le repertoir existe?

sinon le hchangerep c bien ca que tu doit utiliser mais verifie bien l'existance du repertoir avant.

sinon ca doit pas etre simple pour requeter ton affaire en tout cas bonne chance.

Contribution le : 24/01/2006 16:25
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
J'ai un frep dans une fonction. Les fichiers sont bien crées mais dans le répertoire de l'appli et non dans celui de la promotion (créé correctement)...

Contribution le : 24/01/2006 16:44
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
tu peut coller un exemple stp

Contribution le : 24/01/2006 16:52
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Anonyme
Doublon...
Mince, j'ai oublié de me connecter

Ambre77

Contribution le : 25/01/2006 09:57
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Anonyme
Ma connexion (en localhost pour le développement) :

//Variables de connexion
sNomConnexion		est une chaîne 		= "Localhost_eleve"
sLibelléConnexion		est une chaîne 		= "Connexion au serveur localhost, base eleve"
sTypeConnexion		est une chaîne		= "WinDevClientServeurHF"
sTypeAccès		est un entier  		=  hOLectureEcriture
sNomSource		est une chaîne 		= "localhost:4900"
sNomBase		est une Source de Données	= "eleve"
sNomUtilisateur		est une chaîne 		= "admin"
sMotDePasse 		est une chaîne 		= ""
sInfoEtendus		est une chaîne 		= ";Cryptage = aucun;Initial Catalog=eleve"

SI HOuvreConnexion(sNomConnexion, sNomUtilisateur, sMotDePasse, sNomSource, sNomBase, sTypeConnexion, sTypeAccès) ALORS
	Info("Connexion établie")
	
SINON
	Erreur(HErreurInfo())
FIN
HChangeConnexion("*", sNomConnexion)



FONCTION ouvrirfichier(nomfichier)
//Code WinDev 5.5 remplacé par la migration :
//hassigne(nomfichier,repertoire)
HChangeRep(nomfichier,repegpx)
HCréationSiInexistant(nomfichier)


FONCTION ouvriregpx(nomfichier)
HFerme(nomfichier)
//Code WinDev 5.5 remplacé par la migration :
//hsubstnom(nomfichier,gauche(nomfichier,taille(nomfichier)-3)+pro)
HChangeNom(nomfichier,Gauche(nomfichier,Taille(nomfichier)-3)+pro)
//Code WinDev 5.5 remplacé par la migration :
//hassigne(nomfichier,repegpx)
HChangeRep(nomfichier,repertoire)
HCréationSiInexistant(nomfichier)
//hinfogene(nomfichier)
	SI HNbEnr(nomfichier)=0
	RAZ
	HRAZ(nomfichier)
	HAjoute(nomfichier)
FIN	





Contribution le : 25/01/2006 09:58
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
tu devrai faire plus de test deja par exemple

si pas frep(repertoire,frrepertoire)~="" alors
frepcrée(repertoir)
sinon
si pas HChangeRep(nomfichier,repertoire) alors
erreur("erreur")
sinon
si pas hcréationsiinexistant("*") alors
erreur("erreur")
fin
fin
fin

a tu verifier dans ton code l'existance du repetoir???
car je ne le voi pas dans ton code

Contribution le : 25/01/2006 10:26
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Anonyme
Dans les procédures globales du projet, il y a également ça :
PROCEDURE repert()
SI fRep(repegpx,frRépertoire)=""
//Code WinDev 5.5 remplacé par la migration :
//	frepcree(repegpx)
	fRepCrée_55(repegpx)
FIN	


En remplaçant
HChangeRep(nomfichier,repertoire) 
par
HChangeRep(nomfichier,"./" + repertoire) 
, j'ai l'erreur suivante :
Erreur à la ligne 6 du traitement Procédure globale ouvrirfichier.
Vous avez appelé la fonction HCréationSiInexistant.
Erreur renvoyée par le serveur <localhost:4900> :

Impossible de créer le répertoire <C:\Serveur HF\BDD\eleve\./C:\Serveur HF\BDD\eleve\>.
Le fichier n'a été trouvé ni sur disque, ni dans les bibliothèques (.WDL) ou les composants (.WDK) chargés.

Détail de l'erreur système :

Syntaxe du nom de fichier, de répertoire ou de volume incorrecte.


je pense qu'il faut recourir à "." pour le répertoire de la base mais je n'en fais pas une bonne utilisation

Contribution le : 25/01/2006 10:52
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
En remplaçant
HChangeRep(nomfichier,repertoire) 
par [code]HChangeRep(nomfichier,"./" + repertoire)

ton ./ ne sert a rien pour moi l'ancien code etait correct
HChangeRep(nomfichier,repertoire)

le tout etant d'avoir controler si repertoire existe bien au préalable.


cela me semble correcte
FONCTION ouvrirfichier(nomfichier)
//Code WinDev 5.5 remplacé par la migration :
//hassigne(nomfichier,repertoire)
si frep(repegpx,fprepertoire) alors
fcréerep(repegpx)
sinon
si HChangeRep(nomfichier,repegpx) alors
//repegpx variable globale?
si pas HCréationSiInexistant(nomfichier) alors
erreur("")
sinon
info("creer")
fin
sinon
erreur("")
fin
sinon
erreur("")
fin

Contribution le : 25/01/2006 13:29
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
j'ai collé ton code dans la fonction ouvrirfichier (j'ai juste corrigé tes erreurs de frappe : frepCrée au lieu de fCréeRep et frRepertoire au lieu de fpRepertoire).
Dans le test, j'ai une erreur : dans les déclarations globales de la fenêtre menu j'ai une erreur sur l'instruction :
ouvrirfichier("code")

-> "le traitement ouvrirfichier attend au plus 0 paramètre et vous en passez 1"

Contribution le : 25/01/2006 14:19
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
19/01/2006 11:29
Post(s): 9
Je suis loin d'être un expert Windev, mais le message d'erreur reçu semble être dû à une divergence entre la définition de la fonction et son appel, probablement as-tu oublié de copier-coller la première ligne (FONCTION ouvrirfichier(nomfichier)), non ?

D'après le message d'erreur, il semblerait que tu ait FONCTION ouvrirfichier() sans paramêtre de prévu, et donc, tu en passe un et il n'accepte pas, logiquement.

Contribution le : 25/01/2006 14:39
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
pk ("code")

normalement c le nom du fichier que tu met dans cette fonction non?
ton erreur veut dire dans tes procedures ta fonction
ouvrirfichier() est presenter comme ca

et toi dans le code tu fais ouvrirfichier(nomfic)

or si ta variable nomfic est global tu pe faire
ouvrirfichier()
...
traitement
...

Contribution le : 25/01/2006 14:39
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
Citation :

Celtic a écrit:
pk ("code")
les fichiers .fic nécessaires à l'appli (où il y a toutes sortes de codes) sont créés dans le répertoire de l'appli

...

ça, cela ne doit pas bouger...cela fonctionne parfaitement quand je mets la fonction HChangeRep en commentaires. Mon unique souci est qu'il place les fichiers dans le mauvais répertoire. Il doit descendre d'un niveau...

je cherche, je cherche...

Contribution le : 25/01/2006 15:02
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Developpeur WDF
Inscrit:
24/01/2006 13:42
De Chartres
Post(s): 142
bonne chance alors.
dernier chose il ta bien créer le repertoire mais il ne le mais pas dans le bon c ca?
verifi que ta chaine lorsque tu creer le repertoire soit la meme que le repertoire que tu utilise dans hchangerep.
sinon envoi ton code une derniere fois voir

Contribution le : 25/01/2006 15:38
Créer un fichier PDF de la contribution Imprimer


Re: HF Client/Serveur - Création d'un fichier dans un répertoire
Stagiaire WDF
Inscrit:
24/01/2006 15:04
Post(s): 8
Je viens enfin de trouver la solution !!!

en fait, j'ai ajouté en variable globale du projet une chaine : recup_rep que je définis ensuite dans la procedure globale ouvriregpx :
recup_rep = droite(repegpx,3)
//ainsi je recupère le ne rpertoire de la promo (xxx)
et j'ajoute :
HChangeRep(nomfichier, recup_rep)
avant l'instruction :
HChangeNom(nomfichier, Gauche(nomfichier, Taille(nomfichier)-3)+pro


Merci pour ton aide Celtic, c'est super sympa.

A+

Contribution le : 25/01/2006 15:50

Edité par Ambre77 sur 25/1/2006 16:13:52
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2