Schichten Uhr

  • Guten Morgen, hab leider ein kleines Problem wo ich keine Ahnung hab wie ich es lösen soll
    kann mir jemand weiter helfen?

    Ich hab eine Exel Tabelle, mit Schicht Zeiten - dazu will ich ein Programm welches einen Benachrichtigt wann einer sich anmelden muss und abmelden > X < heißt anmelden < R > Rückruf ,,,,

    Wie löse ich das ganze mit der Zeit ???

    Bsp:
    08.00 bis 08.30 Hotline ( X )
    08.30 bis 09.00 Hotline ( X )
    09.00 bis 09.30 Hotline ( R )
    09.30 bis 10.00 Hotline ( ) >><< Pause

    ich brauch um 08.00 soll ein Hinweißfenster " Anmelden" kommen und um 9.00 "Abmelden" > "Rückruf"

    Kann mir einer Helfen? Bitte ;(

    2 Mal editiert, zuletzt von christiancdj (30. Mai 2012 um 14:50)

  • @min & @HOUR sollten dir doch da weiterhelfen.

    [autoit]

    While 1
    $time = String(@HOUR & "_" & @min)
    If $time = "08_00) Then MsgBox(0, "", "Anmelden!!")
    If $time = "09_00) Then MsgBox(0, "", "Abmelden!!")
    sleep(5000)
    WEnd

    [/autoit]

    ungefähr so könntest du es machen

    §1 Ich kann nicht für meine scripts inhaftiert werden, auch wenn bereits 3 Menschen erblindeten an den Folgen der Korrekturlesung.  8o

  • das klappt schon mal, danke aber was mach ich wenn jemand das Programm außerhalb von 08:00 oder 09:00 bsp um 08:12 startet dann komm kein hinweis.

    hat jemand eine Idee?

  • ich weis leider nicht was du mit reguläre Ausdrücke meinst - bzw wie ich das am besten lösen soll

    kann mir jemand ein bsp posten?

  • Du kannst es ja einfach "aufbröseln", z.B. so:

    [autoit]

    #include <Array.au3>
    $sString = "08.00 bis 08.30 Hotline ( X )" & @CRLF & _
    "08.30 bis 09.00 Hotline ( X )" & @CRLF & _
    "09.00 bis 09.30 Hotline ( R )"

    [/autoit][autoit][/autoit][autoit]

    $aRegExp = StringRegExp($sString, "(\d\d)\.(\d\d) bis (\d\d)\.(\d\d) Hotline \( (X|R) \)", 3)
    _ArrayDisplay($aRegExp)

    [/autoit]


    Und dann kannste ja ganz einfach mit If-Abfragen prüfen, ob die aktuelle Zeit in einem der Zeiträume ist(For-Schleife), oder was du sonst noch machen willst...

  • wie kann ich zwei arrays zusammenführen?

    [autoit][/autoit][autoit][/autoit][autoit]

    local $aArray2 = _ExcelReadArray($oExcel, 25, 3, 25, 1) ;Direction is Vertical
    Local $aArray3 = _ExcelReadArray($oExcel, 1, 1, 35) ;Direction is Horizontal

    [/autoit][autoit][/autoit][autoit]

    Local $avArray [2][35] = [[$aArray2],[$aArray3 ]]
    _ArrayDisplay($avArray, "$test") ; bei mir immer leer

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]


    _ArrayDisplay($avArray,"test") > bei mir ist immer leer .... was mach ich falchs?
    im $aArray2 hab ich 20 werte
    $aArray3 hab ich 34 werte :(

    help

  • öhm ich denke mal so ungefähr:

    [autoit]

    $c = Ubound($array2)
    For $a = 0 To Ubound($Array1)
    $newarray[$a] = $array1[$a]
    Next

    [/autoit][autoit][/autoit][autoit]

    For $b = ($a + 1) To ($a + 1 + $c)
    $newarray[$b] = $array2[$c]
    $c -= 1
    Next

    [/autoit]

    ist ungetestet aber so müsste das gehen :)

    mfg Yellow

    §1 Ich kann nicht für meine scripts inhaftiert werden, auch wenn bereits 3 Menschen erblindeten an den Folgen der Korrekturlesung.  8o

  • Local $avArray [2][35] = [[$aArray2],[$aArray3 ]]

    mit normalen Werten klappt es :( wenn ich 123455667, 5786334 Eintrage gehts
    :(
    Gesendet von meinem X8 mit Tapatalk