PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2025 → Alimentation fichier
Alimentation fichier
Débuté par support.tech11, 24 juin 2006 17:53 - 11 réponses
Posté le 24 juin 2006 - 17:53
Bonjour,
Je souhaite préremplir un fichier par une table mémoire qui contient l'ensemble des dates de l'année en cours .
Je sèche.
Un peu d'aide merci.
Posté le 24 juin 2006 - 18:49
Bonjour,

Vous devriez vous en sortir avec très peut de code :
- une instruction POUR TOUT pour parcourir la table ligne à ligne,
- à chaque pasage dans le "POUR TOUT", affectation des rubriques du fichier
et "HAjoute".

Il est peut être possible de faciliter encore le traitement avec la fonction
"HVersFichier", mais là tout dépend de ce que vous souhaitez réaliser...

Elian Lacroix
Mail : elian.lacroix@gmail.com
http://elianlacroix.blogspot.com/



"Franck (SDIS11)" <support.tech11@tele2.fr> a écrit dans le message de news:
449d35fe$1@news.pcsoft.fr...

Bonjour,
Je souhaite préremplir un fichier par une table mémoire qui contient
l'ensemble des dates de l'année en cours .
Je sèche.
Un peu d'aide merci.

Posté le 24 juin 2006 - 20:53
Pourquoi ne pas créer le calendrier dans un fichier sans passer par une table au préalable ?
Posté le 24 juin 2006 - 20:54
Merci,
En fait il s'agit d'alimenter un fichier vierge avec les dates de l'année en cours pour saisir ensuite des dipsonibilites par personne en fonction de groupe horaires sous forme de table.
Encore un peu d'aide merci
Posté le 25 juin 2006 - 01:33
Je suis prenneur de toutes les solutions.
En effet, c'est un calendrier qui sera complété par les disponibilités.
Mais comment remplir ce fichier avec les dates de l'année en cours?
Merci
Posté le 25 juin 2006 - 01:33
Quelles sont rubriques prévues dans ce fichier "Calendrier" ?
Posté le 25 juin 2006 - 01:33
Salut, tu peux essayer ceci, j'ai testé ça fonctionne.
Mais je vois pas tellement l'utilité ?

-----------------------------------------------------------
Initialisation de Table

i est un entier
d est une Date = "20060101"

POUR i=1 A 365
Date=EntierVersDate(DateVersEntier(d) i)
TableAjouteLigne(TABLE,Date)
FIN
-------------------------------------------------------------

Bon dev, Fred.
Posté le 25 juin 2006 - 11:50
Le fichier comprend les rubriques
- date : date
- GH_1 : interrupteur // GH = Groupe Horaire
- GH_2 : interrupteur
- GH_3 : interrupteur
- ID_Personnel
Seule la rubrique Date sera déjà rempli par le calendrier de l'année en cours.
Le reste sera rensaigné par l'utilsateur
Merci de votre aide
Posté le 25 juin 2006 - 11:50
Correction:

J'ai remarqué que le signe ( ) (plus) n'a pas passé.

Alors voici la ligne avec le ( ) avant le i.

Date=EntierVersDate(DateVersEntier(d) i)

Bon dev, Fred.
Posté le 25 juin 2006 - 17:37
Essayez ceci :



// On suppose un fichier CALEND avec les rubriques suivantes :
//CALEND.ANNEEENCOURS // année traitée (chaine de caractère)
//CALEND.DATECAL // date au format AAAAMMJJ = CLEF UNIQUE
//CALEND.NOMJOUR // nom du jour de la semaine (chaine)
//CALEND.NOMMOIS // nom du mois (chaine)
//CALEND.SEMAINEJOUR // numéro de semaine du jour considéré


PROCEDURE CREATIONCALENDRIERANNEE(ANNEEATRAITER) // passage du paramètre ANNEE désirée. Ce paramètre est saisi et vérifié au préalable.

I est un entier
$ANNEE est une chaîne=ANNEEATRAITER

POUR I=DateVersEntier($ANNEE "0101") A DateVersEntier($ANNEE "1231")

SI PAS HLitRecherchePremier(CALEND,DATECAL,EntierVersDate(I)) ALORS // date inexistante donc à ajouter
CALEND.ANNEEENCOURS=$ANNEE
CALEND.DATECAL=EntierVersDate(I)
CALEND.NOMJOUR=SansEspace(EntierVersJourEnLettre(I))
CALEND.NOMMOIS=DateVersMoisEnLettre(EntierVersDate(I))
CALEND.SEMAINEJOUR=EntierVersNuméroDeSemaine(I)
HAjoute(CALEND)
SI ErreurDétectée ALORS
Info("Impossible d'ajouter un enregistrement" RC HErreurInfo())
RETOUR // ou renvoyer FAUX selon le cas
FIN
FIN

FIN

// éventuellement RENVOYER VRAI
// Si besoin on peut marquer les jours de fêtes légales en France (ou d'ailleurs) ainsi que les périodes de vacances scolaires
Posté le 25 juin 2006 - 17:39
Le fichier comprend les rubriques
- date : date
- GH_1 : interrupteur // GH = Groupe Horaire
- GH_2 : interrupteur
- GH_3 : interrupteur
- ID_Personnel
Seule la rubrique Date sera déjà rempli par le calendrier de l'année en cours.
Le reste sera rensaigné par l'utilsateur
Merci de votre aide
Posté le 25 juin 2006 - 17:41
Bonjour,

Décidemment, je vois que le signe (plus) :
Clavier (pavé numérique) ( ) ou clavier (standard) ( ) ne passe pas dans le message.

Quelqu'un peut-il m'éclairer, merci.

Fred.