Hallo,
ich habe mir ein Programm programmiert, das automatisch eine Datei auf einen ftp server läd, falls diese sich nicht schon dort befindet. Wenn man die Datei auf der Festplatte ändert, soll die Änderung erkannt werden und auf den FTP-Server erneut hochgeladen werden. Das Programm soll im Hintergrund laufen und alle 30 Sekunden überprüfen, ob sich etwas an der Datei geändert hat. Das klappt auch schon, eben bis auf die Tatsache, dass er nicht erkennt ob die datei geändert wurde oder nicht und deshalb immer beim überprüfen die Datei neu hochläd. Ich habe die If Funktion verwendet.
Naja die primitivste Methode wäre, die Datei anhand einer Checksumme
alle 30secs zu vergleichen.
Z.B. könntest du diesen Wert durch die CRC32FileFingerprint()-Funktion
bekommen und dann mit einem Referenz-Wert vergleichen. Sind diese
ungleich, müsste sich deine Datei verändert haben.
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
Ok danke ich kann mir schon ein bisschen darunter vorstellen^^ aber kannst du das bitte noch ein bisschen genauer erklähren? Programmiere erst seit ca. 4 Tagen.
1. Datei ist lokal gespeichert
2. neuen CRC32 oder MD5-Schlüssel für Datei bilden lassen
3. Schlüssel mit altem Schlüssel vergleichen
4. wenn kein alter Schlüssel oder Schlüssel ungleich, Datei hochladen und Schlüssel merken, sonst nix machen
5. 30 sec warten, weiter mit 2.
Ok, danke für die schnelle Hilfe. Ich werd das mal ausprobieren und melde mich dann obs geklappt hat, oder ob ichs mal wieder nicht zustande bekommen .
also, ich find vergleichen des gesamten files oder seiner checksummen
(auch dafür muss das komplette file gelesen werden) doch ein bissel overkill, ihr nicht?
warum vergleichst du nicht einfach das änderungsdatum?
das ist ein simples Fileattribut, was man checken muss, und alles ist wölkchen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Jo das ist ne sehr gute Idee. Hab ich mir auch schon gedacht aber leider wusste ich nicht ob so was möglich ist und wenn ja wie das geht. Deshalb hab ich nen andren weg gesucht. Wenn du mir einen Code geben könntest, mit dem das möglich ist, währe ich dir sehr dankbar .
Ok, werd ich machen aber muss dafür erst wieder an den PC wo PB drauf installiert ist und das werd ich erst heut Nachmittag/Abend schaffen weil ich jetzt erst noch Hunde-Sitten muss^^