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. Thomasb

Beiträge von Thomasb

  • _FileWriteFromArray in E-Mail Body

    • Thomasb
    • 14. März 2007 um 17:34

    So?

    Spoiler anzeigen
    [autoit]

    #include <date.au3>
    #include <misc.au3>
    #include <inet.au3>
    #include <file.au3>
    #include <array.au3>
    Opt("TrayIconDebug", 1) ;0=no info, 1=debug line info
    Dim $aRecords
    $Txt = "c:\Datensicherung\Timer.prob"
    _FileReadToArray($Txt, $aRecords)
    _ArrayReverse($aRecords, 1)
    $Outlook2003 = @ProgramFilesDir & "\Microsoft Office\Office11\Outlook.exe"
    $PID = ProcessExists("Outlook.exe")
    $Addresse = "T:\Datensicherung"
    $Ti = @HOUR & ":" & @MIN & ":" & @SEC
    $Address= ("behlke@adtg.de")
    $Subject= ("Tägliche Datensicherung vom " & _NowDate())
    $Body = (" Die Tägliche Datensicherung wurde um " & $Ti & " erfolgreich erstellt." & @LF & @LF & _
    " Die Scripte liefen " & $aRecords[1] & @LF & @LF & _
    " Sie liegt im Pfad. " & "" & $Addresse & "" & @LF & @LF & _
    " Freundliche Grüße" & @LF & @LF & " Administrator")
    If FileExists("T:\Datensicherung\") Then
    If $PID Then
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf
    Else
    If $PID Then
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf
    EndIf

    [/autoit]


    Dann Fehler

    C:\Programme\AutoIt3\Include\Test.au3 (17) : ==> Subscript used with non-Array variable.:
    $Body = (" Die Tägliche Datensicherung wurde um " & $Ti & " erfolgreich erstellt." & @LF & @LF & " Die Scripte liefen " & $aRecords[1] & @LF & @LF & " Sie liegt im Pfad. " & "" & $Addresse & "" & @LF & @LF & " Freundliche Grüße" & @LF & @LF & " Administrator")
    $Body = (" Die Tägliche Datensicherung wurde um " & $Ti & " erfolgreich erstellt." & @LF & @LF & " Die Scripte liefen " & $aRecords^ ERROR

    ThomasB

  • _FileWriteFromArray in E-Mail Body

    • Thomasb
    • 14. März 2007 um 17:22

    hi,

    welchen wert soll ich zuweisen, es stehen vier zeilen drin die in den Body sollen.

    thomasb

  • _FileWriteFromArray in E-Mail Body

    • Thomasb
    • 14. März 2007 um 16:14

    Hallo Leutz,

    ich habe mal wieder eine kleine Frage.
    Hier mein Ansatz, momentan nicht als Func

    Spoiler anzeigen
    [autoit]

    #include <date.au3>
    #include <misc.au3>
    #include <inet.au3>
    #include <file.au3>
    #include <array.au3>
    Opt("TrayIconDebug", 1) ;0=no info, 1=debug line info
    Dim $aRecords
    $Txt = "c:\Datensicherung\Timer.prob"
    _FileReadToArray($Txt, $aRecords)
    _ArrayReverse($aRecords, 1)
    $Outlook2003 = @ProgramFilesDir & "\Microsoft Office\Office11\Outlook.exe"
    $PID = ProcessExists("Outlook.exe")
    $Addresse = "T:\Datensicherung"
    $Ti = @HOUR & ":" & @MIN & ":" & @SEC
    $Address= ("behlke@adtg.de")
    $Subject= ("Tägliche Datensicherung vom " & _NowDate())
    $Body = (" Die Tägliche Datensicherung wurde um " & $Ti & " erfolgreich erstellt." & @LF & @LF & _
    " Die Scripte liefen " & _FileWriteFromArray("", $aRecords, 1) & @LF & @LF & _
    " Sie liegt im Pfad. " & "" & $Addresse & "" & @LF & @LF & _
    " Freundliche Grüße" & @LF & @LF & " Administrator")
    If FileExists("T:\Datensicherung\") Then
    If $PID Then
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf
    Else
    If $PID Then
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Else
    Run($Outlook2003)
    WinWaitActive("Posteingang - Microsoft Outlook")
    _INetMail($address, $subject, $Body)
    Sleep(5000)
    Send("!s")
    Sleep(1500)
    Send("!{F4}")
    EndIf
    EndIf

    [/autoit]

    Was will ich erreichen. Meine Datensicherung läuft Nachts mit mehreren unterschritten. Über TimerDiff/TimerDiff hole ich mir die Laufzeit, die ich in eine Datei schriebe. Per Mail möchte ich nun die Laufzeit mitteilen. Dazu lese ich es in ein Array ein. Im Body soll nun mit _FileWriteFromArray() dieses ausgegebn werden. Es wird hier nur 0. Wo liegt mein Fehler?
    Vieleicht kann man auch einen Anhang machen?

    ThomasB ;)

  • Löschen von Dateien

    • Thomasb
    • 22. Februar 2007 um 19:59

    hallo,

    im forum wurde das schon behandelt. habe nun schon mal eine gui drum gebaut. nun stellen sich mir zwei fragen die ich nicht wirklich beantworten kann.

    mein ansatz

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <string.au3>
    #include <Date.au3>
    #include <file.au3>
    #include <Array.au3>

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

    GuiCreate("Serveraufräumen", 388, 149,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))

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

    $Group_1 = GuiCtrlCreateGroup("Löschung", 10, 10, 370, 100)
    $Button_2 = GuiCtrlCreateButton("...", 340, 40, 30, 20)
    $Button_3 = GuiCtrlCreateButton("Abbruch", 280, 120, 100, 20)
    $Button_4 = GuiCtrlCreateButton("Start", 170, 120, 100, 20)
    $Input_5 = GuiCtrlCreateInput("", 140, 40, 190, 20)
    $Label_6 = GuiCtrlCreateLabel("Inhalt des Ordners", 20, 40, 110, 20)
    $Date_7 = GuiCtrlCreateDate("Date7", 140, 70, 230, 20)
    $Label_8 = GuiCtrlCreateLabel("Datum", 20, 70, 100, 20)

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

    GuiSetState()
    While 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Button_3
    ExitLoop
    Case $msg = $Button_2
    $folder = FileSelectFolder("Choose a folder.", "")
    GUICtrlSetData($Input_5,$folder,$folder)
    Case $msg = $Button_4
    _Start()
    ;;;
    EndSelect
    WEnd
    Exit
    #endregion --- GuiBuilder generated code End ---
    ;
    Func _Start()
    $iWeekday = _DateToDayOfWeek (@YEAR, @MON, @MDAY)
    $dateminustwoweeks = _DateAdd( 'w',-2, _NowCalcDate()) ; jetztiges Datum - 2 Wochen
    $dateminustwoweeks = StringReplace($dateminustwoweeks, "/", "") ; macht ne Zahl daraus
    ;$dir = _FileListToArray($folder, '*.*')
    $AllFilesinDir = _FileListToArray($folder & "\", "*.*") ; Files werden in ein Array geschrieben
    For $i = 1 To $AllFilesinDir[0] ; Schleife für alle Dateien im Ordner
    $filedate = FileGetTime($AllFilesinDir[$i], 0, 0) ; liest das Dateidatum aus
    ;$filedateformat = $filedate[0]&$filedate[1]&$filedate[2] ; Formatierung
    ;If $filedateformat > $dateminustwoweeks then $AllFilesinDir[$i] &= "|" ; markieren der Dateien die nicht gelöscht werden sollen
    Next

    For $i = 1 TO $AllFilesinDir[0]
    If StringRight($AllFilesinDir[$i], 1) <> "|" Then FileDelete($folder & "\" & $AllFilesinDir[$i]) ; löschen der Dateien mit dem Datum
    Next
    _ArrayDisplay($AllFilesinDir,"test")
    MsgBox(0,"Anzahl der Daten in "&$folder,$AllFilesinDir[0])
    EndFunc

    [/autoit]

    mein fehlermeldung

    Spoiler anzeigen
    [autoit]

    C:\Programme\AutoIt3\Include\neueGUI.au3 (45) : ==> Subscript used with non-Array variable.:
    $filedateformat = $filedate[0]&$filedate[1]&$filedate[2]
    $filedateformat = $filedate^ ERROR

    [/autoit]


    frage 1
    in der ersten for schleife habe ich das filedateformat auskommentiert bis dahin läuft das script dann endet es. wo habe ich eine fehler bzw mache ich was falsch?
    das orginal aus dem forum

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

    $dateminustwoweeks = _DateAdd( 'w',-2, _NowCalcDate()) ; jetztiges Datum - 2 Wochen
    $dateminustwoweeks = StringReplace($dateminustwoweeks, "/", "") ; macht ne Zahl daraus

    $AllFilesinDir = _FileListToArray(@ScriptDir & "\", "*.*") ; Files werden in ein Array geschrieben
    For $i = 1 To $AllFilesinDir[0] ; Schleife für alle Dateien im Ordner
    $filedate = FileGetTime($AllFilesinDir[$i], 0, 0) ; liest das Dateidatum aus
    $filedateformat = $filedate[0]&$filedate[1]&$filedate[2] ; Formatierung
    If $filedateformat > $dateminustwoweeks then $AllFilesinDir[$i] &= "|" ; markieren der Dateien die nicht gelöscht werden sollen
    Next

    For $i = 1 TO $AllFilesinDir[0]
    If StringRight($AllFilesinDir[$i], 1) <> "|" Then FileDelete(@ScriptDir & "\" & $AllFilesinDir[$i]) ; löschen der Dateien mit dem Datum
    Next

    [/autoit]

    meine zweite frage da in der gui schon ein kalender vorgesehen ist wollte ich fragen ob es möglich ist das datum so zu wählen und dann das zu löschen was länger nicht geändert wurde.

    mfg
    thomas

  • Erfolg von Func per Mail versenden

    • Thomasb
    • 18. Februar 2007 um 17:26

    hi,
    danke, musste es leider anders gestalten, da ein anderer Fehler auftrat.

    Thx
    Thomasb

  • Erfolg von Func per Mail versenden

    • Thomasb
    • 18. Februar 2007 um 16:44

    Hi,

    soweit gut, aber es sollte nach möglichkeit nur eine Maiul versendet werden, somit müsste es irgendwie zwischengespeichert werden, da sie erst nach gut 3h und weiteren Func.

    mfg Thomasb

  • Erfolg von Func per Mail versenden

    • Thomasb
    • 18. Februar 2007 um 13:28

    hi,

    sorry aber das verschicken der Mail läuft schon ohne Probleme. Ich wollte die einzelnen Func wenn sie erfolgreich gelaufen sind in dieser Mail mit erwähnen.

    Thomasb

  • Erfolg von Func per Mail versenden

    • Thomasb
    • 18. Februar 2007 um 13:07

    Hallo und Mahlzeit,

    habe mal wieder eine kleine Frage. In meinem Script laufen drei Func. Da das Script über ca. 3h Nachts läuft und die Func nacheinander ablaufen wollte ich Fragen stellen ob man den erfolgreichen Abschluss aufzeichnen kann und im Anschluss per Mail verschicken. Wenn die Aufgabe der Func abgeschlossen ist(erfolgreich) dann muss per Script ein Button gedrückt werden

    Spoiler anzeigen
    [autoit]


    WinWaitActive ( "", "wurde erfolgreich beendet" )

    [/autoit]


    oder

    Spoiler anzeigen
    [autoit]

    ControlClick("Microsoft Business Solutions-Navision","Habe fertig","Button1")

    [/autoit]


    Ist diese irgendwie machbar?

    MFG
    ThomasB :hm:

  • Ordner erstellen mit Datum

    • Thomasb
    • 7. Januar 2007 um 10:39

    hi,
    was ich erreichen will ist das ich die schonmal in diesem forum behandelte datensicherung(mit deinem script zur sicherung des servers). so soll bevor diese läuft täglich ein ordner mit dem datum des vortage angelegt werden, die vorhandene sicherung dort hin verschieben, sichern und dann den ordner von vor zwei tagen löschen . soweit meine "naive" logik. sicher gibt es einen besseren weg.

    thomas

  • Ordner erstellen mit Datum

    • Thomasb
    • 6. Januar 2007 um 21:02

    hi,
    wo klemmt meine logik?

    thomas

  • Ordner erstellen mit Datum

    • Thomasb
    • 6. Januar 2007 um 20:45

    hi,
    ich nochmal wie sieht der umgedrehte weg aus mit dem dirremove wenn das datum auf -2 gesetz wird

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>
    $iWeekday = _DateToDayOfWeek (@YEAR, @MON, @MDAY)
    $sNewDate = _DateAdd( 'd',-1, _NowCalcDate())
    $sNewDate = StringReplace($sNewDate,"/",".")
    $sNewDater = _DateAdd( 'd',-2, _NowCalcDate())
    $sNewDater = StringReplace($sNewDater,"/",".")
    If $iWeekday = 7 Then
    DirCreate("C:\" & $sNewDate)
    FileCopy("d:\*.txt", "C:\" & $sNewDate)
    DirRemove("C:\" & $sNewDater)
    EndIf
    Exit

    [/autoit]

    danke nochmals
    thomasb

  • Ordner erstellen mit Datum

    • Thomasb
    • 6. Januar 2007 um 19:35

    hi,

    danke euch allen ich denke ich habe es verstanden

    thomasb

  • Ordner erstellen mit Datum

    • Thomasb
    • 6. Januar 2007 um 19:10

    hi,
    könnt ihr mir den stringreplace erklären das mit dem / verstehe ich nicht?

    thomasb

  • Ordner erstellen mit Datum

    • Thomasb
    • 6. Januar 2007 um 18:58

    hi,
    ich dachte mir das ich über
    $sNewDate = _DateAdd( 'd',-1, _NowCalcDate()) das datum von gestern erzeuge und wenn es montag ist dann von freitag.

    thomasb

  • Ordner erstellen mit Datum

    • Thomasb
    • 6. Januar 2007 um 18:46

    hi,
    ein gesundes neues jahr noch von mir.
    ich habe da ein kleines problem mit der erstellung von ordner mit datum.
    hier mein versuch

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>
    $iWeekday = _DateToDayOfWeek (@YEAR, @MON, @MDAY)
    $sNewDate = _DateAdd( 'd',-1, _NowCalcDate())
    If $iWeekday = 7 Then
    DirCreate("C:\" & $sNewDate)
    EndIf
    Exit

    [/autoit]


    mit festen parametern geht es nur mit datum geht es nicht . was mache ich falsch?

    mfg thomasb

  • Problem mit FileGetTime

    • Thomasb
    • 14. Dezember 2006 um 20:35

    Hi,

    ich denke das es nicht mehr akut ist. Es läuft so super das wir das lassen können.

    Nochmal THX

    MFG Thomas

  • Problem mit FileGetTime

    • Thomasb
    • 4. Dezember 2006 um 15:46

    hi,
    ich denke es reicht wenn es so aussieht Dezember 2006

    thx

    thomas

  • Problem mit FileGetTime

    • Thomasb
    • 4. Dezember 2006 um 15:16

    hi,
    :schild4:
    ich habe das nochmal getestet. ja es geht.eine andere frage wäre noch ob der monatsname nur numerisch erscheinen muss oder auch als wort?
    ansonsten herzlichen dank
    :schild4:
    mfg thomas

  • Problem mit FileGetTime

    • Thomasb
    • 3. Dezember 2006 um 20:03

    hi,

    mh, ich weis jetzt nicht was er macht. er gibt nur zurück 1 und dann nichts mehr. keine funktion? habe ich naoch was falsch gemacht?

    thomas

  • Problem mit FileGetTime

    • Thomasb
    • 3. Dezember 2006 um 19:24

    hi,

    ne ne nicht nach tagesdatum nur nach monat und jahr. wir wollen es nicht übertreiben, sonst wird es zu doll.

    Thomas

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™