Developpeur WDF
Inscrit: 24/01/2006 13:42
De Chartres
Post(s): 142
|
je pense que j'utilise mal la memajoute, ou la fonction mem en generale, sinon ma classe marche bien c domage.
/////////////////////////////////////// // Auteur: celtic28 // Cette classe vous permet d'avoir une pseudo saisi assister // dans une colonne de tableau ou cela est impossible. // utilisation : // declarer la classe dans a chaque modification de la colonne de la table // créer une requete avec comme condition param1 commence par // monobj est une Classiste("nomdelarequete","nomdelarequete.nomelem","nomdelatable.colonne") // puis monobj:Pr_Search(moimeme..valeur) //////////////////////////////////////
ClAssiste est une classe str_elem_req est une chaîne Num_evenement est un entier GLOBAL Gl_str_Req, Gl_str_TabCol, Gl_str_req_col sont des chaînes Gl_i_Touche, nb_suiv, nb_oc est un entier Gl_str_mem est une chaîne Gl_tab_mem est un tableau dynamique FIN
PROCEDURE Constructeur(NomReq,NomReqCol,nomtabcol sont des chaînes) ::Gl_str_Req=NomReq ::Gl_str_TabCol=nomtabcol ::Gl_str_req_col=NomReqCol ::Gl_str_mem="mem"+Gauche(HeureSys(),4) ::nb_suiv=1 MemCrée(::Gl_str_mem)
PROCEDURE Destructeur()
PROCEDURE Pr_Search(nomelem est une chaîne="") i est entier :str_elem_req = nomelem SI HExécuteRequête(::Gl_str_Req,hRequêteDéfaut,:str_elem_req) ALORS ::nb_oc=HNbEnr(::Gl_str_Req) ::Gl_tab_mem = allouer un tableau de ::nb_oc chaîne POUR i=1 A ::nb_oc HLit(::Gl_str_Req,i) ::Gl_tab_mem[i] = {::Gl_str_req_col} MemAjoute(::Gl_str_mem,::Gl_tab_mem[i],::Gl_tab_mem[i]) FIN SI HLit(::Gl_str_Req,1) ALORS {::Gl_str_TabCol}..Bulle={::Gl_str_req_col}+" Appuyer sur F3 pour valider F5 choix suivant F4 choix précédent" SI (_EVE.wParam) = 114 ALORS ::Gl_str_TabCol=::Gl_str_req_col FIN FIN FIN :Num_evenement=Evénement("::Pr_wait_touche","*.*",256) TimerSys(::Pr_wait_touche,10,77)
PROCEDURE GLOBAL Pr_wait_touche() SI (_EVE.wParam)=114 OU (_EVE.wParam)=115 OU (_EVE.wParam)=116 ALORS ::Gl_i_Touche = (_EVE.wParam) SELON ::Gl_i_Touche CAS 114: _EVE.wParam=0 ::Gl_i_Touche=0 SI MemExiste(::Gl_str_mem) ALORS {::Gl_str_TabCol}..Valeur=MemRécupère(::Gl_str_mem,::nb_suiv) FIN CAS 116: _EVE.wParam=0 ::Gl_i_Touche=0 SI ::nb_oc >= ::nb_suiv ALORS SI ::nb_oc = ::nb_suiv ALORS SINON ::nb_suiv ++ FIN SI MemExiste(::Gl_str_mem) ALORS {::Gl_str_TabCol}..Bulle=MemRécupère(::Gl_str_mem,::nb_suiv)+" Appuyer sur F3 pour valider F5 choix suivant F4 choix précédent" RETOUR FIN FIN CAS 115: _EVE.wParam=0 ::Gl_i_Touche=0 SI ::nb_suiv >= 1 ALORS SI ::nb_suiv=1 ALORS SINON ::nb_suiv -- FIN SI MemExiste(::Gl_str_mem) ALORS {::Gl_str_TabCol}..Bulle=MemRécupère(::Gl_str_mem,::nb_suiv)+" Appuyer sur F3 pour valider F5 choix suivant F4 choix précédent" FIN SINON {::Gl_str_TabCol}..Bulle=MemRécupère(::Gl_str_mem,::nb_suiv)+" dernier choix" FIN AUTRE CAS: _EVE.wParam=0 ::Gl_i_Touche=0 FIN FIN _EVE.wParam=0 ::Gl_i_Touche=0
Contribution le : 22/02/2006 10:01
|