PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → SVP ! H.NbEssais et Hdejabloque comment les utiliser sur ce bout de code ?
SVP ! H.NbEssais et Hdejabloque comment les utiliser sur ce bout de code ?
Débuté par MOEZ, 02 avr. 2004 16:06 - 4 réponses
Posté le 02 avril 2004 - 16:06
Voici le bout de code qui fonctionne sous reseau, comment
inserer Hdejabloque et HnbEssais pour que l 'aplication essai decrire un
bon nombre de fois avant de pouvoir ecrire sur les fichiers (Hmodifie et
Hajoute) MERCI D'AVANCE !!
************************************************************************************************************************
// Mise à jour du stock QTESTOCK
hlitrecherche("ARTICLE","CODEART",complete(Code[Ind],20))
si h.trouve alors
Ar.QTESTOCK = Ar.QTESTOCK - Qte[Ind]
hmodifie("Article")
fin
ST.CODEART=Code[Ind]
ST.DESIGNÞSIGN[Ind]
St.FAMILLE=AR.FAMILLE
St.DATEÚTEBL
St.NUM=BLN
St.LIBELLE="BL.(S.)Modifier "+dateverschaine(Datesys())+" "+heureverschaine(heuresys())
St.entree=0
St.Sortie=Qte[Ind]
St.STREEL=Ar.QTESTOCK
hajoute("STOCK")
fin
fin
fin
************************************************************************************************************************
Posté le 02 avril 2004 - 17:40
Bonjour moi je fais ....

hlitrecherche("ARTICLE","CODEART",complete(Code[Ind],20))
si h.trouve alors

