PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Blocage de fichier et Enregistrement !
Blocage de fichier et Enregistrement !
Iniciado por jouineau.jp, 18,ene. 2019 11:40 - No hay respuesta
Miembro registrado
1 mensaje
Publicado el 18,enero 2019 - 11:40
Bonjour,
Voici l'algo que je compte mettre en place dans mon programme pour être multi utilisateur :

BOUCLE
HBloqueFichier(Fichier,hBlocageLectureEcriture)
SI HErreurBlocage() ALORS
// En mode HFSQL Client/Serveur, quand H.NbEssais > 50 alors l'erreur suivante apparait
Erreur("Impossible de modifier le fichier. Il peut-être en cours de modification par une autre personne")
SI OuiNon(Oui,"Voulez-vous essayer de nouveau")=Non ALORS

//GOTO DEBUT : si on remonte
//OU HTransactionAnnule(connexion)
//
//OU Si on continue
//
//HDébloqueFichier(FICHIER)
// +
//SORTIR ou FinProgramme()

FIN
SINON
HLitPremier(Fichier,IDFichier)
SI HEnDehors(Fichier) ALORS
HRAZ(Fichier)
Fichier.NomSociete="Nom toto"
Fichier.CodePostal="75000"
SI PAS HAjoute(Fichier) ALORS
Erreur("Erreur sur un Ajout FICHIER","","Signaler le problème à l'adresse suivant : ","support@scanemails.com","",HErreurInfo,hErrComplet)
FIN
SINON
SI PAS HModifie(Fichier) ALORS
Erreur("Erreur sur modification FICHIER","","Signaler le problème à l'adresse suivant : ","support@scanemails.com","",HErreurInfo,hErrComplet)
FIN
HFerme(Fichier)
FIN
FIN
HDébloqueFichier(REINDEX)
SORTIR
FIN


Le blocage de fichier se fera sur un HAJOUT sinon pour une modification ou une suppression cela sera plutôt :

HBloqueNumEnr(Fichier,hNumEnrEnCours,hBlocageEcriture)
SI HErreurBlocage() ALORS
Erreur("Impossible de modifier le fichier FICHIER. Il peut-être en cours de modification par une autre personne")
SINON
//Traitement du fichier après blocage Hmodifie par exemple
HDébloqueNumEnr(Fichier,hNumEnrEnCours)
FIN


Bien sure, sur le même principe que l'algo précédent avec BOUCLE
Au vue de la tache colossale de travail qui m'attend pour modifier mon programme, j'aurai aimé avoir votre avis sur mon algo mais aussi connaitre la différence entre :

HLitRecherchePremier(Fichier,NomSociete,"Nom toto",hBlocageLectureEcriture)


et

HBloqueNumEnr(Fichier,hNumEnrEnCours,hBlocageEcriture)
SI PAS HErreurBlocage() ALORS
HLitRecherchePremier(Fichier,NomSociete,"Nom toto")
FIN


Pour moi il n'y en à pas.

Merci pour votre aide
Cordialement

Jean Philippe