Voici un example de synchronisation dynamique d'applications et de donnees qui permet de faire la mise a jour des applications et donnees via le menu. A chaque ouverture du menu, si la connexion vers CSWeb est un succes, il synchronise les donnees uniquement pour l'enumerateur en cours. Aussi il synchronise l'application de collecte. Cependant, je n'avais pas utilise MD5 pour savoir si le fichiers sur le server est different. Donc, different ou pas, cette fonction change l'application de collecte.
function syncweb_local_QuestFilles()
numeric success = 1;
if syncconnect(CSWeb,ServerUrl_Intranet,"admin",password_intranet) = 1 then
string datafile=concat(strip(dataFolderFilles),strip(usern),".csdb");
//string dataExtFile=concat(strip(dataFolder),strip(usern),"_ext", ".csdb");
string dbIpbFile=concat(strip(dataFolderFilles),strip(usern),"_ListeEnqueteShow", ".csdb");
setfile (QUESTFILLES,datafile,append);
//setfile (RAPPORT_EXT_DICT,dataExtFile,append);
setfile (PRELISTE_DICT,dbIpbFile,append);
string univers2 = strip (maketext("%v", NUMERO_DU_VICQ));
string univers3 = strip(CODE_DU_VICQ);
If PRENOM_DU_VICQ<>"" then
do ctr = 1 while ctr <=74
if Valeur_code_vicq(ctr)=CODE_DU_VICQ then
if success and not syncdata(BOTH, QUESTFILLES,univers2)then
errmsg("Echec: Les donnees n'ont pas ete synchronisees.");
success = 0;
endif;
//syncdata(BOTH, RAPPORT_EXT_DICT,univers2);
syncdata(BOTH,PRELISTE_DICT,univers3);
endif;
enddo;
endif;
syncfile(GET, "/ShowMiParc_V1/ShowMiParc_mV1.pen");
syncfile(GET, "/ShowMiParc_V1/ShowMiParc_mV1.pff");
syncfile(GET, "/ShowMiParc_V1/Applications/QuestFilles/QuestFilles.pen","../ShowMiParc_V1/Applications/QuestFemmes/QuestFemme.pen");
syncdisconnect();
endif;
end;
Si vous avez besoin plus d'explications, je peux fournir. Neanmoins, sachez que les applications sont concues differemment, ce en fonction des objectifs des travaux et de l'experience du developpeur CSPro.
Bien a Vous!