1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| PROCEDURE Connection_HF_CS()
//serveur HyperFile C/S
gs_NomServeur est une chaîne // Nom du serveur
gn_NumPort est un entier // N° Port serveur
gs_NomBase est une chaîne // Nom de la base de données
nIdFic est un entier
sMaChaîne est une chaîne
Tab_param est un tableau de 1 par 3 chaîne
nLigne est un entier
// Ouverture du fichier parametres de la connexion
nIdFic = fOuvre(SysRep(srAppData)+"\connection.txt", foLectureEcriture)
SI nIdFic=-1 ALORS
Erreur("L'ouverture du fichier a échoué", ErreurInfo())
SINON
// Première ligne
sMaChaîne = fLitLigne(nIdFic)
TANTQUE sMaChaîne<>EOT
// Traitement de la ligne lue
nLigne++
Tab_param[1,nLigne]=sMaChaîne
// Ligne suivante
sMaChaîne = fLitLigne(nIdFic)
FIN
// Fermeture du fichier
fFerme(nIdFic)
FIN
gs_NomServeur=Tab_param[1,1]
gn_NumPort=Tab_param[1,2]
gs_NomBase=Tab_param[1,3]
sRepertoireWDModFic est une chaîne=fRepEnCours()+"\Outils\"
//Nom complet du WDD avec son chemin
sNomCompletWDD est une chaîne=fRepEnCours()+"\Outils\MonAppli.wdd"
//Utilisateur et mot de passe sur le serveur Hyper File (avec les droits de faire la modification de structure des fichiers)
sMotDePasse est une chaîne=gsPassword
//Adresse IP ou non DNS de la machine qui heberge le serveur Hyper File
sAdresseOuNomServeurHF est une chaîne=gs_NomServeur
//Port du serveur Hyper File
nNumPortServeurHF est un entier=gn_NumPort
//Nom de la base de donnees dans laquelle se trouve les fichiers à modifier
sNomBaseDeDonnees est une chaîne=gs_NomBase
sLigneDeCommande est une chaîne
//Construction de la ligne de commande (il suffit d enlever /report pour ne pas avoir une boite de dialogue à la fin)
sLigneDeCommande=ChaîneConstruit([
"%1WDModFic.exe" [-error] [-nobackup] /WDD="%2" /PWD="motdepasse"/SERVER=%3:%4@%5:%6/%7
],ComplèteRep(sRepertoireWDModFic),sNomCompletWDD, gsUser, sMotDePasse, sAdresseOuNomServeurHF, nNumPortServeurHF, sNomBaseDeDonnees)
//Pour test il est possible d afficher la ligne de commande
//Info(sLigneDeCommande)
// Ouvrir la connexion pour test base presente ou infos ok
Changer_connexion(sMotDePasse,sAdresseOuNomServeurHF,sNomBaseDeDonnees)
SI bConnecte=Faux ALORS
TitreSuivant("La connexion au serveur a échoué!")
Erreur("Vérifier la connexion réseau, le nom d'utilisateur ou le mot de passe!")
FinProgramme()
FIN
//Lancement de la modification automatique en attendant la fin
SI PAS LanceAppli(sLigneDeCommande,exeActif,exeBloquant) ALORS
//Echec du lancement, affichage de l erreur
Erreur("Impossible d executer la modification automatique des donnees : ",ErreurInfo(),"Ligne de commande utilisee : ",sLigneDeCommande)
FinProgramme()
SINON
//Modification automatique executee
Changer_connexion(sMotDePasse,sAdresseOuNomServeurHF,sNomBaseDeDonnees)
FIN |
Partager