[WD11] creation dynamique de fichier sous HF C/S

Le
mystere689
WD11.
Je crée un fichier Article qui selon le type de société ne contient
pas toujours les mêmes champs. Sous Mysql, je n'avais pas de problème
car je crée dynamiquement mes fichiers dans la base.

Mais sous WINDEV HF C/S, ils sont definis dans l'analyse. Peut-on
aussi définir dynamiquement un fichier ??

Merci par avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Romain PETIT
Le #20199601
Après mure réflexion, mystere689 a écrit :

Bonjour,

WD11.
Je crée un fichier Article qui selon le type de société ne contient
pas toujours les mêmes champs. Sous Mysql, je n'avais pas de problème
car je crée dynamiquement mes fichiers dans la base.
Mais sous WINDEV HF C/S, ils sont definis dans l'analyse. Peut-on
aussi définir dynamiquement un fichier ??



Oui (en WD12 mais j'imagine qu'on pouvait déjà le faire en 11)

Exemple :
//nouvelle connexion ou connexion de la base en cours
sdCnxTemp est une Connexion
TableDesc est une Description de Fichier
ItemDesc est une Description de Rubrique
// Paramètres de la connexion
sdCnxTemp..Provider = hAccèsHFClientServeur
sdCnxTemp..Libellé = "Connexion à HFC/S (fichiers temporaires)"
...


sNomFichierHF est une chaine = "TEMP"

// Description du fichier
TableDesc..Nom = sNomFichierHF
TableDesc..NomPhysique =
DateSys()+"_"+HeureSys()+DonneIdentifiant()+"_"+sNomFichierHF
TableDesc..Répertoire = ".Temp"
TableDesc..CryptageFic = hCryptageNon
TableDesc..Type = hFichierTemporaire
//TableDesc..Connexion = ""

// Description des rubriques
ItemDesc..Nom = "IDENTIFIANT"
ItemDesc..Type = hRubTexte
ItemDesc..Taille = 10
ItemDesc..TypeClé = hCléUnique
SI PAS HDécritRubrique(TableDesc, ItemDesc) ALORS
Erreur("Erreur description rubrique")
FIN

ItemDesc..Nom = "COMMENTAIRES"
ItemDesc..Type = hRubTexte
ItemDesc..Taille = 255
ItemDesc..TypeClé = hNonClé
SI PAS HDécritRubrique(TableDesc, ItemDesc) ALORS
Erreur("Erreur description rubrique")
FIN
...

// Valide la description du fichier
SI PAS HDécritFichier(TableDesc) ALORS
Erreur("Erreur lors de la description du fichier temporaire
<"+sNomFichierHF+"> détails="+HErreurInfo())
RENVOYER Faux
FIN

// Création du fichier (reconnu car déclaré comme source de données)
SI PAS HChangeConnexion(sNomFichierHF, sdCnxTemp) ALORS
Erreur("Erreur lors de l'assignation de la connexion temporaire du
fichier <"+sNomFichierHF+"> détails="+HErreurInfo())
RENVOYER Faux
SINON
SI PAS HCréation(sNomFichierHF) ALORS
Erreur("Erreur lors de la création du fichier temporaire
<"+sNomFichierHF+"> détails="+HErreurInfo())
RENVOYER Faux
FIN
FIN

RENVOYER Vrai

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
mystere689
Le #20205281
On 21 sep, 21:47, Romain PETIT
Après mure réflexion, mystere689 a écrit :

Bonjour,

> WD11.
> Je crée un fichier Article qui selon le type de société ne contie nt
> pas toujours les mêmes champs. Sous Mysql, je n'avais pas de problè me
> car je crée dynamiquement mes fichiers dans la base.
> Mais sous WINDEV HF C/S, ils sont definis dans l'analyse. Peut-on
> aussi définir dynamiquement un fichier ??

Oui (en WD12 mais j'imagine qu'on pouvait déjà le faire en 11)

Exemple :
 //nouvelle connexion ou connexion de la base en cours
sdCnxTemp est une Connexion
TableDesc est une Description de Fichier
ItemDesc est une Description de Rubrique
// Paramètres de la connexion
sdCnxTemp..Provider = hAccèsHFClientServeur
sdCnxTemp..Libellé     = "Connexion à HFC/S (fichiers temporair es)"
...

sNomFichierHF est une chaine = "TEMP"

// Description du fichier
TableDesc..Nom = sNomFichierHF
TableDesc..NomPhysique =
DateSys()+"_"+HeureSys()+DonneIdentifiant()+"_"+sNomFichierHF
TableDesc..Répertoire = ".Temp"
TableDesc..CryptageFic = hCryptageNon
TableDesc..Type = hFichierTemporaire
//TableDesc..Connexion = ""

// Description des rubriques
ItemDesc..Nom = "IDENTIFIANT"
ItemDesc..Type = hRubTexte
ItemDesc..Taille = 10
ItemDesc..TypeClé = hCléUnique
SI PAS HDécritRubrique(TableDesc, ItemDesc) ALORS
        Erreur("Erreur description rubrique")
FIN

ItemDesc..Nom = "COMMENTAIRES"
ItemDesc..Type = hRubTexte
ItemDesc..Taille = 255
ItemDesc..TypeClé = hNonClé
SI PAS HDécritRubrique(TableDesc, ItemDesc) ALORS
        Erreur("Erreur description rubrique")
FIN
...

// Valide la description du fichier
SI PAS HDécritFichier(TableDesc) ALORS
        Erreur("Erreur lors de la description du fichier temporai re
<"+sNomFichierHF+"> détails="+HErreurInfo())
        RENVOYER Faux
FIN

// Création du fichier (reconnu car déclaré comme source de donné es)
SI PAS HChangeConnexion(sNomFichierHF, sdCnxTemp) ALORS
        Erreur("Erreur lors de l'assignation de la connexion temp oraire du
fichier <"+sNomFichierHF+"> détails="+HErreurInfo())
        RENVOYER Faux
SINON


Merci cela à l'air de fonctionner. Mes fichiers se seront pas
temporaire mais définitif, cela reste-t-il toujours valable
(apparemment oui d'après mes 1er essai).



        SI PAS HCréation(sNomFichierHF) ALORS
                Erreur("Erreur lors de la création du f ichier temporaire
<"+sNomFichierHF+"> détails="+HErreurInfo())
                RENVOYER Faux
        FIN
FIN

RENVOYER Vrai

--
Romain PETIT
contact :http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windevhttp://www.mesnews.net/http://fr.wik ipedia.org/wiki/Newsgroup


Publicité
Poster une réponse
Anonyme