PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → [WD9 Pré-Version ]Client/serveur et Frepdonnées
[WD9 Pré-Version ]Client/serveur et Frepdonnées
Débuté par hksoft, 21 déc. 2004 17:15 - 7 réponses
Posté le 21 décembre 2004 - 17:15
Peut-on utiliser Frepdonnées en Client/serveur?
Chez moi, la valeur retournée est vide.
Posté le 21 décembre 2004 - 17:59
En mode client / Serveur les fichiers sont installés sur la racine du
serveur, donc le répertoire . ( point )

D'ailleurs, chose interressante c'est qu'il n'est pas possible de créer
les répertoires lors des hChangeRep() et hCreation(), ils sont créés
tout seuls, c'est dommage que le comportement ne soit pas le meme pour
les fichiers en hyperfile classique.


Hubert wrote:
Peut-on utiliser Frepdonnées en Client/serveur?
Chez moi, la valeur retournée est vide.


Posté le 21 décembre 2004 - 18:26
en fait sur un serveur hf tu peux avoir plusieures bases de données dans des sous-répertoire :

monserveurhf
---basededonnée1
---basededonnée2

sur le disque cela donne

/usr/local/HyperFile/BDD/basededonnée1
/usr/local/HyperFile/BDD/basededonnée2
/usr/local/HyperFile/BDD/__system


A+

Adrien
Posté le 21 décembre 2004 - 18:44
pour récuperer le repertoire du fichier utilisez ..Repertoire sur le nom
du fichier, mais une fois encore, sur un fichier en client/serveur le
répertoire commencera pas la racine du serveur, et sera toujours le point.

Dans votre exemple un fichier dans la base basededonnée1 ( si aucun
hChangeRep appelé ), le fichier aura . comme répertoire.

Avoir le chemin complet du fichier ne servira pas a grand chose vu que
le repertoire du serveur n'est pas accessible en réseau.

Ca peut etre embetant si on veut faire une sauvegarde des fichiers
depuis le logiciel développé.

Peut etre que des fonctions de gestion du serveur supplémentaires vont
apparaitres ? ( comme HInfoServeur, hAjouteUtilisateur etc, )



Adrien wrote:

en fait sur un serveur hf tu peux avoir plusieures bases de données dans des sous-répertoire :

monserveurhf
---basededonnée1
---basededonnée2

sur le disque cela donne

/usr/local/HyperFile/BDD/basededonnée1
/usr/local/HyperFile/BDD/basededonnée2
/usr/local/HyperFile/BDD/__system


A+

Adrien
Posté le 22 décembre 2004 - 11:07
Pour être plus précis :

SI fRep(mem_repdonnees+mem_replogs,frRépertoire)="" ALORS
fRepCrée(mem_repdonnees+mem_replogs)
FIN

avec mem_repdonnees=fRepDonnees

Cela marche très bien en HF classique.

Comment faire la même chose en C/S?

Si mem_repdonnees=".\" (répertoire renvoyé par fic..répertoire), le dossier est crèe dans le répertoire de l'éxécutable, et non sur le réseau.

Est-ce un problème de jeunesse de HF C/S, ou est-ce que j'appréhende mal le fonctionnement en C/S?

PS : fRepDonnées renvoie une chaîne vide en C/S
Posté le 22 décembre 2004 - 18:49
si le but est de créer des fichiers dans des sous-repertoires du serveur
( prenons l'exemple d'un gestion multi dossier avec un repertoire par
dossier ), alors il suffit de faire un hChangeRep() et hCreation() , le
répertoire est créé tout seul, mais il reste dans l'arborescence de la
racine de la base de donnée en cours (celle sur laquelle on est connecté
depuis l'éditeur d'analyse ou par programmation )

J'ai un application qui fait ca :

(Racine) Fichier Dossier
(Racine) \ (NomDossier1) \ Fichier Client
(Racine) \ (NomDossier2) \ Fichier Client
(Racine) \ (NomDossier3) \ Fichier Client

Faites le test suivant, créez un fichier Client au format client / serveur

Dans un bouton

hChangeRep(Client,".\Dossier1")
hcreationsiinexistant(Client)

hChangeRep(Client,".\Dossier2")
hcreationsiinexistant(Client)

hChangeRep(Client,".\Dossier3")
hcreationsiinexistant(Client)

Allez voir sur votre repertoire sur le serveur ou les données sont
stockées, les répertoire sont créés tout seuls.

Si vous n'etes pas en mode client/serveur, il faut en effet creer le
repertoire a la main avec un fRepCree(), j'ai signalé cela a PC-Soft en
suggestion.


Hubert wrote:
Pour être plus précis :

SI fRep(mem_repdonnees+mem_replogs,frRépertoire)="" ALORS
fRepCrée(mem_repdonnees+mem_replogs)
FIN

avec mem_repdonnees=fRepDonnees

Cela marche très bien en HF classique.

Comment faire la même chose en C/S?

Si mem_repdonnees=".\" (répertoire renvoyé par fic..répertoire), le dossier est crèe dans le répertoire de l'éxécutable, et non sur le réseau.

Est-ce un problème de jeunesse de HF C/S, ou est-ce que j'appréhende mal le fonctionnement en C/S?

PS : fRepDonnées renvoie une chaîne vide en C/S

Posté le 22 décembre 2004 - 22:05
Non, je ne veux pas changer de répertoire de données, il s'agit de créer des sous-répertoires pour y stocker des fichiers externes (textes, images, log, ...).
Je veux donc tout simplemnt créer des sous-répertoires sur mon serveur.

La version finale de wd9 m'apporte peut-être de bonnes surprises?
Posté le 23 décembre 2004 - 10:50
Je ne pense pas vu qu'il est précisé dans la doc que pour les fichiers
externes il faudra utiliser un répertoire qui ne sera pas dans
l'arborescence du serveur hyper / file.



Hubert wrote:

Non, je ne veux pas changer de répertoire de données, il s'agit de créer des sous-répertoires pour y stocker des fichiers externes (textes, images, log, ...).
Je veux donc tout simplemnt créer des sous-répertoires sur mon serveur.

La version finale de wd9 m'apporte peut-être de bonnes surprises?