Accueil NCH Software
Accueil | Produits | Télécharger | Acheter | Support technique  

API unifié NCH Software

Solution API complète pour les produits NCH Software

Nos logiciels peuvent être contrôlés par d'autres programmes à l'aide de toute une gamme de méthodes écrites dans un grand nombre de langages informatiques. L'interface de programmation d'application (API) présente un simple moyen de répondre aux besoins de votre système de contrôler nos programmes. L'API rend possible l'échange de requêtes et de données entre différents programmes par des processus divers.



Les différentes méthodes (avec exemples comprenant des « extraits de code ») pour utiliser l'API unifié sont les suivantes :

Ce document est uniquement conçu pour apporter une vue d'ensemble des possibilités et des techniques d'utilisation de l'API unifié. Pour obtenir des informations supplémentaires, veuillez consulter le fichier « readme.html » (en anglais) inclus dans l'archive nchapi.zip. Ce fichier zip contient aussi les fichiers de l'API unifié, ainsi que la totalité des fichiers d'en-tête et source des exemples de travail dans les langages C++, C#, Java, CLI, VB et VBS, ainsi que VB.NET. Ces exemples fonctionneront avec le serveur de test API fourni pour vous aider à configurer votre système. Pour télécharger l'API unifié NCH avec ces exemples cliquez ici...

Dans les exemples ci-dessous, « NCHAPIKey » fait référence à un code de clé API unique qui identifie lequel de nos produits logiciels vous tentez de contrôler et avec lequel vous tentez de communiquer. La totalité des commandes et des arguments sont envoyés par l'API unifié comme chaînes, qui répondent ensuite avec un nombre (valeur de retour de nombre entier) et une chaîne de résultat. Pour plus d'informations sur les codes de clé d'API et pour les commandes et les arguments disponibles pour ce programme particulier, veuillez visiter la page d'accueil et vous reporter à la documentation API spécifique à l'application. Pour trouver la liste complète de nos produits logiciels, cliquez ici...

  Retour vers le haut


Bibliothèque de liens dynamiques (DLL)

Le fichier DLL est un fichier intégré qui fournit l'interface générique requise pour relier les applications nouvelles ou existantes ensemble au niveau du code. Lorsque vous distribuez votre programme, vous devez vous assurer d'inclure et d'adresser correctement le chemin d'accès au fichier DLL. L'exemple suivant concerne le langage C++ (facilement mis en œuvre dans C), qui charge le DLL et envoie une commande, qui renvoie un résultat vers une boîte de message :

#define API_SERVER_KEY "NCHAPIKey"

const unsigned int nArgs = 3;
LPCTSTR szArgs[] = {_T("-testapi"), _T("Autres infos"), _T("etc...")};

typedef DWORD (WINAPI *pFn) (LPCTSTR szProgramKey, UINT nArgs, LPCTSTR  const * szArgs, LPTSTR szResultString);

void SendCommandDLL()
{
  HMODULE hModDll = LoadLibrary(_T("nchapi.dll"));
  pFn pfSendCommand = (pFn)GetProcAddress(hModDll, "NCHAPISendCommand");

  TCHAR szResultString[8096]; 
  if ((pfSendCommand)(_T(API_SERVER_KEY), nArgs, szArgs, szResultString) == 0) {
    MessageBox(NULL, szResultString, _T("Result"), MB_OK);
  }
  FreeLibrary(hModDll);
}

  Retour vers le haut


COM (Component Object Model) / ActiveX

