Funktionier ebenfalls nur in auto it V 3.1 da ab auto it 3.2 die DLL verwaltung anderst gehandhabt wird.
und keiner weis wie.
Spoiler anzeigen
Global $address,$port,$zustand,$pfad,$ini,$wini,$schleife,$tooltip, $sleep
If not Fileexists("c:\LPT1_in_pc_einlesen_pfad.ini") then
iniWrite( "c:\LPT1_in_pc_einlesen_pfad.ini", "LPT1_0x379_in_pc_einlesen", "pfad", @WorkingDir & "\")
;MsgBox(1,"LPT1_in_pc_einlesen","FEHLER -- Die INI mit dem Filename - c:\LPT1_in_pc_einlesen_pfad.ini - Der section - [LPT1_0x379_in_pc_einlesen] - und dem KEY - pfad = workdir - fehlt --- BITTE erstellen")
MsgBox(4,"LPT1_in_pc_einlesen","bitte legen sie die workdirektory fest -- in C:\c:\LPT1_in_pc_einlesen_pfad.ini")
Exit
EndIf
;$pfad1 = @WorkingDir&"\"
$pfad = IniRead( "c:\LPT1_in_pc_einlesen_pfad.ini", "LPT1_0x379_in_pc_einlesen", "pfad", "")
;$pfad = $pfad1"\"
$ini = $pfad&"LPT1_in_pc_einlesen.ini"
$wini = $pfad&"LPT1_in_pc_einlesen_work.ini"
If FileExists( $ini ) then
iniexists()
Else
MsgBox (4,"LPT1_in_pc_einlesen","kann "& $ini & " nicht finden -- wird erstellt")
iniWrite( $ini, "LPT1_0x379_in_pc_einlesen", "port", "2 ; hier den anzusteuernden Port eintragen")
iniWrite( $ini, "LPT1_0x379_in_pc_einlesen", "zustand", "1 ; 1 für Ja -- 0 für NEIN")
iniWrite( $ini, "LPT1_0x379_in_pc_einlesen", "schleife", "1 ; 1 für Ja -- 0 für NEIN")
iniWrite( $ini, "LPT1_0x379_in_pc_einlesen", "ToolTip", "1 ; 1 für Ja -- 0 für NEIN")
iniWrite( $ini, "LPT1_0x379_in_pc_einlesen", "sleep", "10 ; 10 ms")
;iniWrite( $ini, "LPT1_0x379_in_pc_einlesen", "pfad", $pfad1)
exit
EndIf
Exit
;---------------------------
Func iniexists()
If FileExists( $wini ) then
alliniexists()
Else
MsgBox (4,"LPT1_von_pc_ausgeben","kann "& $wini & " nicht finden -- wird erstellt")
iniWrite( $wini, "LPT1_0x379_in_pc_einlesen_work", "CODE", "0 ; hier wird der aktuelle wert des portes eingefügt ")
exit
EndIf
Exit
EndFunc
;----------------------------
Func alliniexists()
$address = 0x379
$port = IniRead( $ini, "LPT1_0x379_in_pc_einlesen", "port", "2")
$zustand = IniRead( $ini, "LPT1_0x379_in_pc_einlesen", "zustand", "1")
$schleife= IniRead( $ini, "LPT1_0x379_in_pc_einlesen", "schleife", "1")
$tooltip = IniRead( $ini, "LPT1_0x379_in_pc_einlesen", "ToolTip", "0")
$sleep = IniRead( $ini, "LPT1_0x379_in_pc_einlesen", "sleep", "10")
IF $schleife = 0 Then
keineschleife()
ElseIf $schleife = 1 Then
schleife()
else
EndIf
Exit
EndFunc
;-----------------------
Func schleife()
while 1
$schleife= IniRead( $ini, "LPT1_0x379_in_pc_einlesen", "schleife", "1")
IF $schleife = 0 Then
Exit
EndIf
sleep($sleep)
$result = DllCall("inpout32.dll", "short", "Inp32", "short", $address,"short",$port,"short",$zustand)
IniWrite( $wini, "LPT1_0x379_in_pc_einlesen_work", "CODE", $result[0])
IF $tooltip = 1 Then
ToolTip($result[0],0,0)
EndIf
WEnd
EndFunc
exit
;---------------
Func keineschleife()
$result = DllCall("inpout32.dll", "short", "Inp32", "short", $address,"short",$port,"short",$zustand)
IniWrite( $wini, "LPT1_0x379_in_pc_einlesen_work", "CODE", $result[0])
IF $tooltip = 1 Then
ToolTip($result[0],0,0)
Else
EndIf
EndFunc