// permet de bloquer l'enreg pour faire la maj
// pour le nbessai je ne m'en sert pas
// mais sinon il faudrait le tester dans la boucle et annuler le
traitement
// si le blocage n'a pas pu etre effectue pour le nombre de nbessai
Boucle
hlitbloque("ARTICLE",H.numenr)
si pas HDEJABLOQUE() alors sortir
Info("L 'enregistrement xxxx est en cours de maj sur un autre
poste","veuillez le faire liberer")
fin
Ar.QTESTOCK = Ar.QTESTOCK - Qte[Ind]
hmodifie("Article")
fin


"MOEZ" <o.a-moez@laposte.net> a écrit dans le message de news:
406d5b09$1@news.pcsoft.fr...


Voici le bout de code qui fonctionne sous reseau, comment
inserer Hdejabloque et HnbEssais pour que l 'aplication essai decrire un
bon nombre de fois avant de pouvoir ecrire sur les fichiers (Hmodifie et
Hajoute) MERCI D'AVANCE !!

****************************************************************************
********************************************
// Mise à jour du stock QTESTOCK
hlitrecherche("ARTICLE","CODEART",complete(Code[Ind],20))
si h.trouve alors
Ar.QTESTOCK = Ar.QTESTOCK - Qte[Ind]
hmodifie("Article")
fin
ST.CODEART=Code[Ind]
ST.DESIGNÞSIGN[Ind]
St.FAMILLE=AR.FAMILLE
St.DATEÚTEBL
St.NUM=BLN
St.LIBELLE="BL.(S.)Modifier "+dateverschaine(Datesys())+"

"+heureverschaine(heuresys())
St.entree=0
St.Sortie=Qte[Ind]
St.STREEL=Ar.QTESTOCK
hajoute("STOCK")
fin
fin
fin

****************************************************************************
********************************************


Posté le 04 avril 2004 - 15:08
Merci Stephane!
Y a pas un moyen que le traitement retente la la lecture et puis la modification
j usqua ce qu il puisse modifier la ligne du fichier et puis en ajouter une
ligne au deuxieme traitement (Lecture DE ARTICLE->Modification->si blocage
il retente n fois -> debolocage -> ecriture si les n fois ne suffisent
pas "message........"

Comment ecrire cela MERCI!?!?!?


"Stephane Hodemond" <stephane.hodemond@free.fr> wrote:

Bonjour moi je fais ....

hlitrecherche("ARTICLE","CODEART",complete(Code[Ind],20))
si h.trouve alors
// permet de bloquer l'enreg pour faire la maj

// pour le nbessai je ne m'en sert pas
// mais sinon il faudrait le tester dans la boucle et annuler le
traitement
// si le blocage n'a pas pu etre effectue pour le nombre de nbessai
Boucle
hlitbloque("ARTICLE",H.numenr)
si pas HDEJABLOQUE() alors sortir
Info("L 'enregistrement xxxx est en cours de maj sur un autre
poste","veuillez le faire liberer")
fin
Ar.QTESTOCK = Ar.QTESTOCK - Qte[Ind]
hmodifie("Article")
fin

"MOEZ" <o.a-moez@laposte.net> a écrit dans le message de news:
406d5b09$1@news.pcsoft.fr...


Voici le bout de code qui fonctionne sous reseau, comment
inserer Hdejabloque et HnbEssais pour que l 'aplication essai decrire

un
>> bon nombre de fois avant de pouvoir ecrire sur les fichiers (Hmodifie
et
Hajoute) MERCI D'AVANCE !!

****************************************************************************

********************************************
// Mise à jour du stock QTESTOCK
hlitrecherche("ARTICLE","CODEART",complete(Code[Ind],20))
si h.trouve alors
Ar.QTESTOCK = Ar.QTESTOCK - Qte[Ind]
hmodifie("Article")
fin
ST.CODEART=Code[Ind]
ST.DESIGNÞSIGN[Ind]
St.FAMILLE=AR.FAMILLE
St.DATEÚTEBL
St.NUM=BLN
St.LIBELLE="BL.(S.)Modifier "+dateverschaine(Datesys())+"
"+heureverschaine(heuresys())

St.entree=0
St.Sortie=Qte[Ind]
St.STREEL=Ar.QTESTOCK
hajoute("STOCK")
fin
fin
fin

****************************************************************************

********************************************




Posté le 05 avril 2004 - 09:31
Je te joins la procedure que j'utilise depuis pls années (en 5.5)

Pour l'appeler 3 parametre : 1: nom du fichier , 2: un booleen à vrai si en
modification, 3 : un commentaire qui apparait dans le message si erreur ou
blocage
La fonction retour vrai si tout est OK.


exemple
si pas EcritFic("Article",vrai,"Procedure stock") alors retour



//------------------------------------------
Procédure EcritFic(nomfic,maj,comment)
mes est une chaine
essai est un entier = 5
BOUCLE
si maj
mes = " mise à jour fichier "+nomfic+" "
hmodifie(nomfic)
sinon
mes = " ajout fichier "+nomfic+" "
hajoute(nomfic)
fin
Si pas HDejaBloque() alors SORTIR
multitache(100)
essai--
si essai = 0
si ouinon(oui,"L'écriture sur le fichier "+nomfic+" est bloquée","par un
autre utilisateur ","voulez vous encore attendre ?")=non
renvoyer faux
fin
essai = 5
fin
FIN
si hdoublon() alors
erreur("Erreur DOUBLON,"+mes+comment)
Renvoyer faux
fin
si hErrIntegrite() alors
erreur("Erreur Integrite"+mes+comment,h.commentaire)
Renvoyer faux
fin
renvoyer VRAI




"MOEZ" <o.a-moez@laposte.net> a écrit dans le message de news:
406d5b09$1@news.pcsoft.fr...


Voici le bout de code qui fonctionne sous reseau, comment
inserer Hdejabloque et HnbEssais pour que l 'aplication essai decrire un
bon nombre de fois avant de pouvoir ecrire sur les fichiers (Hmodifie et
Hajoute) MERCI D'AVANCE !!

****************************************************************************
********************************************
// Mise à jour du stock QTESTOCK
hlitrecherche("ARTICLE","CODEART",complete(Code[Ind],20))
si h.trouve alors
Ar.QTESTOCK = Ar.QTESTOCK - Qte[Ind]
hmodifie("Article")
fin
ST.CODEART=Code[Ind]
ST.DESIGNÞSIGN[Ind]
St.FAMILLE=AR.FAMILLE
St.DATEÚTEBL
St.NUM=BLN
St.LIBELLE="BL.(S.)Modifier "+dateverschaine(Datesys())+"

"+heureverschaine(heuresys())
St.entree=0
St.Sortie=Qte[Ind]
St.STREEL=Ar.QTESTOCK
hajoute("STOCK")
fin
fin
fin

****************************************************************************
********************************************


Posté le 05 avril 2004 - 12:20
Bonjour,

Si tu travailles en réseau, je ne saurai trop te conseiller d'utiliser la
classe réseau que l'on peut trouver sur le site de l'association; Sinon
contacte moi je te l'enverais avec un exemple.

Ami Calmant
Stéphane


---
Outgoing mail is certified Virus Free.
Version: 6.0.648 / Virus Database: 415 - Release Date: 31/03/2004