Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
mystere689
WD11.
Je cr=E9e un fichier Article qui selon le type de soci=E9t=E9 ne contient
pas toujours les m=EAmes champs. Sous Mysql, je n'avais pas de probl=E8me
car je cr=E9e dynamiquement mes fichiers dans la base.

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

Merci par avance.

2 réponses

Avatar
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 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
Avatar
mystere689
On 21 sep, 21:47, Romain PETIT wrote:
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