Trixi_Connect.ProtoConnect = GetFunction(iLIB,"Connect")
Trixi_ReadString.ProtoReadString = GetFunction(iLIB,"ReadString") ; Made for Toni ;-)
Trixi_ReadInteger.ProtoReadInteger = GetFunction(iLib, "ReadInteger")
Das muß nach dem Öffnen der Lib stehen (in dem Code), nuh aber Schluß mit der Spielerei, muß @Work,
Nee, p-ascii geht nicht.
Hier der kommentierte aktuelle Stand:
Float schreiben: wird nur die Ganzzahl geschrieben.
Float lesen: geht wegem dem Punkt anstelle von Komma nicht?
String schreiben funktioniert.
String lesen geht nicht.
Rest funktioniert, siehe Kommentar.
;function Connect(Server: PAnsiChar; Port: Integer): Boolean;
Prototype.l ProtoConnect(Server.p-ascii, Port.i)
Prototype.l ProtoDisconnect()
Prototype.i ProtoRunScript(Variable.i)
Prototype.l ProtoWriteString(Variable.i,Value_Str )
Prototype.l ProtoWriteInteger(Variable.i,Value_Int )
Prototype.l ProtoWriteFloat(Variable.i, Value_Float )
Prototype.l ProtoWriteBoolean(Variable.i,Value_Boolean )
;Prototype.p-ascii ProtoReadString(Variable.i) ; war ein Test
Prototype$ ProtoReadString(Variable.i)
Prototype.i ProtoReadInteger(Variable.i)
Prototype.f ProtoReadFloat(Variable.i)
Prototype.b ProtoReadBoolean(Variable.i)
iLib=OpenLibrary(#PB_Any,"I:\PureBasic450_x86\Helmut\Trixi.dll")
If iLib
Trixi_Connect.ProtoConnect = GetFunction(iLIB,"Connect")
Trixi_Disconnect.ProtoDisconnect = GetFunction(iLIB,"Disconnect")
Trixi_RunScript.ProtoRunScript = GetFunction(iLIB,"RunScript")
Trixi_WriteString.ProtoWriteString = GetFunction(iLIB,"WriteString")
Trixi_WriteInteger.ProtoWriteInteger = GetFunction(iLib, "WriteInteger")
Trixi_WriteFloat.ProtoWriteFloat = GetFunction(iLib, "WriteFloat")
Trixi_WriteBoolean.ProtoWriteBoolean = GetFunction(iLib, "WriteBoolean")
Trixi_ReadString.ProtoReadString = GetFunction(iLIB,"ReadString")
Trixi_ReadInteger.ProtoReadInteger = GetFunction(iLib, "ReadInteger")
Trixi_ReadFloat.ProtoReadFloat = GetFunction(iLib, "ReadFloat")
Trixi_ReadBoolean.ProtoReadBoolean = GetFunction(iLib, "ReadBoolean")
Text.s = "127.0.0.1" : Port.i = 3773
RetVal = Trixi_Connect(Text, Port)
If RetVal
Debug retVal ; gibt 1 zurück bei Verbindung ? Ist aber verbunden
Debug "Verbunden"
Else
Debug "Nicht Verbunden"
EndIf
;function WriteString(Variable: Integer; Value: PAnsiChar):
VariablenNr.i=58976
Value_Str.s="Helmut's Purebasic Beispiel"
RetVal_Write_Write_Str = Trixi_WriteString(VariablenNr, @Value_Str)
Debug "Write_String"
Debug VariablenNr
Debug RetVal_Write_Str ; gibt 0 wieder zurück wenn er erfolgreich geschrieben hat (stimmt)
;function WriteInteger(Variable: Integer; Value: Integer): Integer; stdcall external 'TRIXI.DLL';
VariablenNr.i=22023
Value_Int.i=114
RetVal_Write_Integer = Trixi_WriteInteger(VariablenNr, Value_Int)
Debug "Write_Int"
Debug RetVal_Write_Integer ; gibt 0 wieder zurück wenn er erfolgreich geschrieben hat (stimmt)
VariablenNr.i=12269 ; TrixiBoolean_2
Value_Boolean.i=0
RetVal_Write_Boolean = Trixi_WriteBoolean(VariablenNr, Value_Boolean)
Debug "Write_Boolean"
Debug RetVal_Write_Boolean ; gibt 0 wieder zurück wenn er erfolgreich geschrieben hat Sstimmt)
VariablenNr.i=56003
Value_Float.f=45.8
RetVal_Write_Float = Trixi_WriteFloat(VariablenNr, Value_Float) ; schreibt den Floatwert nicht richtig wegen dem Punkt?
Debug "Write_Float"
Debug Value_Float
Debug RetVal_Write_Float ; gibt 0 wieder zurück wenn er erfolgreich geschrieben hat, Zahl aber nicht übernommen!
VariablenNr.i=56003
RetVal_Read_Float = Trixi_ReadFloat(VariablenNr) ; gibt keine Kommazahlen wieder
Debug "ReadFloat"
Debug RetVal_Read_Float ; gibt den Wert zurück (stimmt)
VariablenNr.i=18629
RetVal_Read_Boolean = Trixi_ReadBoolean(VariablenNr)
Debug "Boolean="
Debug RetVal_Read_Boolean
;Prototype.i ReadInteger(Variable.i)
VariablenNr.i=22023
RetVal_ReadInteger = Trixi_ReadInteger(VariablenNr)
Debug "read Integer"
Debug RetVal_ReadInteger ; gibt den Wert zurück (stimmt)
VariablenNr.i=18629
;Prototype.i ReadString(Variable.i)
VariablenNr.i=58976
RetVal_ReadString$ = Trixi_ReadString(VariablenNr) ; gibt nichts lesbares wieder
Debug "read string"
Debug RetVal_ReadString$ ; Fehler?
VariablenNr.i=12810 ; Text sprechen
RetVal_Run_Script = Trixi_RunScript(VariablenNr) ; startet das Script
Debug "RunScript="
Debug RetVal_RunScript ; gibt 0 zurück bei Erfolg (Stimmt)
RetVal_Disconnect = Trixi_Disconnect()
Debug "Disconnect="
Debug RetVal_Disconnect ; gibt 1 zurück ? Kann ich nicht verifizieren
CloseLibrary(iLib)
EndIf
; Erklärung: Teile in -> http://127.0.0.1:3773/
;................(................................) Rückgabewert
;function Connect(Server: PAnsiChar; Port: Integer): Boolean; stdcall external 'TRIXI.DLL';
;function Disconnect(): Boolean; stdcall external 'TRIXI.DLL';
;function IsOnline(): Boolean; stdcall external 'TRIXI.DLL';
;function WriteString(Variable: Integer; Value: PAnsiChar): Integer; stdcall external 'TRIXI.DLL';
;function WriteInteger(Variable: Integer; Value: Integer): Integer; stdcall external 'TRIXI.DLL';
;function WriteFloat(Variable: Integer; Value: Double): Integer; stdcall external 'TRIXI.DLL';
;function WriteBoolean(Variable: Integer; Value: Boolean): Integer; stdcall external 'TRIXI.DLL';
;function ReadString(Variable: Integer): PAnsiChar; stdcall external 'TRIXI.DLL';
;function ReadInteger(Variable: Integer): Integer; stdcall external 'TRIXI.DLL';
;function ReadFloat(Variable: Integer): Double; stdcall external 'TRIXI.DLL';
;function ReadBoolean(Variable: Integer): Boolean; stdcall external 'TRIXI.DLL';
;function RunScript(Variable: Integer): Integer; stdcall external 'TRIXI.DLL';
eroiere weiter… fragt mich doch Einer: Wozu brauchst du Das?:eek: