TRIXI - Für Programmierer der einfachste Weg zu IPS.

Hallo zusammen…

TRIXI ist ja ein schon recht altes Projekt von mir. Das erste Release war immerhin schon im Sommer 2010. Jetzt, wo IPS neue Wege der Kommunikation geht, gehe ich mit und stelle die nächste Generation vor. TRIXI v0.30 spricht jetzt JSON.

Mir war es wichtig, dass alte Projekte, die ihr mit TRIXI geschrieben habt, möglichst ohne großen Aufwand nach JSON portiert werden können. Darum ist das Interface weitgehend gleich geblieben. Es sollte also genügen TRIXI gegen ihre jüngere Schwester auszutauschen und einen anderen Port, nämlich den eures Webservers (default ist 82), einzustellen. Ich hab das in mehreren meiner alten Projekte getestet.

Aber es ist nicht alles beim Alten geblieben. Die JSON API von IPS bietet ja die Möglichkeit die Kommunikation mit Passwort zu schützen und per SSL zu verschlüsseln. Gerade für eine Verbindung ohne VPN, zum Beispiel per DynDNS, durchs Internet macht das ja auch Sinn. Darum gibt es eine neue Funktion mit Namen ConnectEx, die auf diese Themen ein geht.

Da es in IPS jetzt keine vergleichbare Lösung zur relativ bequemen SOAP-MessageSink mehr gibt, müssen die Variablenänderungen relativ aufwändig gepollt werden. Ich hab euch das mal abgenommen und ihr bekommt die Änderungen weiterhin auf dem „Präsentierteller“ ohne eine Zeile Code anpassen zu müssen.

Als Programmier-Einsteiger hat man hier also die Möglichkeit ohne tiefgreifende Vorkenntnisse in Internet Security, IP-Kommunikation, asynchone Datenverarbeitung oder des JSON Protokolls auf Variablen zuzugreifen oder Scripte auszuführen.

Im Download sind folgende Demos enthalten:

[ul]
[li]Delphi der älteren Generationen (z.B. D7 oder TurboDelphi)[/li][li]Delphi der neueren Generationen (D2009 und neuer)[/li][li]Lazarus/FreePascal[/li][li] Delphi Prism (.Net)[/li][li]C++[/li][li]VB.Net[/li][li]VBA (Excell)[/li][/ul]

Beispiel (Delphi) für das Ausführen eines Scripts:



// TRIXI.dll muss im selben Verzeichnis liegen wie die EXE
function Connect(Server: PAnsiChar; Port: Integer): Boolean; stdcall external 'TRIXI.DLL';
function IsOnline(): Boolean; stdcall external 'TRIXI.DLL';
function RunScript(Variable: Integer): Integer; stdcall external 'TRIXI.DLL';

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Connect(PAnsiChar('127.0.0.1'), 82) then   // IP und Port des IPS Webservers
    showmessage('Connect Okay.')
  else
    showmessage('Hat leider nicht geklappt...');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if isOnline() then   
    RunScript(12345);  // Script ID 
end;

Der [b]Download auf meiner Webseite[/b] enthält auch wieder Demos und Beispiele.

Diese weiterführenden Links haben auch immer noch ihre Gültigkeit:
[TRIXI] Implementation PureBasic
[TRIXI] Implementation Perl
[TRIXI] Implementation C++
[TRIXI] Implementation C#
[TRIXI] Implementation VB
[TRIXI] Implementation AutoIt
[TRIXI] Implementation Delphi 7

Fragen? Anregungen? Lobpreisungen?
Hier nochmal der Link zum TRIXI Diskussionsthread.

Viel Spaß beim Proggen :wink:

Gruß,

Toni

Hallo,
ich wollte mir die Sachen downloaden und ausprobieren. Leider sind die Daten auf deiner Webseite nicht verfügbar. Gibt es eventuell noch einen anderen Link?
mfg

Hi!

Die Webseite von Toni ist leider schon lange offline und durch eine Link-Seite ersetzt worden… Da ist also leider nichts mehr zu bekommen. Leider existieren im Forum noch viele Links auf die Seite und immer wieder landen dort User…

Grüße,
Chris

Danke für die schnelle Info. Über ein paar Umwege bin ich auf die andere Seite gestoßen, hier der Link:
http://www.tonis-welt.de/TRIXI.html

mfg