Altova MapForce 2025 Professional Edition

Générer le code

Accueil Préc Haut Suivant

La liste JScript ci-dessous montre comment ouvrir des documents, définir un document en tant que document actif, itérez au sein des documents ouverts, et générez le code C++.

 

// Initialisez l’objet COM de l’application. Ceci démarrera une nouvelle instance de l’application et
// renvoie son objet COM principal. Dépendant des paramètres COM, l’objet COM principal d’une
// application déjà en cours peut être renvoyée.
try { objMapForce = WScript.GetObject("", "MapForce.Application"); }
catch(err) {}
 
if( typeof( objMapForce ) == "undefined" )
{
try { objMapForce = WScript.GetObject("", "MapForce_x64.Application") }
catch(err)
{
WScript.Echo( "Can't access or create MapForce.Application" );
WScript.Quit();
}
}
 
// si nouvellement lancée, l’application démarrera sans son IU visible. Mettez-la à visible.
objMapForce.Visible = true;
 
// **************************** code snippet pour "Simple Document Access" ************************
 
// Localisez des exemples via la variable d’environnement USERPROFILE. Le chemin doit être adapté aux versions majeures de release.
objWshShell = WScript.CreateObject("WScript.Shell");
majorVersionYear = objMapForce.MajorVersion + 1998
strExampleFolder = objWshShell.ExpandEnvironmentStrings("%USERPROFILE%") + "\\Documents\\Altova\\MapForce" + majorVersionYear + "\\MapForceExamples\\";
 
objMapForce.Documents.OpenDocument(strExampleFolder + "CompletePO.mfd");
//objMapForce.Documents.OpenDocument(strExampleFolder + "Altova_Hierarchical_DB.mfd");
objMapForce.Documents.NewDocument();
 
// **************************** code snippet pour "Simple Document Access" ************************
 
// **************************** code snippet pour "Iteration" ************************************
 
objText = "";
// parcourez tous les documents ouverts utilisant un JScript Enumerator et générez le code c++
pour (var iterDocs = new Enumerator(objMapForce.Documents); !iterDocs.atEnd(); iterDocs.moveNext())
{
objText += "Generated c++ code result for document " + iterDocs.item().Name + " :\n";
objErrorMarkers = iterDocs.item().generateCodeEx(1); // ENUMProgrammingLanguage.eCpp = 1
 
bSuccess = true;
for (var iterErrorMarkers = new Enumerator(objErrorMarkers); !iterErrorMarkers.atEnd(); iterErrorMarkers.moveNext())
{
bSuccess = false;
objText += "\t" + iterErrorMarkers.item().Text + "\n";
}
 
if (bSuccess)
objText += "\tCode generation completed successfully.\n";
 
objText += "\n";
}
 
WScript.Echo(objText);
 
// parcourez tous les documents ouverts utilisant l’accès basé sur l’index pour la collection des documents
pour (i = objMapForce.Documents.Count; i > 0; i--)
objMapForce.Documents.Item(i).Close();
 
 
// **************************** code snippet pour "Iteration" ************************************
 
//objMapForce.Visible = false; // arrêtera l’application si elle n’a plus de connections COM
objMapForce.Visible = true; // maintiendra l’application en cours avec l’IU visible

 

Le code recensé ci-dessus est disponible en tant qu’exemple de fichier (voir Exemples JScript). Pour exécuter le script, démarrez-le d’une fenêtre d’invite de commandes ou depuis Windows Explorer.

© 2018-2024 Altova GmbH