1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. TOMTOM25m

Beiträge von TOMTOM25m

  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 19:43

    Ich habs im script drinnen gelassen .... so nach dem Motto hilfts nix schadet es nicht

    lg

  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 17:55

    danke erst mal :)

    hier mein script:

    Spoiler anzeigen
    [autoit]

    #include<date.au3>
    #include<file.au3>
    #include <Date.au3>
    #include <Array.au3>

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

    Global $root = IniRead(@ScriptDir &"\Export.ini", "PFADE", "root", "keine Pfad konfiguriert")
    Global $CRS = IniRead($root&"\Scripts\Export.ini", "PFADE", "CRS", "keine Pfad konfiguriert")
    Global $JACDAT = IniRead($root&"\Scripts\Export.ini", "PFADE", "JACDAT", "keine Pfad konfiguriert")

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

    Dim $feiertage
    If Not _FileReadToArray(@ScriptDir &"\feiertage.txt",$feiertage) Then
    MsgBox(4096,"Error", " Keine Feiertage eingelesen ")
    Exit
    EndIf

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

    global $Date = _NowCalcDate()
    ;~ $check = GUICtrlCreateButton("Check Datum", 10, 190, 150, 20)

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

    check($Date)

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

    Func check($Date)
    ;2006/12/05 Default Wert
    Local $GivenDate = $Date

    Do
    If _ArraySearch($feiertage, $Date) <> -1 Then $Date = _DateAdd("D", -1, $Date)
    Until _ArraySearch($feiertage, $Date) = -1

    Local $YearMonthDay = StringSplit($Date, "/")
    Local $weekDay = _DateToDayOfWeek($YearMonthDay[1], $YearMonthDay[2], $YearMonthDay[3])

    Switch $weekDay
    Case 1
    $Date = _DateAdd("D", -2, $Date)
    Case 7
    $Date = _DateAdd("D", -1, $Date)
    EndSwitch

    $BDate= _DateTimeFormat($GivenDate,2)
    $EDate= _DateTimeFormat($Date,2)
    IniWrite("C:\time.stamp", "TIME", "Beginn",$BDate)
    IniWrite("C:\time.stamp", "TIME", "Ende",$EDate)


    MsgBox(0, "Day", "Verarbeitung von : " & $BDate & @CRLF & "wird am " & $EDate & @CRLF & "stattfinden")
    EndFunc ;==>check

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

    Exit

    [/autoit]


    das ist das andere script :)

    Spoiler anzeigen
    [autoit]


    #include <file.au3>
    #include <math.au3>
    #include <Date.au3>
    #include <Array.au3>

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

    $jahr = IniRead(@ScriptDir & "\Export.ini", "FEIERTAGS_JAHR", "FETA", "")
    ;~ $jahr =2006
    $txtFile = "Feiertage.txt"
    $Pfad = @ScriptDir & "\" & $txtFile
    $arFeiertage = _Feiertage($jahr)
    $file = FileOpen($Pfad, 2)
    For $i = 0 To UBound($arFeiertage)-1
    FileWriteLine($file, $arFeiertage[$i])
    Next
    FileClose($file)




    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Funktion _Feiertage($Jahr)
    ;
    ; gibt die Feiertage des übergebenen Jahres
    ; als sortiertes Array[TT.MM.JJJJ \ Feiertag] zurück
    ; (Trennzeichen veränderbar über Variable: $Delimiter)
    ;
    ; Autor BugFix ([email='bugfix@autoit.de'][/email])
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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


    Func _Feiertage($year)
    Dim $4AdvDat, $3AdvDat, $2AdvDat, $1AdvDat, $TotSoDat, $BuBDat, $MutterDat, $ErnteDat, $tmp, $Delimiter = "."
    Dim $HDays[21]

    ;fixe Feiertage
    $HDays[0] = $year & "/01/01" ;& $Delimiter & "Neujahr"
    $HDays[1] = $year & "/01/06" ;& $Delimiter & "Heilige Drei Könige"
    $HDays[2] = $year & "/05/01" ;& $Delimiter & "Maifeiertag"
    $HDays[3] = $year & "/08/15" ;& $Delimiter & "Mariä Himmelfahrt"
    $HDays[4] = $year & "/10/26" ;& $Delimiter & "Nationalfeiertag"
    $HDays[5] = $year & "/11/01" ;& $Delimiter & "Allerheiligen"
    $HDays[6] = $year & "/12/08" ;& $Delimiter & "Mariä Empfängnis"
    $HDays[7] = $year & "/12/25" ;& $Delimiter & "1. Weihnachtsfeiertag"
    $HDays[8] = $year & "/12/26" ;& $Delimiter & "2. Weihnachtsfeiertag"

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

    ;variable Feiertage
    $aa = Mod($year, 19)
    $bb = Mod($year, 4)
    $cc = Mod($year, 7)
    $H1 = Int($year / 100)
    $H2 = Int($year / 400)
    $N = 4 + $H1 - $H2
    $MM = 15 + $H1 - $H2 - _Floor (Int((8 * $H1 + 13) / 25))
    $dd = Mod((19 * $aa + $MM), 30)
    $ee = Mod((2 * $bb + 4 * $cc + 6 * $dd + $N), 7)
    If $dd + $ee = 35 Then
    $Easter = 50
    Else
    If $dd = 28 And $ee = 6 And $aa > 10 Then
    $Easter = 49
    Else
    $Easter = 22 + $dd + $ee
    EndIf
    EndIf
    If $Easter < 32 Then
    $EasterDay = $Easter
    $EasterMonth = "03"
    Else
    $EasterDay = $Easter - 31
    $EasterMonth = "04"
    EndIf
    If $EasterDay < 10 Then
    $EasterDay = "0" & $EasterDay
    EndIf

    If $year < 1900 Then ;Datumsoperationen nur mgl. wenn > 1900 , Jahr wird konvertiert
    $RestJahr = Mod($year, 100)
    If _DateIsLeapYear($year) Then
    If $RestJahr < 10 Then
    $RestJahr = "0" & $RestJahr
    EndIf
    $Tempyear = 20 & $RestJahr
    Else
    If $RestJahr < 10 Then
    $RestJahr = "0" & $RestJahr
    EndIf
    $Tempyear = 19 & $RestJahr
    EndIf
    $EasterDate = $Tempyear & "/" & $EasterMonth & "/" & $EasterDay
    Else
    $EasterDate = $year & "/" & $EasterMonth & "/" & $EasterDay
    EndIf
    $WFastDate = _DateAdd( 'd', -52, $EasterDate)
    $RosDat = _DateAdd( 'd', -48, $EasterDate)
    $FastDat = _DateAdd( 'd', -47, $EasterDate)
    $AschDat = _DateAdd( 'd', -46, $EasterDate)
    $GrDoDat = _DateAdd( 'd', -3, $EasterDate)
    $KarDat = _DateAdd( 'd', -2, $EasterDate)
    $OSaDat = _DateAdd( 'd', -1, $EasterDate)
    $OSoDat = $EasterDate
    $OMoDat = _DateAdd( 'd', 1, $EasterDate)
    $HiFaDat = _DateAdd( 'd', 39, $EasterDate)
    $PfSoDat = _DateAdd( 'd', 49, $EasterDate)
    $PfMoDat = _DateAdd( 'd', 50, $EasterDate)
    $FroDat = _DateAdd( 'd', 60, $EasterDate)

    ;Ermitteln nicht von Ostern abhängiger, veränderlicher Feiertage
    ;Muttertag = 2. Sonntag im Mai ABER wenn Pfingsten = 2.Sonntag im Mai dann ist Muttertag am 1. Sonntag
    ;Der 2. Sonntag kann nur zw. dem 8. u. 14.5. liegen
    For $maitag = 8 To 14
    If _DateToDayOfWeek($year, 5, $maitag) = 1 Then
    If $maitag < 10 Then
    $maitag = "0" & $maitag
    EndIf
    $MutterDat = $year & "/05/" & $maitag
    If $MutterDat = $PfSoDat Then
    $MutterDat = _DateAdd( 'd', -7, $year & "/05/" & $maitag)
    EndIf
    ExitLoop
    EndIf
    Next

    ;Erntedankfest 1. Sonntag im Oktober (zw. 1. u. 7.10.)
    For $oktobertag = 1 To 7
    If _DateToDayOfWeek($year, 10, $oktobertag) = 1 Then
    $oktobertag = "0" & $oktobertag
    $ErnteDat = $year & "/10/" & $oktobertag
    ExitLoop
    EndIf
    Next

    ;4.Advent = Sonntag vor 25.12. (zw. 18. u. 24.12.)
    For $deztag = 18 To 24
    If _DateToDayOfWeek($year, 12, $deztag) = 1 Then
    $4AdvDat = $year & "/12/" & $deztag
    $3AdvDat = _DateAdd( 'd', -7, $4AdvDat)
    $2AdvDat = _DateAdd( 'd', -14, $4AdvDat)
    $1AdvDat = _DateAdd( 'd', -21, $4AdvDat)
    $TotSoDat = _DateAdd( 'd', -28, $4AdvDat)
    $BuBDat = _DateAdd( 'd', -32, $4AdvDat)
    ExitLoop
    EndIf
    Next

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

    $HDays[09] = $OSaDat ;& $Delimiter & "Ostersamstag"
    $HDays[10] = $OSoDat ;& $Delimiter & "Ostersonntag"
    $HDays[11] = $OMoDat ;& $Delimiter & "Ostermontag"
    $HDays[12] = $HiFaDat ;& $Delimiter & "Christi Himmelfahrt"
    $HDays[13] = $PfSoDat ;& $Delimiter & "Pfingstsonntag"
    $HDays[14] = $PfMoDat ;& $Delimiter & "Pfingstmontag"
    $HDays[15] = $FroDat ;& $Delimiter & "Fronleichnam"
    $HDays[16] = $TotSoDat ;& $Delimiter & "Totensonntag"
    $HDays[17] = $1AdvDat ;& $Delimiter & "1. Advent"
    $HDays[18] = $2AdvDat ;& $Delimiter & "2. Advent"
    $HDays[19] = $3AdvDat ;& $Delimiter & "3. Advent"
    $HDays[20] = $4AdvDat ;& $Delimiter & "4. Advent"
    _ArraySort($HDays)
    ;Datum konvertieren zu TT.MM.JJJJ
    For $i = 0 To 20
    $tmp = StringSplit($HDays[$i], $Delimiter)
    $HDays[$i] = StringMid($tmp[1], 1, 4) & "/" & StringMid($tmp[1], 6, 2) & "/" & StringMid($tmp[1], 9) ;& $Delimiter & $tmp[2]
    Next
    Return $HDays
    EndFunc ;==>_Feiertage

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 17:38

    was auch noch wäre ist das z.b. der 10.12.06 ein Sonntag und aber der Freitag (08.12.06) ein Feiertag ist.

    aber diesen Freitag (Feiertag) berücksichtigt er nicht :(


    lg

  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 17:18

    Ja es konnte mir sehr gut weiter helfen

    ich musste es umbauen da wir in Austria etwas andere Feiertage haben.

    (Nationalfeiertag) dazu
    und
    (Tag der deutschen Zweisamkeit) weg

    aber ich bekomme den 26.11.2006 mit ins output file

    dieser ist in Österreich kein Feiertag

    kannst mir das noch rausschmeissen ?

    lg

    TOM

    viele grüße aus Wien

  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 16:24

    Ich will den schon aber es ist ja kein Feiertag also muss es ein Arbeitstag sein :(

    also darf er nicht in der liste stehen

    lg

  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 15:26

    Hi du hab das ganze auf unsere Österreichischen Feiertage angepasst blos hab ich ein Problem mit einem Datum 26.11.2006 dieses Datum hab ich eigentlich nicht definiert ....

    Es stimmen alle Feiertage bis auf den einen dieser ist ein normaler Arbeitstag

    Spoiler anzeigen
    [autoit]


    #include <file.au3>
    #include <math.au3>
    #include <Date.au3>
    #include <Array.au3>

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

    ;~ $jahr = IniRead(@ScriptDir & "\Export.ini", "FEIERTAGS_JAHR", "FETA", "")
    ;~ $jahr =2006
    $txtFile = "Feiertage.txt"
    $Pfad = @ScriptDir & "\" & $txtFile
    $arFeiertage = _Feiertage(2006)
    $file = FileOpen($Pfad, 2)
    For $i = 0 To UBound($arFeiertage)-1
    FileWriteLine($file, $arFeiertage[$i])
    Next
    FileClose($file)




    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; Funktion _Feiertage($Jahr)
    ;
    ; gibt die Feiertage des übergebenen Jahres
    ; als sortiertes Array[TT.MM.JJJJ \ Feiertag] zurück
    ; (Trennzeichen veränderbar über Variable: $Delimiter)
    ;
    ; Autor BugFix ([email='bugfix@autoit.de'][/email])
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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


    Func _Feiertage($year)
    Dim $4AdvDat, $3AdvDat, $2AdvDat, $1AdvDat, $TotSoDat, $BuBDat, $MutterDat, $ErnteDat, $tmp, $Delimiter = "."
    Dim $HDays[21]

    ;fixe Feiertage
    $HDays[0] = $year & "/01/01" ;& $Delimiter & "Neujahr"
    $HDays[1] = $year & "/01/06" ;& $Delimiter & "Heilige Drei Könige"
    $HDays[2] = $year & "/05/01" ;& $Delimiter & "Maifeiertag"
    $HDays[3] = $year & "/08/15" ;& $Delimiter & "Mariä Himmelfahrt"
    $HDays[4] = $year & "/10/26" ;& $Delimiter & "Nationalfeiertag"
    $HDays[5] = $year & "/11/01" ;& $Delimiter & "Allerheiligen"
    $HDays[6] = $year & "/12/08" ;& $Delimiter & "Mariä Empfängnis"
    $HDays[7] = $year & "/12/25" ;& $Delimiter & "1. Weihnachtsfeiertag"
    $HDays[8] = $year & "/12/26" ;& $Delimiter & "2. Weihnachtsfeiertag"

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

    ;variable Feiertage
    $aa = Mod($year, 19)
    $bb = Mod($year, 4)
    $cc = Mod($year, 7)
    $H1 = Int($year / 100)
    $H2 = Int($year / 400)
    $N = 4 + $H1 - $H2
    $MM = 15 + $H1 - $H2 - _Floor (Int((8 * $H1 + 13) / 25))
    $dd = Mod((19 * $aa + $MM), 30)
    $ee = Mod((2 * $bb + 4 * $cc + 6 * $dd + $N), 7)
    If $dd + $ee = 35 Then
    $Easter = 50
    Else
    If $dd = 28 And $ee = 6 And $aa > 10 Then
    $Easter = 49
    Else
    $Easter = 22 + $dd + $ee
    EndIf
    EndIf
    If $Easter < 32 Then
    $EasterDay = $Easter
    $EasterMonth = "03"
    Else
    $EasterDay = $Easter - 31
    $EasterMonth = "04"
    EndIf
    If $EasterDay < 10 Then
    $EasterDay = "0" & $EasterDay
    EndIf

    If $year < 1900 Then ;Datumsoperationen nur mgl. wenn > 1900 , Jahr wird konvertiert
    $RestJahr = Mod($year, 100)
    If _DateIsLeapYear($year) Then
    If $RestJahr < 10 Then
    $RestJahr = "0" & $RestJahr
    EndIf
    $Tempyear = 20 & $RestJahr
    Else
    If $RestJahr < 10 Then
    $RestJahr = "0" & $RestJahr
    EndIf
    $Tempyear = 19 & $RestJahr
    EndIf
    $EasterDate = $Tempyear & "/" & $EasterMonth & "/" & $EasterDay
    Else
    $EasterDate = $year & "/" & $EasterMonth & "/" & $EasterDay
    EndIf
    $WFastDate = _DateAdd( 'd', -52, $EasterDate)
    $RosDat = _DateAdd( 'd', -48, $EasterDate)
    $FastDat = _DateAdd( 'd', -47, $EasterDate)
    $AschDat = _DateAdd( 'd', -46, $EasterDate)
    $GrDoDat = _DateAdd( 'd', -3, $EasterDate)
    $KarDat = _DateAdd( 'd', -2, $EasterDate)
    $OSaDat = _DateAdd( 'd', -1, $EasterDate)
    $OSoDat = $EasterDate
    $OMoDat = _DateAdd( 'd', 1, $EasterDate)
    $HiFaDat = _DateAdd( 'd', 39, $EasterDate)
    $PfSoDat = _DateAdd( 'd', 49, $EasterDate)
    $PfMoDat = _DateAdd( 'd', 50, $EasterDate)
    $FroDat = _DateAdd( 'd', 60, $EasterDate)

    ;Ermitteln nicht von Ostern abhängiger, veränderlicher Feiertage
    ;Muttertag = 2. Sonntag im Mai ABER wenn Pfingsten = 2.Sonntag im Mai dann ist Muttertag am 1. Sonntag
    ;Der 2. Sonntag kann nur zw. dem 8. u. 14.5. liegen
    For $maitag = 8 To 14
    If _DateToDayOfWeek($year, 5, $maitag) = 1 Then
    If $maitag < 10 Then
    $maitag = "0" & $maitag
    EndIf
    $MutterDat = $year & "/05/" & $maitag
    If $MutterDat = $PfSoDat Then
    $MutterDat = _DateAdd( 'd', -7, $year & "/05/" & $maitag)
    EndIf
    ExitLoop
    EndIf
    Next

    ;Erntedankfest 1. Sonntag im Oktober (zw. 1. u. 7.10.)
    For $oktobertag = 1 To 7
    If _DateToDayOfWeek($year, 10, $oktobertag) = 1 Then
    $oktobertag = "0" & $oktobertag
    $ErnteDat = $year & "/10/" & $oktobertag
    ExitLoop
    EndIf
    Next

    ;4.Advent = Sonntag vor 25.12. (zw. 18. u. 24.12.)
    For $deztag = 18 To 24
    If _DateToDayOfWeek($year, 12, $deztag) = 1 Then
    $4AdvDat = $year & "/12/" & $deztag
    $3AdvDat = _DateAdd( 'd', -7, $4AdvDat)
    $2AdvDat = _DateAdd( 'd', -14, $4AdvDat)
    $1AdvDat = _DateAdd( 'd', -21, $4AdvDat)
    $TotSoDat = _DateAdd( 'd', -28, $4AdvDat)
    $BuBDat = _DateAdd( 'd', -32, $4AdvDat)
    ExitLoop
    EndIf
    Next

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

    $HDays[09] = $OSaDat ;& $Delimiter & "Ostersamstag"
    $HDays[10] = $OSoDat ;& $Delimiter & "Ostersonntag"
    $HDays[11] = $OMoDat ;& $Delimiter & "Ostermontag"
    $HDays[12] = $HiFaDat ;& $Delimiter & "Christi Himmelfahrt"
    $HDays[13] = $PfSoDat ;& $Delimiter & "Pfingstsonntag"
    $HDays[14] = $PfMoDat ;& $Delimiter & "Pfingstmontag"
    $HDays[15] = $FroDat ;& $Delimiter & "Fronleichnam"
    $HDays[16] = $TotSoDat ;& $Delimiter & "Totensonntag"
    $HDays[17] = $1AdvDat ;& $Delimiter & "1. Advent"
    $HDays[18] = $2AdvDat ;& $Delimiter & "2. Advent"
    $HDays[19] = $3AdvDat ;& $Delimiter & "3. Advent"
    $HDays[20] = $4AdvDat ;& $Delimiter & "4. Advent"
    _ArraySort($HDays)
    ;Datum konvertieren zu TT.MM.JJJJ
    For $i = 0 To 20
    $tmp = StringSplit($HDays[$i], $Delimiter)
    $HDays[$i] = StringMid($tmp[1], 9) & "." & StringMid($tmp[1], 6, 2) & "." & StringMid($tmp[1], 1, 4) ;& $Delimiter & $tmp[2]
    Next
    Return $HDays
    EndFunc ;==>_Feiertage

    [/autoit]

    Ich bekomme einen Feiertag den ich nicht definiert habe :(

    Feiertag.txt

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

    01.01.2006
    06.01.2006
    15.04.2006
    16.04.2006
    17.04.2006
    01.05.2006
    25.05.2006
    04.06.2006
    05.06.2006
    15.06.2006
    15.08.2006
    26.10.2006
    01.11.2006
    26.11.2006
    03.12.2006
    08.12.2006
    10.12.2006
    17.12.2006
    24.12.2006
    25.12.2006
    26.12.2006

    [/autoit]
  • Feiertags Berechnung

    • TOMTOM25m
    • 5. Dezember 2006 um 10:36

    Hallo Leute,

    ich brauch dringend eure Hilfe: (muss mit dem Script spätestens am Mittwoch online gehen)

    Ich muss ein Script schreiben das das Journal Datum einen Tag vor dem Feiertag setzt.
    zur Erklärung Journal Datum: das Journal wird in eine Datei exportiert. wir müssten vorher manuell das von und das bis Datum eingeben.

    (von einen Tag vorm Feiertag bis jetzigen Arbeitstag z.B. von 24.12.2006 bis 27.12.2006 !! ACHTUNG: Wochenende also nicht vom 24.12.2006 sondern, durch das Wochenende bedingt vom 22.12.2006)

    das gleiche ist am Wochenende: wenn Sonntag das Script läuft muss das von Datum auf Freitag gesetzt werden. (von Freitag bis Sonntag)

    dies will ich automatisieren.

    diese Script soll von Sonntag bis Freitag Nacht laufen.

    die Feiertage sollten in einer Feiertage.txt stehen oder (evtl. automatisch berechnet werden)

    so mein angefangenes Script:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    Global $root = IniRead(@ScriptDir &"\Export.ini", "PFADE", "root", "keine Pfad konfiguriert")
    Global $CRS = IniRead($root&"\Scripts\Export.ini", "PFADE", "CRS", "keine Pfad konfiguriert")
    Global $JACDAT = IniRead($root&"\Scripts\Export.ini", "PFADE", "JACDAT", "keine Pfad konfiguriert")
    Global $feita = IniRead($root&"\time.stamp", "Feiertag", "Beginn", "keine Pfad konfiguriert")

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

    ;-Time.wbt------------------------------------------------------------------------;
    ; Sicherung des Beginndatums in einer TMP Datei ;
    ;---------------------------------------------------------------------------------------;

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

    ;-Errechnung des Belegdatums----------------------------------------------------------------------------;
    ;Errechnung des Wochentags

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

    $WOTAG = _DateDayOfWeek( @WDAY, 1 )

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

    ;Errechnung des Feiertagdatums

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

    $path = @ScriptDir & "\Feiertage.txt"

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

    If _isFeiertag($path) = 1 Then

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

    ;~ $sNewDate = _DateAdd( 'd',-1, _NowCalcDate())
    ;~ $FDate= _DateTimeFormat($sNewDate,2)
    ;~ IniWrite($root&"\time.stamp", "Feiertag", "Beginn",$FDate)

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

    ;~ $FENDate= _DateTimeFormat(_NowCalcDate(),2)
    ;~ IniWrite($root&"\time.stamp", "Feiertag", "Ende",$FENDate)

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

    ;~ MsgBox(64, "Heute ausführen?", "Nein es ist Feiertag")
    Else


    ;~ Errechnung des Beginndatum
    If $WOTAG = "Son" THEN
    $sNewDate = _DateAdd( 'd',-2, _NowCalcDate())
    $BDate= _DateTimeFormat($sNewDate,2)
    IniWrite($root&"\time.stamp", "TIME", "Beginn",$BDate)
    else
    $BNDate= _DateTimeFormat( _NowCalcDate(),2)
    IniWrite($root&"\time.stamp", "TIME", "Beginn",$BNDate)
    Endif

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

    ;Errechnung des Enddatum

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

    $ENDate= _DateTimeFormat( _NowCalcDate(),2)
    IniWrite($root&"\time.stamp", "TIME", "Ende",$ENDate)

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

    ;~ MsgBox(64, "Heute ausführen?", "Ja")
    EndIf

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

    Func _isFeiertag($s_path)
    global $dates
    If Not _FileReadToArray($s_path, $dates) Then Return -1

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

    For $i = 1 To $dates[0]
    If $dates[$i] = _NowDate() Then
    Return 1
    EndIf
    Next
    Return 0
    EndFunc ;==>_isFeiertag

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

    Feiertags.txt
    z.B.:
    04.12.2006
    05.12.2006
    08.12.2006
    25.12.2006
    26.12.2006
    01.01.2007

    time.stamp:

    [TIME]
    Beginn=04.12.2006
    Ende=04.12.2006

    [Feiertag]
    Beginn=
    Ende=

  • Winbatch Schript in AutoIt Script umwandeln

    • TOMTOM25m
    • 27. September 2006 um 21:59

    :keks:

  • Winbatch Schript in AutoIt Script umwandeln

    • TOMTOM25m
    • 26. September 2006 um 22:37
    Zitat

    Original von th.meger
    Hi,

    also:

    Wo guckst du, wann die Verarbeitung war?

    es komt eine GUI die sagt z.B. "MIS Verarbeitung fertig", ansonsten kann man im Jack.log nachschauen

    Läuft es so?

    1. In einer Datei gucken, von welchen Tag sie ist
    2. den Tag wie oben beschrieben zurücksetzen?

    Ich weiß noch nicht, was du eigentlich machen mußt?

    So long,

    Mega

    PS Vielleicht per ICQ

    Alles anzeigen

    Hi du,

    dieses script ist ein teil eines anderen scriptes.

    so das haupt script:

    Spoiler anzeigen
    [autoit]


    ;-FAIRCOMS.WBT--------------------------------------------------------------------------;
    ; ;
    ; Die FAIRCOMS Datenbank auf dem JACK1 Server wird vor der NT Sicherung (NTBACKUP) ;
    ; beendet. Nach der Sicherung wird die Datenbank wieder gestartet. ;
    ; ;
    ;---------------------------------------------------------------------------------------;

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

    RunWait(Environment("COMSPEC"), "/c echo START BATCH VERARBEITUNG >>D:\Jack1.log")
    RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")

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

    DirChange("D:")

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

    ;-Time.wbt-------------------------------------------------------------------------------;
    Call("\WBTFiles\Time.wbt", 0)

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

    ;-CopyJackEnd.bat------------------------------------------------------------------------;
    RunWait(Environment("COMSPEC"), "/c echo CopyJackEnd >>D:\Jack1.log")
    RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")
    RunWait("\CopyJackEnd.bat","")
    Delay(900)
    ;Delay(15)

    ;-DeleteJackEnd.bat----------------------------------------------------------------------;
    RunWait(Environment("COMSPEC"), "/c echo DeleteJackEnd.bat >>D:\Jack1.log")
    RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")
    RunWait("\DeleteJackEnd.bat","")
    Delay(15)

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

    ;-FileDelete.wbt-------------------------------------------------------------------------;

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

    Call("\WBTFiles\FileDelete.wbt", 0)

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

    WinActivate("FAIRCOMS - FairCom")
    Delay(5)
    SendKey("!c")
    Delay(5)
    SendKey("s")
    Delay(5)
    ;-Administrator User-------------------------------------------------------------------;
    ClipPut("ADMIN")
    SendKey("^v")
    Delay(5)
    ;-Password-----------------------------------------------------------------------------;
    SendKey("{TAB}")
    Delay(5)
    ClipPut("******")
    Delay(5)
    SendKey("^v")
    Delay(5)
    SendKey("{Enter}")
    Delay(5)
    SendKey("{Enter}")

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

    Delay(30)

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

    If WinExist("FairCom") == @TRUE
    Delay(5)
    SendKey("!c")
    Delay(5)
    SendKey("s")
    Delay(5)
    ClipPut("ADMIN")
    Delay(5)
    SendKey("^v")
    Delay(5)
    SendKey("{Enter}")
    Delay(5)
    SendKey("{TAB}")
    Delay(5)
    SendKey("{Enter}")
    Delay(30)
    EndIf

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

    Delay(30)

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

    ;-Rebuild-------------------------------------------------------------------------------;

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

    ;Call("\WBTFiles\Rebuild_01.wbt", 0)
    ;---------------------------------------------------------------------------------------;
    RunWait("\WBTFiles\Save_NACH_Rebuild.bat","")
    Delay(15)
    ;---------------------------------------------------------------------------------------;
    RunWait("\WBTFiles\Säuberung v JackDat.bat","")
    ;---------------------------------------------------------------------------------------;
    ;-MIS-Übernahme OHNE FAIRCOMS - Datenbank-----------------------------------------------;
    Call("\WBTFiles\MIS.wbt", 0)
    ;---------------------------------------------------------------------------------------;
    ;-tägliches Saldenerneuern und Komplettrebuild -----------------------------------------;
    Call("\WBTfiles\Salden_Rebuild\Salden_Rebuild.wbt", 0)
    ;---------------------------------------------------------------------------------------;
    Delay(10)
    DirChange("\JackDat")
    Delay(5)
    Run("Ctsrvr.exe","")
    Delay(20)
    Run("\WBTfiles\SendSMS.exe", "")
    ;---------------------------------------------------------------------------------------;
    RunWait(Environment("COMSPEC"), "/c echo ENDE BATCH VERARBEITUNG >>D:\Jack1.log")
    RunWait(Environment("COMSPEC"), "/c time /T >>D:\Jack1.log")

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

    Return

    [/autoit]


    so vielcith kann dir das weiter helfen

    das Script macht die nächtlichen Wartungsarbeiten bei unserem Jack (Reisebüroverwaltungsprogramm)

    lg

  • Winbatch Schript in AutoIt Script umwandeln

    • TOMTOM25m
    • 26. September 2006 um 22:25

    Das steht in der Feiertag.TXT drinnen

    [autoit]

    ;Aktivierung des Beginn/Enddatum
    Deaktivierung des Beginn/Enddatum
    14.08.2006
    15.08.2006

    [/autoit]

    Ich würde aber gerne alle österreichischen Feiertage in diese Feiertag.TXT reintun da der Vergessensfaktor bei uns in der Abteilung sehr hoch ist


    lg

  • Winbatch Schript in AutoIt Script umwandeln

    • TOMTOM25m
    • 26. September 2006 um 14:17

    Dieses Script setzt einen TimeStamp für eine Datenüberleitung.

    d.H.
    wenn Dienstag die Verarbeitung war setzt er den TimeStamp auf Montag (Die Montag Daten sollen übergeleitet werden)
    Mo --> Fr - Sa - So
    Di --> Mo
    Mi --> Di
    Do --> Mi
    Fr --> Do


    wenn Montag die Überleitung Ist dann soll er die Daten von Fr. bis Sonntag Überleiten

    diese Daten brauchen wir für ein Journal export

  • Winbatch Schript in AutoIt Script umwandeln

    • TOMTOM25m
    • 26. September 2006 um 12:45

    kann mir keiner helfen ??

  • Winbatch Schript in AutoIt Script umwandeln

    • TOMTOM25m
    • 26. September 2006 um 10:01

    wie kann ich dieses WINBATCHScript in ein Autoit Script umsetzen ?

    Spoiler anzeigen


    ;-Time.wbt------------------------------------------------------------------------;
    ; Sicherung des Beginndatums in einer TMP Datei ;
    ;---------------------------------------------------------------------------------------;

    ;-Errechnung des Belegdatums----------------------------------------------------------------------------;
    ;Errechnung des Wochentags
    a=TimeYmdHms( )
    ;Korrektur des Datums aufgrund Batchbeginn am nächsten Tag;
    ;a=TimeSubtract(a, "0000:00:01:00:00:00")
    ;message ("Zeit", a);
    b=TimeJulianDay(a)
    c=(b+5) mod 7
    Wochentag = ItemExtract(c+1, "SON MON DIE MIT DON FRE SAM", " ")

    ;Errechnung des Beginndatum
    If Wochentag == "SON" THEN
    newtime=TimeSubtract(a, "0000:00:00:48:00:00")
    Jahr = StrSub(newtime, 1, 4)
    Monat = StrSub(newtime, 6, 2)
    Tag = StrSub(newtime, 9, 2)
    Beginndatum = StrCat(Tag,".",Monat,".",Jahr)
    Delay(1)
    else
    newtime=TimeSubtract(a, "0000:00:00:00:00:00")
    Jahr = StrSub(newtime, 1, 4)
    Monat = StrSub(newtime, 6, 2)
    Tag = StrSub(newtime, 9, 2)
    Beginndatum = StrCat(Tag,".",Monat,".",Jahr)
    Delay(1)
    Endif

    ;Errechnung des Enddatum
    newtime=TimeSubtract(a, "0000:00:00:00:00:00")
    Jahr = StrSub(newtime, 1, 4)
    Monat = StrSub(newtime, 6, 2)
    Tag = StrSub(newtime, 9, 2)
    Enddatum = StrCat(Tag,".",Monat,".",Jahr)
    Delay(1)

    ;Errechnung des Feiertagdatums
    Feiertag = ""
    Feiertagflag = "NEIN"

    ;message ("Beginndatum", Beginndatum);
    ;message ("Enddatum", Enddatum);


    fHandle = FileOpen("\WBTfiles\Feiertag.txt", "READ")
    While @TRUE
    Feiertag = FileRead(fHandle)
    If Feiertag == "*EOF*" Then Break
    ClipPut(Feiertag)
    If Feiertag == ";Deaktivierung des Beginn/Enddatum" then
    Beginndatum = FileRead(fHandle)
    Feiertagflag = "JA"
    Enddatum = FileRead(fHandle)
    Endif
    Endwhile
    FileClose(fHandle)


    ;-Sicherung in einer TMP Datei-------------------------------------------------------------------------------;
    handle = FileOpen("\Time.tmp", "WRITE")
    FileWrite(handle, Beginndatum)
    FileWrite(handle, Enddatum)

    If Feiertagflag == "NEIN" then
    FileWrite(handle, Wochentag)
    Endif

    If Feiertagflag == "JA" then
    FileWrite(handle, "Das Beginn/Enddatum wurde aus der Datei Feiertag.txt ausgelesen.")
    Endif
    FileClose(handle)


    Return


    Ich will die Firma vom Winbatch script abbringen ( ZU TEUER!!!!!!!, zu langsam, unhandlich, kein Compiler) und AutoI3 Scripte einführen,

    da ich ein neuling (Jungspund in Sachen scripten) bin, brauch ich eure Hilfe.
    Ich hab einfache scripts schon umgesetzt aber komplizierte und Komplexe sind noch etwas undurchsichtig ..... Ich brauch leider erst ein paar beispiele um es wirklich zu lernen (behirnen) .......

    Danke für eure Hilfe
    TOM

  • Feietagsbestimmung

    • TOMTOM25m
    • 26. September 2006 um 08:48

    Danke es funzt.....


    danke für die Hilfe

  • Feietagsbestimmung

    • TOMTOM25m
    • 25. September 2006 um 17:13

    Hmm leider steh ich auf dem Schlauch ... quirx im Hirn

  • Feietagsbestimmung

    • TOMTOM25m
    • 25. September 2006 um 14:33

    Hi @ all

    wie kann ich in meinem script festlegen, dass ein Programmschritt an einem Feitertag nicht ausgeführt wird (ich hab dazu eine Feiertag.txt in der alle Feiertage hinterlegt sind)

    Schritte :
    wenn ein (aktuelles datum) Tag aus der liste (Feitertagsdatum) FEIERTAG.TXT ist dann führe den Programmschritt

    nicht aus und springe zum nächsten Programmschritt....

    :hm:

    danke für die hilfe

  • Filegrößenbestimmung auf 200 Server bei min. 3Usern

    • TOMTOM25m
    • 23. September 2006 um 09:30

    Danke für eure Hilfe :stolz_bin:

    :klatschen: :klatschen: :schild4:

    hat alles funktioniert

    danke

  • Filegrößenbestimmung auf 200 Server bei min. 3Usern

    • TOMTOM25m
    • 21. September 2006 um 09:42

    GtaSpider

    danke für dein script aber dies verurscht zuviel lasst auf unserem NW :(

    ich hab mittlierweile alle UNC pfade aller MA in einer TXT datei. wie kann ich die auslesen damit ich die .PST Dateigröße bekomme....

    in einem Logfile :

    user.name = outlook.pst = 5000 KB
    user.name2 = outlook.pst = 5000 KB
    user.name3 = outlook.pst = 5000 KB

    danke


    TOM aus Wien

  • Filegrößenbestimmung auf 200 Server bei min. 3Usern

    • TOMTOM25m
    • 20. September 2006 um 18:50

    Hi @ all

    ich muss bei ca. 500 Mitarbeitern die File größe einer bestimmten Datei (outlook.pst) bestimmuen und diese in einem Logfile auslesen.

    die user sind auf ca. 200 FilialservernServern mit ihrem persönlichen Verzeichniss gespeichert.

    es geht darum dass wir die User hinweisen müssen die Mails zu reduzieren weil wir eine Umstellung von einem Linux Mailserver auf Exchange vorhaben. (das muss sein wei der Linux server nicht ordentlich funktioniert)

    Die Datei ist auf den Filialserver so abgelegt:

    \\server\homeshare\user.name\outlook.pst

    der servername ist bekannt und der user ist bekannt (jeweils in einer .txt datei)

    Mein Problem ist ich bin ein ziemlicher newbie in sachen probrammieren und muss die Aufgabe bis Montag erledigen.

    danke für die hilfe :help:

  • überprügung ob ein script schon einmal ausgeführt wurde

    • TOMTOM25m
    • 15. September 2006 um 12:48

    danke so mach ich es auch

    lg

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™