Origin C-basierte LabTalk-Funktionen gemeinsam nutzen

Einführung

Dieses Tutorial erläutert, wie Code mit anderen Anwendern durch Verteilen der OPX-Dateien gemeinsam genutzt werden kann. In diesem Beispiel werden nur einige Origin C-Dateien verteilt. Bitte beachten Sie jedoch, dass die OPX-Verteilung jeden Dateityp enthalten kann, einschließlich (aber nicht ausschließlich) Projektdateien, Vorlagen und Symbolleisten.


Tutorial

Die folgende Vorgehensweise zeigt Ihnen, wie Sie Ihren Origin C-Code an andere Origin-Anwender verteilen können. In diesem Beispiel wird eine Origin C-Funktion in eine Datei (MyCode.c) in einen Ordner (MyFunctions) unter den Anwenderdateiordner (UFF) gepackt.

  1. Erstellen von Dateispeicherorten
  2. Der Quellpfad für Ihre Dateien sollte für den Computer, für den Ihre OPX-Datei bestimmt ist, zur Verfügung stehen. Der einfachste Weg dafür ist das Erstellen eines Unterordners im Anwenderdateiordner von Origin. Die Dateien oder Ordner des Anwenderdateiordners können dann zu Ihrer OPX-Datei zur Verteilung hinzugefügt werden. Erstellen Sie also einen Unterordner mit dem Namen MyFunctions im Anwenderdateiordner.

  3. Dateien in den Quellpfad kopieren
  4. Kopieren Sie alle zu packenden Dateien in den Unterordner, der im letzten Schritt erstellt wurde. In diesem Fall gibt es nur eine C-Datei (MyCode.c). Die Funktion in dieser Datei wird unten gezeigt.

    	void get_data_from_wks()
    	{
    	    Worksheet wks = Project.ActiveLayer();
    	    if( !wks )
    	    {
    		out_str("Please keep a worksheet active with data");
    		return;
    	    }	
    	 
    	    // The following settings to set range as whole worksheet, 
    	    // index offset is 0, -1 means last row/column.
    	    // Change r1, c1, r2, c2 to specify worksheet sub range, 
    	    // for example, r1 = 0, c1 = 1, r2 = -1, c2 = 2 to 
    	    // select all rows from column 2 to column 3.
    	    int r1 = 0; // first row
    	    int c1 = 0; // first column
    	    int r2 = -1; // last row
    	    int c2 = -1; // last column
    	 
    	    //construct a data range object from worksheet all data
    	    DataRange dr;
    	    dr.Add("X", wks, r1, c1, r2, c2); 
    	 
    	    // get data from worksheet to vector by column one by one    
    	    matrix mData; 
    	    dr.GetData(mData); // get all data to matrix
    	 
    	    for(int nColIndex = 0; nColIndex < mData.GetNumCols(); nColIndex++)
    	    {
    	    	vector vOneCol;
    	    	mData.GetColumn(vOneCol, nColIndex);
    	 
    	    	double min, max;
    	    	vOneCol.GetMinMax(min, max);
    	 
    	    	printf("Maximum value of %d column = %f\n", nColIndex+1, max);
    	    }	
    	}
    	
  5. Ein neues Paket erstellen
  6. Öffnen Sie den Dialog Packdateien verwalten durch Auswahl von Hilfsmittel: Packdateien verwalten. Legen Sie im Dialog die Optionen, wie im folgenden Bild zu sehen, fest.

    Shared OC LT tutorial package-vNext.png

    • Der Modulname wird als der Name des Pakets angezeigt und zum Deinstallieren verwendet.
    • Origin Version benötigt meint die Version von Origin, die mindestens erforderlich ist, um dieses Paket zu erstellen. Sie möchten die Versionsnummer im Format 8.0988 und nicht im Format 8.0SR6 eingeben.
    • Verwenden Sie die Methode run.addoc() im Zweig Nach der Installation des LabTalk Skripts, um den Origin C-Quelldatei in den Arbeitsbereich des Systemordners zu bringen. In diesem Beispiel sieht das folgendermaßen aus:
    		run.addoc(%YMyFunctions\MyCode.c);
    	
    • Klicken Sie auf die Schaltfläche Dateien hinzufügen oder Ordner hinzufügen, navigieren Sie zu den erforderlichen Dateien und fügen Sie sie hinzu. Navigieren Sie in diesem Beispiel zu dem Unterordner (MyFunctions) des Anwenderdateiordners und fügen Sie die C-Datei (MyCode.c) hinzu. Der Pfad des Anwenderdateiordners wird als Quellpfad angezeigt, und die Dateien werden im unteren Bedienfeld aufgelistet.
  7. Paket speichern
  8. Wählen Sie im Menü Datei: Speichern des Dialogs Packdateien verwalten. Geben Sie im Popupdialog Speichern unter einen Namen (in diesem Beispiel kann das MyCode sein) für dieses Paket ein und speichern Sie es als eine OPX-Datei.

  9. Paket verteilen
  10. Senden Sie die gespeicherte OPX-Datei an andere Anwender. Die Anwender, die dieses Paket erhalten, können die OPX-Datei per Drop&Drag in Origin ziehen, um sie installieren. Die Funktionen sind dann in der C-Datei verfügbar.

    • Ziehen Sie die Datei MyCode.opx per Drag&Drop in Origin, um sie zu installieren. Nach der Installation kann die in MyCode.c definierte Funktion get_data_from_wks als LabTalk-Befehl verwendet werden.
    		get_data_from_wks;