[Résolu] Avant de changer de volet faire EcranVersFichier ? mais ou ?
Utilisateur WDF
Inscrit:
30/10/2007 10:44
Post(s): 88
Bonjour,

J'ai un doute de programmation.
J'ai onglet avec volets.
Si dessous, en choisisant un volet une recherche approprié s'accomplie. OK.

Mais comment faire, AVANT de passer à un autre volet, de sauvegarder ce qui vient d'être modifie dans le volet que l'on va quitter exemple avec ecranversfichier et Hmodifie.

Les seuls choix sont initialisation et a chaque changement de volet. Ce sera dans le dernier mais comment ?

BAV

NumVoletActif est une chaîne
NumVoletActif = ONG_PMdata..Valeur
SI NumVoletActif = 1 ALORS
	HLitRecherche(PMdata,Uniek_FM_ID,UID)
	FichierVersEcran(FEN_PM,PMdata)
	PMsn = SAI_PM_SN..ValeurAffichée
SINON SI NumVoletActif = 2 ALORS	
	HLitRecherche(PMverv,Uniek_FM_ID,UID)
	FichierVersEcran(FEN_PM,PMverv)
	PMsn = SAI_PM_SN1..ValeurAffichée
SINON SI NumVoletActif = 3 ALORS
	HLitRecherche(PMimp,Uniek_FM_ID,UID)
	FichierVersEcran(FEN_PM,PMimp)
	FIN

Contribution le : 15/11/2007 09:38

Edité par drcharly93 sur 19/11/2007 23:35:27
Créer un fichier PDF de la contribution Imprimer


Re: Avant de changer de volet faire EcranVersFichier ? mais ou ?
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Citation :
Mais comment faire, AVANT de passer à un autre volet, de sauvegarder ce qui vient d'être modifie dans le volet que l'on va quitter exemple avec ecranversfichier et Hmodifie.


... onglet, partie de code "A chaque modification de Onglet".
POur savoir que était l'onglet précedant c'est simple : utiliser une variable (globale à la fenêtre) qui enregistre la valeur de l'onglet :

// déclarations globales de la fenête
nOngletPrecedent est un entier


// A chaque modification de onglet

// est-on déjà passé sur un onglet ?
SI nOngletPrecedent<>0 ALORS
   // oui, on enregistre la fiche (peut être que les champs de l'onglet)
   ... ICI le code d'enregistrement
FIN
// stocke la valeur de l'onglet pour la prochaine fois
nOngletPrecedent=MoiMeme

Contribution le : 15/11/2007 11:38
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Avant de changer de volet faire EcranVersFichier ? mais ou ?
Utilisateur WDF
Inscrit:
30/10/2007 10:44
Post(s): 88
ok merci.
Et cela tiendra compte des differents fichier? car chaque volet est lie a un autre fichier. donc comment differentier les ecranversfiechier et hmodifie?

bat

Contribution le : 15/11/2007 13:03
Créer un fichier PDF de la contribution Imprimer


Re: Avant de changer de volet faire EcranVersFichier ? mais ou ?
Utilisateur WDF
Inscrit:
30/10/2007 10:44
Post(s): 88
Resolu

Pour finir avec un long code, peut être pas le plus logique ou plus beau, mais cela fonctionne exactement comme je le veux :)

Selon la présence ou non de data dans un onglet, je donne le volet une valeur (0/1).

Et dans chaque volet je fais un Hmodifie pour les volets autres que celui ou je suis dedans.

Sinon j'avais des problèmes avec Hmodifie quand il n'y avait pas de data présent.

Merci A+

//initialisation
Info(UID)
HDésactiveFiltre(PMdata)
HDésactiveFiltre(PMverv)
HDésactiveFiltre(PMimp)
HFiltre(PMdata,Uniek_FM_ID,UID)
HLitPremier(PMdata)
SI HEnDehors() ALORS
	Trace("geen pm gevonden")
	RecordPM ="0"
	gsRecordVerv ="0"
	RecordImp ="0"
SINON
	Info("test")
	FichierVersEcran(FEN_PM,PMdata)
	PMsn = SAI_PM_SN..ValeurAffichée
	RecordPM ="1"
	gsRecordVerv ="0"
	RecordImp ="0"	
FIN

//A chaque modif...

NumVoletActif est une chaîne
NumVoletActif = ONG_PMdata..Valeur

SI NumVoletActif = 1 ALORS
	SI gsRecordVerv ="1" ALORS
		EcranVersFichier(FEN_PM,PMverv)
		HModifie(PMverv)
	SINON
		gsRecordVerv ="0"
	FIN
	SI RecordImp ="1" ALORS
		EcranVersFichier(FEN_PM,PMimp)
		HModifie(PMimp)	
	SINON 
		RecordImp ="0"
	FIN
	
	SI RecordPM ="1" ALORS
		HDésactiveFiltre(PMdata)
		HDésactiveFiltre(PMverv)
		HDésactiveFiltre(PMimp)
		HFiltre(PMdata,Uniek_FM_ID,UID)
		HLitPremier(PMdata)
		//HLitRecherche(PMdata,Uniek_FM_ID,UID)
		FichierVersEcran(FEN_PM,PMdata)	
		PMsn = SAI_PM_SN..ValeurAffichée
	SINON
		RecordPM ="0"
	FIN
			

SINON SI NumVoletActif = 2 ALORS
	SI RecordPM ="1" ALORS 
		EcranVersFichier(FEN_PM,PMdata)
		HModifie(PMdata)
	SINON 
		RecordPM ="0"
	FIN 	
	
	SI RecordImp ="1" ALORS
		EcranVersFichier(FEN_PM,PMimp)
		HModifie(PMimp)
	SINON
		RecordImp ="0"	
	FIN

	HDésactiveFiltre(PMdata)
	HDésactiveFiltre(PMverv)
	HDésactiveFiltre(PMimp)
	HFiltre(PMverv,Uniek_FM_ID,UID)
	HLitPremier(PMverv)
	//HLitRecherche(PMverv,Uniek_FM_ID,UID)
	SI HEnDehors()  ALORS
		Trace("geen vervanging gevonden")
		gsRecordVerv ="0"
		ONG_PMdata..Valeur =1
	SINON
		FichierVersEcran(FEN_PM,PMverv)
		PMsn = SAI_PM_SN1..ValeurAffichée
		gsRecordVerv ="1"	
	FIN
		
SINON SI NumVoletActif = 3 ALORS
	SI RecordPM ="1" ALORS
		EcranVersFichier(FEN_PM,PMdata)
		HModifie(PMdata)
	SINON
		RecordPM ="0"	
	FIN

	SI gsRecordVerv ="1" ALORS
		EcranVersFichier(FEN_PM,PMverv)
		HModifie(PMverv)	
	SINON
		gsRecordVerv ="0"
	FIN
	
	HDésactiveFiltre(PMdata)
	HDésactiveFiltre(PMverv)
	HDésactiveFiltre(PMimp)	
	HFiltre(PMimp,Uniek_FM_ID,UID)
	HLitPremier(PMimp)
	//HLitRecherche(PMimp,Uniek_FM_ID,UID)
	SI HEnDehors()  ALORS
		Trace("geen implverslag")
		RecordImp ="0"
		ONG_PMdata..Valeur =1
	SINON
		FichierVersEcran(FEN_PM,PMimp)
		RecordImp ="1"
	FIN
	

	FIN

Contribution le : 15/11/2007 22:20
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2