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

Beiträge von hexpirator

  • Im Array Einträge suchen, die vom anderen Array stammen und bei Misserfolg Datei kopieren.

    • hexpirator
    • 24. November 2011 um 22:37

    Sorry, aber es mag an meinem Unvermögen liegen, was Arrays anbelangt.

    Könntest du mir vielleicht einen konkreteren Tipp geben?

    Ich habe schon viele deiner Beiträge gelesen und weiß, dass du ein echter Array- Profi bist.

    Gruß.

  • Im Array Einträge suchen, die vom anderen Array stammen und bei Misserfolg Datei kopieren.

    • hexpirator
    • 24. November 2011 um 22:04

    Hi Leute.

    Folgendes Problem.
    Ich habe 2 mal FileListToArray. das eine vom Quellordner, das andere vom Ziel...
    Nu möchte ich die beiden Arrays miteinander vergleichen und wenn ein Eintrag im Ziel-Array nicht vorhanden ist, die entsprechende Datei dann kopieren.
    Was mir noch Kopfzerbrechen beritet ist, dass ich auch Ordner habe, die auch Unterordner enthalten könnten.
    Mir will einfach nicht in die Birne, wie ich die beiden Programmschnipsel realisieren soll. ?(

    Hat da jemand von euch vielleicht mal eine Idee?

    Hier ist mein bisheriger Code. Ich weiß das Gui könnte man schöner und funktionaler gestalten, aber das ist mein erstes. Kann nur besser werden.

    Spoiler anzeigen
    [autoit]

    ; By Hexpirator

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

    ; Das Script soll Dateien aus dem Quellordner mit denen aus dem Zielordner
    ; vergleichen und neu hinzugefügten Dateien in den Zielordner kopieren.

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

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

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

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Dateiarchivierer", 402, 293, 261, 151)
    $Datei = GUICtrlCreateMenu("&Datei")
    $Quelle = GUICtrlCreateMenuItem("Quellordner auswählen... (Q)", $Datei)
    $Ziel = GUICtrlCreateMenuItem("Zielordner auswählen... (Z)", $Datei)
    $Beenden = GUICtrlCreateMenuItem("Programm Beenden... (Strg+X)", $Datei)
    $Group1 = GUICtrlCreateGroup("Option wählen:", 8, 104, 377, 81)
    $Radio_loeschen = GUICtrlCreateRadio("Daten im Quellordner löschen !!!", 24, 152, 177, 17)
    $Radio_behalten = GUICtrlCreateRadio("Daten im Quellordner beibehalten", 24, 128, 185, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Modus wählen:", 8, 8, 377, 81)
    $Radio_einmalig = GUICtrlCreateRadio("Daten einmalig abgleichen ?", 24, 32, 161, 17)
    $Radio_automat = GUICtrlCreateRadio("Daten automatisch nach vorgegebener Zeit angleichen", 24, 56, 297, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Los = GUICtrlCreateButton("Los", 8, 224, 83, 33, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("By Hexpirator", 104, 240, 75, 17)
    GUISetState(@SW_SHOW)
    Dim $Form1_1_AccelTable[1][2] = [["^!p", $Ziel]]
    GUISetAccelerators($Form1_1_AccelTable)
    #EndRegion ### END Koda GUI section ###

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

    ; Variablen Deklaration
    Global $OpenQuell = 0
    Global $OpenZiel = 0
    ;----------------------

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    ;-----------------------
    Case $GUI_EVENT_CLOSE, $Beenden
    Exit
    ;-----------------------
    Case $Quelle
    _Open_Quell()
    ;-----------------------
    Case $Ziel
    _Open_Ziel()
    ;-----------------------
    Case $Radio_loeschen
    _Radiodelete()
    ;-----------------------
    Case $Los
    _Los()
    ;-----------------------
    EndSwitch
    WEnd

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

    Func _Open_Quell()
    $OpenQuell = FileSelectFolder("Quellordner wählen", "Arbeitsplatz")
    EndFunc

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

    Func _Open_Ziel()
    $OpenZiel = FileSelectFolder("Zielordner wählen", "Arbeitsplatz")
    EndFunc

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

    Func _Radiodelete()
    $Option_Entscheidung = MsgBox(52, "Achtung!!!","Möchten Sie die Daten im" &@CRLF & "Quellordner wirklich löchen?")
    ;MsgBox(0,"lesen",$Option_Entscheidung) ;beim JA-drücken -> 6 beim NEIN -> 7
    If $Option_Entscheidung = 7 Then
    GUICtrlSetState($Radio_loeschen, $GUI_UNCHECKED)
    GUICtrlSetState($Radio_behalten, $GUI_CHECKED)
    EndIf
    EndFunc

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

    Func _Los()

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

    $Radio_einmalig_Status = GUICtrlRead ($Radio_einmalig)
    $Radio_automat_Status = GUICtrlRead ($Radio_automat)
    If $Radio_einmalig_Status = $Radio_automat_Status Then
    MsgBox (48, "Modus","Bitte Modus wählen.")
    Return
    EndIf

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

    $Radio_behalten_Status = GUICtrlRead ($Radio_behalten)
    $Radio_loeschen_Status = GUICtrlRead ($Radio_loeschen)
    If $Radio_behalten_Status = $Radio_loeschen_Status Then
    MsgBox (48, "Option","Bitte Option wählen.")
    Return
    EndIf

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

    $aFileList_Quell = _FileListToArray($OpenQuell)

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

    If @error = 1 Then
    MsgBox(64,"Info","Bitte wählen Sie den Quellordner")
    Else
    _ArrayDisplay($aFileList_Quell, "Quelle")
    EndIf
    ;Return
    $aFileList_Ziel = _FileListToArray($OpenZiel)

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

    If @error = 1 Then
    MsgBox(64,"Info","Bitte wählen Sie den Zielordner")
    Else
    _ArrayDisplay($aFileList_Ziel, "Ziel")
    EndIf

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

    For $i = 1 to UBound($aFileList_Quell) -1
    ;
    ; Hier soll das rein was mir einfach nicht in die Birne will.
    ;

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

    ;$iIndex = _ArraySearch($aFileList_Ziel[$i],$aFileList_Quell[$i])
    MsgBox(0, "Countup", $iIndex)
    Next
    MsgBox(0,"", "Start!")

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

    EndFunc

    [/autoit]
  • GMX und Firefox, automatisches einloggen

    • hexpirator
    • 21. November 2011 um 12:46

    schau dir mal das Beispiel hier an.

    Da ist so alles grundlegende drin für dein Problem

    Hier der Link:[ gelöst ] Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

  • Funktion um nach dem Ja eine datei öffnen

    • hexpirator
    • 15. November 2011 um 09:27
    [autoit]

    if $gedruecktetaste = 6 Then _ExeStart ()

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

    Func ExeStart ()
    ShellExecute("C:\MeineExedatei.exe")

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

    EndFunc

    [/autoit]
  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 14. November 2011 um 22:32

    Hallo AutoBert.

    Danke für den Bugfix.

    Es läuft alles soweit ganz gut, nur wenn ich den Button "Los" mit der Maus betätige, dann kommt erst die Message, dass die Abfrage erfolgreich war, doch dann öffnet sich die selbe xls-Datei und der Spaß beginnt von vorne.
    Ein Return in Zeile 36 hat das Problem eliminiert.

    Nee Quatsch. das Problem besteht immer noch. Return wieder rausgenommen.
    Komischer Fehler.

    Noch ein Problem: Wenn ich das Script auf der Arbeit ausführe, dann kommt die Fehlermeldung:
    Es ist ein Fehler mit dem Internet aufgetreten.
    was verständlich ist, weil der Internetzugang über einen Proxyserver gesperrt ist und durch Benutzername und Passwort freigeschaltet werden muss.

    Hat einer eine Idee, wie ich das bewerkstelligen kann?

    Gruß, Hexpirator

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 14. November 2011 um 09:17

    Habe ich gemacht, nur das Problem ist jetzt, dass die Message:
    "Fehler","Bitte Dateipfad überprüfen"
    in einer Endlosschleife immer wieder angezeigt wird, bis ich dasd Script manuell kille.
    Ich komme einfach nicht dahinter was ich falsch mache.

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 13. November 2011 um 19:54

    Hallo.

    Dank TheLuBu habe ich es nun geschafft das Script zu schreiben.

    Sogar eine GUI habe ich hin bekommen *schulterklopf ;)

    doch einer Frage habe ich trotzdem. Siehe unten.

    Hier das Script:

    Spoiler anzeigen
    [autoit]

    #cs

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

    By Hexpirator

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

    Dieses Script öffnet eine Excel-Datei, liest Daten aus der 2. Spalte der Tabelle, sucht danach
    im Internet "Geizhals.at/deutschland" prüft den dazugehöringen Preis und schreibt ihn in die
    4. Spalte der Tabelle zurück.
    #ce
    #include <Excel.au3>
    #Include <String.au3>
    #include <Array.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1_1 = GUICreate("Preisabruf", 371, 243, 206, 124)
    $Group1 = GUICtrlCreateGroup("Bitte hier den Dateipfad zur abzufragenden Exceltabelle eintragen", 8, 8, 353, 105)
    $Exceldatei = GUICtrlCreateInput("C:\Dokumente und Einstellungen\Admin\Desktop\Test.xls", 16, 40, 337, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Los = GUICtrlCreateButton("Los", 8, 184, 123, 49, $WS_GROUP)
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 240, 184, 123, 49, $WS_GROUP)
    $Group2 = GUICtrlCreateGroup("Anzahl der zu durchsuchenden Zeilen eingeben:", 8, 120, 289, 57)
    $Zeilen = GUICtrlCreateInput("", 16, 144, 81, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE;Wird ausgeführt, wenn der Schließen Button gedrückt wird
    Exit

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

    Case $Los;Wird ausgeführt, beim Druck auf den Los-Button
    _execute()

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

    Case $Zeilen;Wird ausgeführt, wenn bei GUICtrlCreateInput ENTER gedrückt wird
    _execute()

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

    Case $Abbrechen;Wird ausgeführt, beim Druck auf den Abbrechen Button
    Exit

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

    EndSwitch
    WEnd
    ;_________________________________________
    Func _execute()

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

    $Exceldatei = GUICtrlRead ($Exceldatei)
    $Zeilen = GUICtrlRead ($Zeilen)
    $xls = StringRight($Exceldatei, 3) ;speichert die letzten 3 Zeichen der Variable $Exceldatei in $xls
    If $xls = "xls" Then ;Wenn $xls = "xls" dann versuche Exceldatei zu öffnen
    $oExcel = _ExcelBookOpen($Exceldatei)
    If @error = 1 Then
    MsgBox(48, "Fehler!", "Das Excel-Objekt konnte nicht erstellt werden") ;Versteht sich von selbst
    Exit
    ElseIf @error = 2 Then
    MsgBox(48, "Fehler!", "Die Datei existiert nicht!") ;Versteht sich von selbst
    Exit
    EndIf
    Else
    MsgBox(48,"Fehler","Bitte Dateipfad überprüfen",3)
    Exit
    EndIf

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

    For $i = 1 To $Zeilen ; ich gehe jetzt mal von 10 Sachen aus
    $Cell = _ExcelReadCell($oExcel, $i, 2) ; erste Spalte in der Exceltabelle

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

    $Read = _InetRead("http://www.geizhals.at/deutschland/?in=&fs="&$Cell,1) ;Download Internetseite + Zelleninhalt
    if @error <> 0 Then
    MsgBox(48,"Fehler","Es ist ein Fehler mit dem Internet aufgetreten")
    EndIf
    $Read = BinaryToString($Read) ; gibt den HTML Quellcode der Suchseite aus
    ;-------------------------
    $avArray = _StringBetween($Read, "&euro;&nbsp;", "</a>") ; gibt String zwischen den angegebenen Strings zurück

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

    ;_ArrayDisplay($avArray) ; stellt den Inhalt eines Array in einem Fenster dar fürs Debug

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

    ;-------------------------
    _ExcelWriteCell($oExcel, $avArray[0], $i, 4) ; schreibt den Preis in die 2 Spalte der Exceldatei $avArray[0] enthält den 1. gefundenen Preis $avArray[1] den 2. usw.
    Next
    MsgBox(64,"Preisabruf","Der Preisabruf war erfolgreich",3)

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

    Exit

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

    EndFunc

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

    ; Ende ___________________________________________

    [/autoit]

    Nun zu meiner Frage. Wie kriege ich das hin, dass ich bei einer Fehlermeldung: siehe unter MsgBox nicht ständig das Programm killen muß, sondern wieder zur Eingabe der richtigen Daten zurückkehren kann?

    Gruß...

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 10. November 2011 um 10:16

    Angenommen ich habe jetzt nach einem Artikel gesucht und möchte diesen String "Angebote ab &euro;&nbsp;64,02<" auswerten.
    Das geht wahrscheinlich nicht, weil sich ja der Preis ständig ändert, oder?

    Wie kann ich denn realisieren, dass der Preis, der sich ja ständig ändert mit im String auftaucht?

    Gibt es denn eine Funktion, die mir z.B. ausgehend von dem Zeichen "A" von Angebote weitere 30 Zeichen in einen String packt?
    Ich hoffe es war verständlich. 8|

    Muss ich da mit StringTrimLeft und StringTrimRight arbeiten?

    Gruß

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 9. November 2011 um 23:18

    Hi Thelubu.

    Ich versuche gerade hinter dein erstes Beispielscript zu kommen.

    Gibt es denn eine Möglichkeit was in &read gespeichert wird anzeigen zu lassen?

    Nur so zur Kontrolle, ob da überhaupt etwas passiert?

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 7. November 2011 um 12:05

    Wow du bist einfach nur KLASSE!!!

    Danke für die Hilfe. Bin mal gespannt ob ich das auf die Reihe kriege.

    Ich bin noch ein blutiger Anfänger, was autoit angeht.

    Das heißt, ich müsste den String dann irgendwie umwandeln, bevor ich diese Befehle anwenden kann, oder?

    Sonst bekomme ich doch eine null zurück, oder?

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 7. November 2011 um 09:32

    Jo danke für deine Tipps.

    Eine frage noch:

    Gibt es denn ein Befehl, der den string darauf kontrolliert, ob es sich um Zahlen, oder um Buchstaben handelt?

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 4. November 2011 um 12:27

    Hallo TheLuBu

    Danke für die schnelle Antwort.

    Was ich nicht verstehe ist diese Zeile:

    [autoit]

    $Read = BinaryToString($Read) ; gibt den HTML Quellcode der Suchseite aus

    [/autoit]

    Gibt sie den gesamten Quellcode der Seite zurück?

    Gruß.

  • Aus Exceltabelle Daten kopieren, in I-Seite suchen und Preise in Excel zurückscheiben

    • hexpirator
    • 4. November 2011 um 09:31

    Hi Leute,

    Ich suche eine Möglichkeit Daten aus einer Exceltabelle herauszukopieren, dann nach diesem String auf einer bestimmten Internetseite suchen und die dazugehörigen Preise wieder in die selbe Exceltabelle daneben zu schreiben.

    Geht soetwas überhaupt, oder ist das zu speziell?

    Hintergrund ist, dass ich mir einen neuen Rechner zusammenstellen möchte und sich die Preise auf der Internetseite von Tag zu Tag ändern.
    Jetzt habe ich mir eine bestimmte Preisgrenze gesetzt und nun möchte ich wissen, wann meine Zusammenstellung in dem Preisrahmen liegt.

    Die Website um die es geht lautet:http://www.geizhals.at/deutschland</a> Es ist eine Preisvergleich-Seite.

    Danke schonmal für Eure Antworten und Vorschläge.

    Gruß, Hexpirator

  • Vorstellung + Frage

    • hexpirator
    • 8. September 2011 um 06:07

    Ich würde die Ordner gerne einmal über Inputbox auswählen können und dann verwenden.
    Nur weiß ich leider nicht wie ich das anstellen soll.
    Mit dem "\" weglassen werde ich ausprobieren.

    Ich habe hier irgendwo gelesen, dass man die Datei-, und Ordnernamen in ein Arrey packen kann und dann mit den Daten aus dem Zielordner vergleichen. Wenn vorhanden überspringen, wenn nicht, dann kopieren. Kann mir da vielleicht einer ein Denkanstoß geben???

    Gruß, Eddy...

  • Vorstellung + Frage

    • hexpirator
    • 7. September 2011 um 13:23

    Hat keiner eine Idee?

  • Vorstellung + Frage

    • hexpirator
    • 6. September 2011 um 19:49

    Hier mein aktuelles Script. Es ist bestimmt nur eine Kleinigkeit, aber irgendwas übersehe ich.

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: Hexpirator

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

    Script Function:
    Das Programm soll einen Quellordner auf Veränderungen überwachen und in
    bestimmten Zeitintervalen die neu hinzugefügten Dateien in einen Zielordner
    kopieren. Also quasi eine Sicherheitskopie erstellen.

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

    #ce ----------------------------------------------------------------------------
    HotKeySet("+c", "vergleich") ;Shift_und_c zur Sicherung für zwischendurch
    Global $quelle = "C:\Dokumente und Einstellungen\Admin\Desktop\quell\"
    Global $Ziel = "C:\Dokumente und Einstellungen\Admin\Desktop\ziel\"

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

    ;Wenn sich keine Ordner im Quellordner befinden
    ;Global $Quellverzeichnis = DirGetSize ($quelle,0)
    ;Global $Zielverzeichnis = DirGetSize ($Ziel,0)

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

    ;Wenn sich Ordner im Quellordner befinden: Rekursivmodus
    Global $Quellverzeichnis = DirGetSize ($quelle,2)
    Global $Zielverzeichnis = DirGetSize ($Ziel,2)

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

    $Zeitintervall = 10000;600000

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

    AdlibRegister("vergleich",$Zeitintervall)

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

    while 1
    Sleep (500)
    WEnd

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

    Func vergleich()

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

    $Quellverzeichnis = DirGetSize ($quelle,2)
    $Zielverzeichnis = DirGetSize ($Ziel,2)

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

    If $Quellverzeichnis > $Zielverzeichnis Then
    DirCopy ("C:\Dokumente und Einstellungen\Admin\Desktop\quell", "C:\Dokumente und Einstellungen\Admin\Desktop\ziel", 0);($quelle, $Ziel, 1)
    MsgBox (0, "Hinweis", "Vom Quellordner in den Zielordner kopiert.")
    ElseIf $Quellverzeichnis = $Zielverzeichnis Then
    ;MsgBox (0, "Hinweis", "keine Änderung")
    Else
    If $Quellverzeichnis < $Zielverzeichnis Then

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

    DirCopy ("C:\Dokumente und Einstellungen\Admin\Desktop\ziel", "C:\Dokumente und Einstellungen\Admin\Desktop\quell", 0)
    MsgBox (0, "Hinweis", "Vom Zielordner in den Quellordner kopiert.")

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

    EndIf

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

    EndIf

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

    EndFunc

    [/autoit]

    Was mache ich falsch, bitte um Aufklärung. :S

  • Im MS Paint Maus mit Cursortasten steuern???

    • hexpirator
    • 6. September 2011 um 09:54

    Hi Leute. Ich habe mal wieder eine Frage.

    Und zwar möchte ich mit den Cursortasten auf der Tastatur die Maus im MsPaint steuern und am liebsten mit der Leertaste den linksklick auslösen. Das ganze möchte ich erst mit einem Hot Key aktivieren und deaktivieren können.

    Hintergrund der Geschichte ist, dass ich das Radiergummi entlang eines objektes positionieren möchte, um z.B. den Hintergrund zu löschen. Mit der Maus ist das immer so eine Zitterpatie.

    Wäre schön wenn Ihr mir helfen könntet.

    Gruß, Eddy...

  • Vorstellung + Frage

    • hexpirator
    • 5. September 2011 um 06:47

    Die Funktion DirCopy funktioniert bei mir überhaupt nicht. Ich weiß nicht was ich falsch mache, aber es will einfach nicht klappen.

  • Vorstellung + Frage

    • hexpirator
    • 4. September 2011 um 14:29

    Mit den Variablen läuft es bei mir nicht bei FileCopy, deshalb musste ich den gesamten Dateipfad eingeben. Ich wüsste nur gerne warum das nicht geht. Hat da einer eine Idee???

    Hier das lauffähige Script:

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: Hexpirator

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

    Script Function:
    Das Programm soll einen Quellordner auf Veränderungen überwachen und in
    bestimmten Zeitintervalen die neu hinzugefügten Dateien in einen Zielordner
    kopieren. Also quasi eine Sicherheitskopie erstellen.

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

    #ce ----------------------------------------------------------------------------
    HotKeySet("+c", "vergleich") ;Shift_und_c
    Global $quelle = "C:\Dokumente und Einstellungen\Admin\Desktop\quell\"
    Global $Ziel = "C:\Dokumente und Einstellungen\Admin\Desktop\ziel\"

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

    ;Wenn sich keine Ordner im Quellordner befinden
    ;Global $Quellverzeichnis = DirGetSize ($quelle,0)
    ;Global $Zielverzeichnis = DirGetSize ($Ziel,0)

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

    ;Wenn sich Ordner im Quellordner befinden: Rekursivmodus
    Global $Quellverzeichnis = DirGetSize ($quelle,2)
    Global $Zielverzeichnis = DirGetSize ($Ziel,2)

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

    $Zeitintervall = 600000

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

    AdlibRegister("vergleich",$Zeitintervall)

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

    while 1
    Sleep (500)
    WEnd

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

    Func vergleich()

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

    $Quellverzeichnis = DirGetSize ($quelle,2)
    $Zielverzeichnis = DirGetSize ($Ziel,2)

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

    If $Quellverzeichnis > $Zielverzeichnis Then
    FileCopy ("C:\Dokumente und Einstellungen\Admin\Desktop\quell\*.*", "C:\Dokumente und Einstellungen\Admin\Desktop\ziel\*.*", 1);($quelle, $Ziel, 1)
    MsgBox (0, "Hinweis", "Vom Quellordner in den Zielordner kopiert.")
    ElseIf $Quellverzeichnis = $Zielverzeichnis Then
    ;MsgBox (0, "Hinweis", "keine Änderung")
    Else
    If $Quellverzeichnis < $Zielverzeichnis Then

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

    FileCopy ("C:\Dokumente und Einstellungen\Admin\Desktop\ziel\*.*", "C:\Dokumente und Einstellungen\Admin\Desktop\quell\*.*", 1)
    MsgBox (0, "Hinweis", "Vom Zielordner in den Quellordner kopiert.")

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

    EndIf

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

    EndIf

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

    EndFunc

    [/autoit]

    Außerdem ist mir im nach hinein aufgefallen, dass wenn ich einen Ordner mit ins Quellverzeichnis reinkopiere, dieser nicht ins Zielverzeichnis kopiert wird. geschweige denn, wenn sich im Unterordner etwas ändert.
    Ich weiß, dass dieses Script nicht die optimale Lösung ist, aber für mein zweites Script ist es schon toll für mich. Natürlich mit Hilfe die User hier.

  • Vorstellung + Frage

    • hexpirator
    • 3. September 2011 um 11:58

    Hi Leute, hier ist der Noob schon wieder.

    Hier ist mein verändertes Script, aber kopieren will es immer noch nicht.

    Ich bin am verzweifeln. Bitte um Hilfe.

    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: Hexpirator

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

    Script Function:
    Das Programm soll einen Quellordner auf Veränderungen überwachen und in
    bestimmten Zeitintervalen die neu hinzugefügten Dateien in einen Zielordner
    kopieren. Also quasi eine Sicherheitskopie erstellen.

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

    #ce ----------------------------------------------------------------------------
    $Quellverzeichnis = DirGetSize ("C:\Dokumente und Einstellungen\Admin\Desktop\quell,0")
    $Zielverzeichnis = DirGetSize ("C:\Dokumente und Einstellungen\Admin\Desktop\ziel,0")
    $quelle = "C:\Dokumente und Einstellungen\Admin\Desktop\quell"
    $Ziel = "C:\Dokumente und Einstellungen\Admin\Desktop\ziel"

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

    while 1
    Sleep (50)
    WEnd

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

    Func vergleich()

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

    If $Quellverzeichnis > $Zielverzeichnis then
    DirCopy ($quelle, $Ziel)

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

    ElseIf $Quellverzeichnis = $Zielverzeichnis Then
    MsgBox (0, "", "keine Änderung")
    EndIf
    Sleep (100000)
    EndFunc

    [/autoit]

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™