LPT in pc einlesen ( 5 kanäle )

  • 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

    2 Mal editiert, zuletzt von vivus (11. Dezember 2007 um 13:25)