|
Contact_SaisieSurChargement
Cette méthode est décrite bloc d'instructions
par bloc d'instructions.
Les commentaires sont au dessus de la ou des lignes expliquées.

Les enregistrements de la table [Index]
liés à la table [Contact] sont chargés.
Par défaut, ces index contiennent le nom de donnée, l'id
de synchro, la langue de l'enregistrement, le propriétaire et les
autorisations d'accès publique.
rcd_GetIndex (rcd_CurrentDataTable)
Les index sont conservés en tableaux
rcd_IndexToPrp (OnLoad
;"IndexPrp")
test pour savoir si l'enregistrement du contact vient d'être créé.
Si (rcd_IsVirgen (rcd_CurrentDataTable))
`traitement lors de l'ajout d'un nouveau contact
Fin de si
Les rendez-vous du contact sont chargés
nbFound:=rcd_GetLink
(->[Contact];->[RDV])
création d'une variable tableau texte avec la méthode o
la méthode o retourne un pointeur sur cette variable temporaire
: $ptr
$ptr:=o ("[RDV]Objet";Est
un tableau texte )
Sur la base de la sélection de rendez-vous, le champ [RDV]Objet
passe en tableau
SELECTION VERS TABLEAU([RDV]Objet;$ptr->)
Répétition de la séquence ci-dessus pour les champ
[RDV]Date et [RDV]Heure
$ptr:=o ("[RDV]Date";Est
un tableau date )
SELECTION VERS TABLEAU([RDV]Date;$ptr->)
$ptr:=o ("[RDV]Heure";Est
un tableau entierlong )
SELECTION VERS TABLEAU([RDV]Heure;$ptr->)
Pour lier retrouver les enregistrements à partir des tableaux,
le dernier tableau est construit avec les numéros d'enregistrement
4D
$ptr:=o ("RDVNumeroEnregistrement";Est
un tableau entierlong )
SELECTION VERS TABLEAU([RDV];$ptr->)
Les enregistrements sont libérés.
REDUIRE SELECTION([RDV];0)
La zone AreaList Pro est construite à partir de tableaux
alp_SetArray
La variable 4D pour la zone externe est désignée par un
pointeur, la méthode sur perte focus lors de la saisie est passée
en paramètre sous forme d'une chaine
alp_SetDefault (->alp_vlRDV;"";"Contact_SurPerteFocusRDV"))
Quatre colonnes sont créées pour recevoir l'objet du rendez-vous,
la date, l'heure et le numéro d'enregistrement qui correspond à
chaque ligne.
alp_SetColumn (o
("[RDV]Objet");"Objet";0)
alp_SetColumn (o
("[RDV]Date");"Date";1)
alp_SetColumn (o
("[RDV]Heure");"Heure";1)
alp_SetColumn (o
("RDVNumeroEnregistrement");"NumeroEnregistrement";0)
La dernière colonne qui contient les numéros d'enregistrements
est masquée
alp_SetHideColumn
L'ordre de tri est en ordre croissant sur la colonne des objets des rendez-vous
alp_SetSort (1)
Le style "une ligne grise, une ligne blanche" est appliqué
alp_SetLook (1)
Aucune méthode modifiant l'apparence de la zone n'est appelée
alp_SetApparence
("")
A part l'inverse vidéo de la ligne, il ne se passe rien lors du
clic sur la ligne
alp_SetOnClic ("")
La méthode Contact_SurDoubleClicRDV est executé lors du
double clic
alp_SetOnDBClic
("Contact_SurDoubleClicRDV"))
La zone alp_vlRDV devient la zone courante et tous ses paramètres
sont enregistrés lors de ce premier appel.
alp_SetCurrentArea
(->alp_vlRDV)
La zone ne peut être saisissable à l'ouverture
alp_SetEntry (Faux)
La même séquence de code est répété
pour la liste des documents.
rcd_GetLink (->[Contact];->[Data])
$ptr:=o ("[Doc]Sujet";Est
un tableau texte )
SELECTION VERS TABLEAU([Data]DisplayList1;$ptr->)
$ptr:=o ("[Doc]NumeroEnregistrement";Est
un tableau entierlong )
SELECTION VERS TABLEAU([RDV];$ptr->)
REDUIRE SELECTION([RDV];0)
alp_SetArray
alp_SetDefault (->alp_vlDoc;"";"Contact_SurPerteFocusDocument"))
alp_SetColumn (o
("[Doc]Sujet");"Objet";0)
alp_SetColumn (o
("[Doc]NumeroEnregistrement");"NumeroEnregistrement";0)
alp_SetHideColumn
alp_SetSort (1)
alp_SetLook (1)
alp_SetApparence
("")
alp_SetOnClic ("")
alp_SetOnDBClic
("Contact_SurDoubleClicDocument"))
alp_SetCurrentArea
(->alp_vlDoc)
alp_SetEntry (Faux)

Retour | Haut
de page
|