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

Beiträge von subzero007

  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 16:24

    Eine letzte frage habe ich noch,
    das standart trennzeichen in einer listview ist

    [autoit]

    |

    [/autoit]


    kann man das ändern auf

    [autoit]

    ->

    [/autoit]

    Geht das??

  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 16:02

    ok funktioniert ;)
    danke
    Gibt es eine möglichkeit das tooltip in die mitte der gui zu setzen habe nichts in der hilfe gefunden ??

  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 15:14

    Funktioniert so in etwa:

    so sieht die listview aus:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    es geht um die Untere Listview

    so sieht die xcopy.txt aus:

    C:\Drivers\Monitor\TPFLX.ICM
    C:\Drivers\Monitor\TPLCD.CAT
    C:\Drivers\Monitor\TPLCD.icm
    C:\Drivers\Monitor\TPLCD.INF
    C:\Drivers\Monitor\TPLCD.PNF
    5 Datei(en) kopiert


    Hier mein Code:

    [autoit]

    Func CopyWithProgress($srcDir, $destDir)

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

    If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
    If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
    If Not FileExists($destDir) Then DirCreate($destDir)
    $lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
    Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y >' & @scriptdir & '\xcopy.txt', "", @SW_HIDE)
    Sleep(1000)
    While ProcessExists ("xcopy.exe")
    ToolTip ("Bitte warten. Xcopy läuft....", 0, 0)
    Wend
    ToolTip('')
    $line = FileRead (@ScriptDir & "\xcopy.txt")
    GUICtrlCreateListViewItem($line, $hListView1)
    ;FileDelete (@Scriptdir & "\xcopy.txt")

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

    EndFunc ;==>CopyWithProgress

    [/autoit]

    Kann man das Optimieren?
    oder hat da jemand eine andere idee?

    Gruß
    Subzero

    Dateien

    hlistview1.JPG 48,08 kB – 0 Downloads
  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 13:57

    ich weiss nicht was ich falsch mache oder was anders ist so gehts...

    [autoit]

    Func CopyWithProgress($srcDir, $destDir)

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

    If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
    If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
    If Not FileExists($destDir) Then DirCreate($destDir)
    ;$srcSize = DirGetSize($srcDir, 1)
    ;$1_percent = $srcSize[0] / 100
    ;Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y')

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

    $lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
    $TSDIS = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE)

    EndFunc ;==>CopyWithProgress

    [/autoit]

    und so nicht ??

    [autoit]

    Func CopyWithProgress($srcDir, $destDir)

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

    If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
    If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
    If Not FileExists($destDir) Then DirCreate($destDir)
    ;$srcSize = DirGetSize($srcDir, 1)
    ;$1_percent = $srcSize[0] / 100
    ;Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y')

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

    $lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
    $Console = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    ConsoleWrite(@SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y')
    While 1
    $line &= StdoutRead($Console)
    If @error Then ExitLoop
    WEnd
    GUICtrlCreateListViewItem($line, $hListView1)

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

    EndFunc

    [/autoit]

    Wo mache ich den fehler??

  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 13:36

    was mache ich falsch ?

    [autoit]

    #include <Constants.au3>
    Global $line

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

    Func CopyWithProgress($srcDir, $destDir)
    If Not FileExists($destDir) Then DirCreate($destDir)

    $lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
    $console = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
    While 1
    $line &= StdoutRead($Console)
    If @error Then ExitLoop
    WEnd

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

    GUICtrlCreateListViewItem($line, $hListView1)

    EndFunc ;==>CopyWithProgress

    [/autoit]
  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 28. September 2009 um 13:20

    habe das jetzt so gelöst:

    [autoit]

    Local $savedays = IniRead(@systemdir & "\save.ini", 'sicherung', 'tage', 0)
    Local $time = IniRead(@systemdir & "\save.ini", 'sicherung', 'zeit', '1600')

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

    While 1
    If @HOUR & @MIN = $time Then ; prüfe Uhrzeit
    ; prüfen ob aktueller Tag für Sicherung vorgesehen ist
    If BitAND($savedays, 2^(@WDAY-1)) Then
    _save()
    ; Sicherung starten
    EndIf
    EndIf
    Sleep(60000)
    WEnd

    [/autoit][autoit]

    IniWrite(@SystemDir & '\save.ini', 'Startzeit', 'Uhr', StringReplace(GUICtrlRead($Time), ':', ''))

    [/autoit]
  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 12:56

    Ich will ja vom xcopy den inhalt in eine datei umleiten das datum uhrzeit ändernt sich ja permanent,
    hast du eine idee wie ich das am besten mache?

  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 12:44

    Ich wäre auch mit der lösung zu frieden wenn ich es in der listview darstelle ohne es vorher in eine datei umzuleiten >
    aber ich weiss nicht wie?

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 28. September 2009 um 12:02

    Danke...

    für den Tipp..
    Habe bereits das Problem gelöst und bin schon an meinem nächsten problem dran ;)

  • log datei in echtzeit in listview einlesen

    • subzero007
    • 28. September 2009 um 11:52

    Hallo,

    habe folgendes Problem

    [autoit]

    Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & '\ /D /S /E /V /C /H /R /Y > copy.log', "", @SW_HIDE)

    [/autoit]

    möchte gerne den inhalt der log in einer listview darstellen in echtzeit also das er alles was er in die log schreibt in der listview dargestellt wird ?

    Eine idee?

  • FileSelectFolder UNC Pfad asuwählen

    • subzero007
    • 27. September 2009 um 09:52

    Hey,

    ich komme jetzt etwas näher an meine lösung des problems:

    Ich suche sowas in etwa nur bloss um einen order auszuwählen:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Weil so kann ich auch manuell server suchen bzw. per hand eingeben,
    Geht das?

    Danke
    SubZero

    Dateien

    fileselect folder.JPG 29,58 kB – 0 Downloads
  • FileSelectFolder UNC Pfad asuwählen

    • subzero007
    • 27. September 2009 um 08:30

    ich benutze das:
    FileSelectFolder("", 'c:')


    was muss ich als start ordner wählen damit es auch mit dem Netzwerkpfaden klappt also anstatt dem c:
    es geht bei meinen bedürfniss nicht um verbundene Laufwerke die als laufwerksbuchstabe verbunden sind sondern
    ich will wirklich den pfad irgendwie angeben können
    \\server\share\ordner

    Geht das?

  • FileSelectFolder UNC Pfad asuwählen

    • subzero007
    • 27. September 2009 um 07:34

    Also ich wollte ja ein ein fileselectfolder haben wo ich auch Unc Pfade selektieren kann \\server\share,
    ich glaube ich wurde falsch verstanden ??

    Gruß
    SubZero

  • FileSelectFolder UNC Pfad asuwählen

    • subzero007
    • 26. September 2009 um 22:57

    Hey,

    habe eine frage möchte gerne FileSelectFolder einen ordner auswählen,
    gibt es irgendeine alternative wo ich auch UNC Pfade auswählen also wie beim Explorer??

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 26. September 2009 um 19:38

    Hey,
    jeweilige beim Auslesen der Tage aus der ini siehe Post 1 und 2
    und abfragen ob jahr monat tag stunde minute in frage kommen wenn ja eine exe starten
    das ganze in einer schleife alle 30 sekunden

    wie mache ich das ?

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 26. September 2009 um 17:27

    Nein eben nicht,
    es wird eine GUi werden wo zu verschieden tagen der anwender was sichern kann und wo er das auch frei definiren kann,

    und es soll über einen dienst laufen der den job übernimmt.
    Und die Gui wird nur für die config der ini benötigt.

    hier die gui.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <DateTimeConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <TreeViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <File.au3>
    Local $arCheckBox[7]
    Global $ini = @ScriptDir & '\save.ini'
    Global $path = @ScriptDir & '\lastsave'
    Global $hfile = @ScriptDir & '\lastsave.log'

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

    $Form1 = GUICreate("Sicherung", 918, 457, 219, 121)
    $Tab1 = GUICtrlCreateTab(16, 24, 873, 417)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Backup")
    $arCheckBox[6] = GUICtrlCreateCheckbox("Montag", 24, 361, 57, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $arCheckBox[5] = GUICtrlCreateCheckbox("Dienstag", 88, 361, 57, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $arCheckBox[4] = GUICtrlCreateCheckbox("Mittwoch", 152, 361, 65, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $arCheckBox[3] = GUICtrlCreateCheckbox("Donnerstag", 224, 361, 73, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $arCheckBox[2] = GUICtrlCreateCheckbox("Freitag", 304, 361, 57, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $arCheckBox[1] = GUICtrlCreateCheckbox("Samstag", 368, 361, 57, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $arCheckBox[0] = GUICtrlCreateCheckbox("Sonntag", 432, 361, 65, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")

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

    $Time = GUICtrlCreateDate('15:00', 24, 393, 70, 21, $DTS_TIMEFORMAT)
    ;GUICtrlCreateDate('00:00:00', 10, 10, 100, 30, $DTS_TIMEFORMAT)
    $DTM_SETFORMAT_ = 0x1032
    $style = "HH:mm"
    GUICtrlSendMsg($Time, $DTM_SETFORMAT_, 0, $style)

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

    $hListView = GUICtrlCreateListView("Quelle|Ziel", 24, 73, 850, 246)
    GUICtrlSendMsg(-1, 0x101E, 0, 50)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $add = GUICtrlCreateButton("+", 24, 321, 75, 25)
    GUICtrlSetFont(-1, 20, 400, 0, "Arial")
    $del = GUICtrlCreateButton("-", 104, 321, 75, 25)
    GUICtrlSetFont(-2, 20, 400, 0, "Arial")
    $Task_Plannen = GUICtrlCreateButton("Task_Planen", 100, 390, 75, 25)
    $Save = GUICtrlCreateButton("Save-Settings", 800, 49, 75, 25)

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

    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Quelle = GUICtrlCreateLabel("Quelle", 24, 49, 34, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Sichern = GUICtrlCreateButton("Sichern", 184, 321, 75, 25)
    GUICtrlSetFont(-1, 15, 400, 0, "Arial")
    $TabSheet2 = GUICtrlCreateTabItem("Restore")
    $Input2 = GUICtrlCreateInput("Input1", 31, 81, 353, 22)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Restore_Ordner = GUICtrlCreateLabel("Restore_Ordner", 24, 57, 79, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Quellpfadzeigen = GUICtrlCreateButton("Quellpfadzeigen", 392, 129, 83, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $TreeView1 = GUICtrlCreateTreeView(40, 137, 345, 241)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Wiederherstellen = GUICtrlCreateButton("Wiederherstellen", 392, 353, 83, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Button1 = GUICtrlCreateButton("suchen", 392, 81, 43, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Verfuegbare_sicherungen = GUICtrlCreateLabel("Verfuegbare_sicherungen", 48, 113, 126, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    $Offnen = GUICtrlCreateButton("Offnen", 392, 321, 83, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)

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

    ;if FileExists(@ScriptDir & '\lastsave.log') Then
    ; _format()
    ; EndIf
    If FileExists(@ScriptDir & '\save.ini') Then
    $ini = IniRead(@ScriptDir & '\save.ini', "Wochentag", "tage", 0)
    For $i = 6 To 0 Step -1
    If BitAND($ini, 2 ^ $i) Then
    GUICtrlSetState($arCheckBox[$i], $GUI_CHECKED)
    EndIf
    Next
    Local $aData = IniReadSection(@ScriptDir & "\save.ini", "Quelle-Ziele")
    ; _ArrayDisplay($aData)
    For $i = 1 To UBound($aData) - 1
    GUICtrlCreateListViewItem($aData[$i][0] & "|" & $aData[$i][1], $hListView)
    Next
    EndIf
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE

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

    Exit
    Case $add
    $sfolder = FileSelectFolder("Wählen den zu Sichernden Ordner:", 'c:')

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

    ;if @error Then Return
    $dfolder = FileSelectFolder("Wählen Sie den Ziel Ordner:", 'c:')
    GUICtrlCreateListViewItem($sfolder & '|' & $dfolder, $hListView)
    ;if @error Then Return
    $hWnd = $hListView
    If FileExists($path & ".log") Then FileDelete($path & ".log")
    FileWrite($path & ".log", _GUICtrlListView_Export($hWnd, 1, ','))

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

    Case $del
    _GUICtrlListView_DeleteItemsSelected($hListView)
    $hWnd = $hListView
    If FileExists($path & ".log") Then FileDelete($path & ".log")
    FileWrite($path & ".log", _GUICtrlListView_Export($hWnd, 1, ','))
    Case $Sichern
    _xcopy()
    Case $Task_Plannen
    _iniwrite()
    case $Save
    _iniwrite()

    EndSwitch
    WEnd

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

    Func _iniwrite()
    ;FileDelete($ini)
    IniDelete(@ScriptDir & '\save.ini', 'Quelle-Ziele')

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

    Local $checked = 0
    For $i = 0 To 6
    If BitAND(GUICtrlRead($arCheckBox[$i]), $GUI_CHECKED) Then
    $checked = BitOR($checked, 2 ^ $i)
    EndIf

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

    Next
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1;hier zählst du die einträge
    $var1 = _GUICtrlListView_GetItemText($hListView, $i, 0)
    $var2 = _GUICtrlListView_GetItemText($hListView, $i, 1)
    ;IniWrite('save.ini', 'Backup', 'Quelle'&$i, $var1)
    ;IniWrite('save.ini', 'Backup', 'Ziel'&$i, $var2)

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

    ;IniWrite('save.ini', 'Quelle-Ziele', $var1&$i, $var2&$i)
    IniWrite(@ScriptDir & '\save.ini', 'Quelle-Ziele', $var1, $var2)

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

    Next
    ; Next
    IniWrite('save.ini', 'Wochentag', 'tage', $checked)
    MsgBox(0, "", $Time)
    IniWrite('save.ini', 'Startzeit', 'Uhr', GUICtrlRead($Time))

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

    EndFunc ;==>_iniwrite

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

    Func _iniread()
    #cs Muster-INI
    [sicherung]
    tage=42
    #ce
    ; 2 + 8 + 32 = Mo/Mi/Fr

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

    ; aus INI lesen
    Local $savedays = IniRead($ini, 'sicherung', 'tage', 0)

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

    ; prüfen ob aktueller Tag für Sicherung vorgesehen ist
    If BitAND($savedays, 2 ^ (@WDAY - 1)) Then
    ; starte Sicherung
    EndIf
    EndFunc ;==>_iniread

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

    Func _GUICtrlListView_Export($hWnd, $exType = 0, $Delim = Default) ; $exType=0 Array / $exType=1 String
    If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
    Local $row = _GUICtrlListView_GetItemCount($hWnd)
    If $exType Then
    If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
    Local $sOut = ''
    For $i = 0 To $row - 1
    $sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
    Next
    If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
    Return $sOut
    EndIf
    Local $col = _GUICtrlListView_GetColumnCount($hWnd)
    Local $aOut[$row][$col]
    If $col = 1 Then
    ReDim $aOut[$row]
    For $i = 0 To UBound($aOut) - 1
    $aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
    Next
    Return $aOut
    EndIf
    For $i = 0 To UBound($aOut) - 1
    For $j = 0 To UBound($aOut, 2) - 1
    $aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
    Next
    Next
    Return $aOut
    EndFunc ;==>_GUICtrlListView_Export

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

    Func _Load() ; Datenbank-Datei laden
    _GUICtrlListView_DeleteAllItems($hListView) ; Das Handle eben noch bestimmen (s. Anfang des Threads)

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

    Local $sItem
    ; $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
    Local $hfile = FileOpen(@ScriptDir & '\lastsave.log', 0) ; Datei zum lesen öffnen
    If $hfile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($hListView) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hfile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($hListView) ; Listview wieder freigeben
    FileClose($hfile) ; Datei schließen
    EndIf
    EndFunc ;==>_Load

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

    Func CopyWithProgress($srcDir, $destDir)
    If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
    If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
    If Not FileExists($destDir) Then DirCreate($destDir)
    $srcSize = DirGetSize($srcDir, 1)
    $1_percent = $srcSize[0] / 100
    ;Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y')

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

    $lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
    $TSDIS = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE)
    ProgressOn('Copy ' & $srcDir & ' ' & $destDir & $lastpath, $1_percent & "%", "")
    Do
    $destSize = DirGetSize($destDir & $lastpath, 1)
    ProgressSet(Round($destSize[0] / $1_percent, 2), Round($destSize[0] / (1024 * 1024), 2) & " MB of " & Round($srcSize[0] / (1024 * 1024), 2) & " MB Kopiert" & @CRLF _
    & $destSize[1] & " von " & $srcSize[1] & " Dateien Kopiert." & @CRLF _
    & $destSize[2] & " von " & $srcSize[2] & " Ordner Kopiert.", Round($destSize[0] / $1_percent, 2) & "% - Fertig!")
    Sleep(200)
    Until $destSize[0] >= $srcSize[0]
    ProgressOff()
    EndFunc ;==>CopyWithProgress

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

    Func _xcopy()
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1;hier zählst du die einträge
    $var1 = _GUICtrlListView_GetItemText($hListView, $i, 0)
    $var2 = _GUICtrlListView_GetItemText($hListView, $i, 1)
    CopyWithProgress($var1, $var2)

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

    Next

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

    EndFunc ;==>_xcopy

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

    Func _format()

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

    Dim $sFilePath = @ScriptDir & '\lastsave.log'
    Dim $outFile = @ScriptDir & '\lastsave.log'
    Dim $aArray
    _FileReadToArray($sFilePath, $aArray) ; datei in Array lesen

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

    For $i = 1 To $aArray[0] ; zeilenweise durchgehen

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

    $aArray[$i] = StringReplace($aArray[$i], ',', '|') ; der String wird ersetzt durch den String mit der Eingabe
    Next

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

    If FileExists($outFile) Then FileDelete($outFile) ; falls Ausgabedatei bereits vorhanden - löschen
    _FileWriteFromArray($outFile, $aArray, 1) ; vom Array in Ausgabedatei schreiben

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

    EndFunc ;==>_format

    [/autoit]

    und hier die exe die gestartet werden soll:


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

    Local $aData = IniReadSection(@ScriptDir & "\save.ini", "Quelle-Ziele")
    ; _ArrayDisplay($aData)
    For $i = 1 To UBound($aData) - 1
    _CopyWithProgress($aData[$i][0], $aData[$i][1])
    ;GUICtrlCreateListViewItem($aData[$i][0] & "|" & $aData[$i][1], $hListView)
    Next

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

    Func _CopyWithProgress($srcDir, $destDir)
    If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
    If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
    If Not FileExists($destDir) Then DirCreate($destDir)
    ;$srcSize = DirGetSize($srcDir, 1)
    ;$1_percent = $srcSize[0] / 100
    ;Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y')
    $lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
    $TSDIS = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE)
    ;ProgressOn('Copy ' & $srcDir & ' ' & $destDir & $lastpath, $1_percent & "%", "")
    EndFunc ;==>CopyWithProgress

    [/autoit]

    Kann mir jemand unter die Arme greifen??

    Danke

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 26. September 2009 um 16:44

    Mann könnte ja auch auf die zweite exe verzichten und es als funktion in die vom dienst packen der datum und uhrzeit prüft .
    dann kann man sich eine exe sparen.
    oder?

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 26. September 2009 um 16:40

    Hey,

    Ich bin dabei mein sicherungstool zu schreiben bin ja auch schon sehr weit gekommen für meine verhältnisse.

    jetzt habe ich vor einen dienst mit srvany.exe zum laufen zu bringen der eine ini datei prüft:

    [Wochentag]
    tage=80
    [Startzeit]
    Uhr=16:00
    [Quelle-Ziele]
    F:\=C:\
    F:\=x:\
    F:\=y:\

    er soll tage=*
    "Montag, Dienstag, Mittwoch, Donnerstag, Freitag, samstag ,Sonntag"

    ..siehe beschreibung von Bugfix :
    [ gelöst ] Chekbox in ini eintragen und Uhrzeit....


    mir ausgeben dann will ich es in die funktion von Oscar übergeben:
    Wochentag(e) nach Datum umwandeln

    Der wandelt wochentage in datum um .

    dann soll er prüfen ob: [Wochentag] und [Startzeit] in frage kommt wenn der zeitpunkt erreicht ist dann soll er eine exe starten er soll er alle 30 sekunden diese prüfung machen.
    die exe macht nichts ausser [Quelle-Ziele] zu kopieren.

    Kann mir jemand unter die Arme greifen ?

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 26. September 2009 um 09:24

    Hey,
    ich scheitere schon beim Zurückwandeln 80 zu Wochentag?? "siehe poste 2"
    und habe keine idee wie ich anschliessend:
    Jahr,Monat, Tag, stunde, Minute und abfrage das alles alle 30 sekunden,
    wenn es in frage kommt eine exe zu starten und dann soll es wieder zurück in die Schleife

    Kann mir jemand mal unter die arme greifen ??

  • _DayIntervalToDateArray & @Hour & @min

    • subzero007
    • 25. September 2009 um 19:57

    Genau,

    wie mache ich das?
    Das ist ja das wo ich nicht weiterkomme?

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™