COM permet la réalisation d'une communication entre processus indépendante du langage pour permettre à d'autres programmes de référencer et de transmettre facilement les informations et les requêtes par le biais d'une interface bien définie, quel que soit l'environnement d'ordinateur utilisé. ActiveX est une version d'OLE (Object Linking and Embedding - liaison et incorporation d'objets), qui est une version subsidiaire de COM et qui utilise les mêmes techniques de mise en œuvre. Lorsque l'une ou l'autre méthode est utilisée, vous devez inclure et inscrire le fichier nchapi.dll avec votre distribution.

Sur un ordinateur Windows, pour inscrire le fichier nchapi.dll, vous devez taper la commande suivante dans la fenêtre Exécuter (Démarrer -> Exécuter) une commande similaire à celle-ci :

regsvr32 "nchapi.dll"

L'exemple suivant concerne VB et VBS, qui utilise le COM pour envoyer une commande, qui renvoie un résultat dans une fenêtre pop-up :

Dim shell, client, result
set shell = CreateObject("WScript.Shell")
set client = CreateObject("NCHAPI.Client")

Dim ServerKey
ServerKey = "NCHAPIKey"
Dim nArgs
nArgs = 3
Dim szArgs
szArgs = Array("-testapi", "Autres infos", "etc...")
Dim szResultString

if client.SendCommand(ServerKey, CInt(nArgs), szArgs, szResultString) = 0 then
  result = shell.Popup(szResultString, 0, "Result")
end if

  Retour vers le haut


Interface de ligne de commande ou CLI (Command Line Interface)

La ligne de commande a toujours été un moyen facile de contrôler les applications sans connaissances préalables de langages de programmation spécifiques. Vous pouvez utiliser cette méthode simple de communication de différentes manières, comme l'invite de commande de Windows ou le Planificateur de tâches de Windows. Les communications bidirectionnelles sont possibles, puisque l'API unifié peut renvoyer les valeurs et les informations obtenues. Toutes les commandes sont exécutées de gauche à droite, ce qui signifie que chaque commande est exécutée au fur et à mesure qu'elle est lue par le programme.

La syntaxe générale est la suivante :

nchapi.exe NCHAPIKey -testapi "Autres infos" "etc..."

  Retour vers le haut


Java Native Interface (JNI)

Le JNI est une infrastructure (ou « framework ») qui permet au code Java, traditionnellement indépendant de toute plate-forme, d'utiliser des applications natives (dépendantes de la plate-forme) écrites pour un système d'exploitation donné. Lors de la mise en œuvre de votre programme, vous devez vous assurer d'inclure le fichier nchapi.dll. Les exemples suivants concernent Java ; ils utilisent la JNI pour envoyer une commande et qui renvoient un résultat à une boîte de dialogue de message :

Ce premier exemple utilise simplement la classe NCHAPIClient fournie en tant qu'interface par laquelle l'API unifié NCH est appelé :

import nch.api.NCHAPIClient;

public void sendCommandJNI() {
  String serverKey = "NCHAPIKey";
  String[] szArgs = { "-testapi", "Autres infos", "etc..." };
  NCHAPIClient client = new NCHAPIClient();
  if (client.sendCommand(serverKey, szArgs) == client.NCHAPI_SUCCESS) {
     JOptionPane.showMessageDialog(null, client.getResultString(), "Result", JOptionPane.INFORMATION_MESSAGE);
  }
}
Vous pouvez aussi écrire votre propre version de la classe, mais dans la plupart des cas cela reviendrait simplement à reproduire la classe déjà fournie. Veuillez noter qu'en raison des conditions requises sur la façon dont Java interface avec le code natif, toute classe que vous écrivez doit être nommée nch.api.NCHAPIClient :

package nch.api;
private static native int NCHAPISendCommand(String szServerKey, int nArgs, String[] szArgs, String[] szResultString);

public class NCHAPIClient {

public NCHAPIClient() {
  System.loadLibrary("nchapi");

  private String serverKey = "NCHAPIKey;
  private int nArgs = 3;
  private String[] szArgs = { "-testapi", "Autres infos", "etc..." };
  private String[] szReturnString = null;
  
  if (NCHAPISendCommand(serverKey, nArgs, szArgs, szReturnString) == 0) {
    JOptionPane.showMessageDialog(null, szReturnString, "Result", JOptionPane.INFORMATION_MESSAGE);
  }
}
}

  Retour vers le haut


Microsoft .NET Framework

Cette initiative est la dernière de Microsoft ; elle fournit une autre infrastructure indépendante du langage conçue pour réduire la complexité des communications et du développement. .NET fournit nativement des solutions aux nombreuses conditions requises par les programmes sans obligation de passer par des architectures spécifiques par l'utilisation de l'infrastructure de langage commune (CLI ou Common Language Infrastructure - CLI). Une couche enveloppe (« wrapper ») est utilisée pour que les applications .NET peut accéder la fonctionnalité API unifié.

L'exemple C# suivant utilise .NET, qui renvoie un résultat vers une boîte de message :

public partial class FormMainDialog : Form
{
  NCHApi.Client apiCOMClient;
  public FormMainDialog()
  {
    InitializeComponent();
    apiCOMClient = new NCHApi.Client();
  }
  private void buttonSendCommand_Click(object sender, EventArgs e)
  {
    string ServerKey = "NCHAPIKey";
    int nArgs = 3;
    string[] szArgs = {"-testapi", "Autres infos", "etc..."};
    string szResultString = "";

    if (NCHApi.NCHAPIResult.Success == apiCOMClient.SendCommand(ServerKey, nArgs, szArgs, ref szResultString))
    {
      MessageBox.Show(szResultString, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
  }
}
L'exemple VB.NET suivant utilise .NET, qui renvoie un résultat vers une boîte de message :

Public Class MainForm
  Private Sub buttonSendCommand_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonSendCommand.Click
    Dim comClient As New NCHApi.Client()

    Dim ServerKey As String = "NCHAPIKey"
    Dim nArgs As Integer = 3
    Dim szArgs As String() = New String() {"-testapi", "Autres infos", "etc..."}
    Dim szResultString As String = ""

    Dim res As NCHApi.NCHAPIResult
      res = comClient.SendCommand(ServerKey, nArgs, szArgs, szResultString)
    If (res = NCHApi.NCHAPIResult.Success) Then
      MsgBox(szResultString, MsgBoxStyle.OkOnly & MsgBoxStyle.Information, "Result")
    End If
  End Sub
End Class

  Retour vers le haut


Possibilités infinies

L'utilisation de l'API unifié de NCH Software permet un contrôle largement étendu, avec littéralement des milliers de nouveaux systèmes de configuration flexibles possibles.

Imaginez que vous vous trouvez loin de chez vous et que vous avez oublié d'enregistrer votre flux radiophonique préféré ou de paramétrer le démarrage de l'enregistrement des appels téléphoniques sur VRS ? Composez simplement le numéro de votre système IVM et utilisez les invites pour envoyer des commandes par le biais de l'API unifié aux programmes respectifs, en leur indiquant de commencer à enregistrer.

Et si vous souhaitez paramétrer un poste dans Axon à une heure précise ? Utiliser simplement le Planificateur de Windows et l'API unifié pour envoyer une commande à Axon l'informant de paramétrer le poste approprié. Vous avez besoin de composer automatiquement un numéro mais vous êtes loin de chez vous ? Encore une fois, utilisez le Planificateur de Windows et l'API unifié pour commander IVM ou Express Talk pour passer l'appel à votre place.

  Retour vers le haut


Autres informations

Si vous avez des problèmes à écrire votre application, veuillez consulter le site www.nch.com.au/support.

  Retour vers le haut

  © NCH Software Haut de la page | Confidentialité | Informations légales | Accueil