Hi Ihr C/C++ Profis. Ich habe folgenden Problem. Ich muss für ein Schulprojekt ein tool schreiben der eine Ordner überwacht und wenn eine neue Datei rein kommt eine meldung macht (z.B per MessageBox)
Ihr würdet mir einen riesen gefall tun wenn mir jemanden ein lösungsforschlag machen könnten. Ich würde soger auch was bezahlen dafür. Bis 50 € würde ich dafür geben.
das wird plattformabhängig werden... musst also dein os nennen... für 50€ findest du garantiert jemanden in diesem forum der dir das proggt aber du solltest lieber überlegen das selber zu machen tips bekommst du hier umsonst, wofür wir aber erstmal das OS auf dem du es impelmentieren willst wissen müssten -- ...fleißig wie zwei Weißbrote
Also das Programm sollte Unter Windows laufen. Ich würde es ja gerne auch selber Probieren aber leider kenne ich mich in c++ nicht so gut aus und mir feht die Zeit läuft mir davon. Ich muss das noch bis nächste woche Montag abgeben. Läute Ihr würdet mir mein A***Sch reten wenn mir jemanden so ein tool schreiben würde. Ich würde mich auch erkenntlich zeigen.
programmablauf wäre so du startest das programm mit nem paramter der angibt um welches verzeichnis es sich handelt... dann liest du das komplette verzeichnis durch (FindFirstFile FindNextFile) und speicherst wie das aktuelle verzeichnis aussieht...
dann lässt du dein programm z.b. alle 60sec (damit der rechner auch noch zeit für andere dinge hat) einmal durchlaufen und vergleichst vorherigen zustand mit dem jetzigen... gibts ne änderung dann neuen zustand updaten und messagebox schmeissen sonst nix...
das sollte alles sein ist also bis montag auch wenn man nicht gut programmieren kann zu schaffen...
guck dir mal als erstes an wie man den inhalt eines verzeichnisses mit FindFirstFile und FindNextfile ausliest... wenn du das hast musst du dir ne datenstruktur überlegen in der du die informationen speicherst (da gibts schon fertige die man benutzen kann) und dann musst du am ende nur noch einen vergleich schreiben und das teil ist fertig... -- ...fleißig wie zwei Weißbrote
Vielendank für deine tips Bruder. Ich will wirklich nicht nerver aber ich habe das versucht und irgendwie bekomme ich das nicht hin. ich währe dir ein lebenlang dankbar wenn du das für mich machen könntest. Die sache ist super wichtig für mich, und mit c++ komme ich ja irgendwie absolut nicht zu recht. In Visual Basic, Oder in Delphi ist ja sowas kein Problem aber C ist irgendwie absolut nicht mein ding. Und in der Schule machen wir ja halt nur C/C++. Du kannst auch was dafür verlangen wenn du möchtest. Vielen Dank Bruder
da ich momentan nichts zu Programmieren hatte, habe ich das Programm mal geschrieben.: (so wie Windalf es vorgeschlagen hatte)
Es hat höchstens 10 Minuten gedauert. (sind etwa 50 Zeilen) Wenn du also google zu hilfe nimmst, wirst du das wohl noch rechtszeitig schaffen.
ps.: da du VB und delphi kannst, ist es doch eigentlich nicht das Größte Problem sowas zu Programmieren. Du weßt ja wie es geht, und die Benötigten Befehle gibts bei google. -- MFG RedEagle
Hi Bruder RedEagle. Ich würde die ein leben lang dankbar sein wenn du mir diesen program schicken würdest. Ich bin richtig am verzweifeln. Die zeit rück immer näher und ich habe irgenwie totall ein blackaut. Ich bekomme diesen scheis voll nicht auf die reihe. Es ist super wichtig für mich, denn sonst würde ich ja nicht so betteln. Bitte mein Freund hilf mir und erlöse mich von meine quallen. Ich würde jeden tag für dich betten.
@RedEagle funktioniert das tatsächlich... Ich hab sowas in der richtung noch gar nicht probiert, war nur ne vermutung das man das so machen kann...
hab gerade mein neues game Spellforce - Breath of Winter... so lange ich das nicht durchgespielt habe, hab ich keine zeit zum proggen... -- ...fleißig wie zwei Weißbrote
Mal genauer wie ich es gemacht habe.: 1. In eine string-variable den ursprungszustand gespiechert (mit FindFirstFile usw.)
2. Dann alle in einer neuen schleife ebenfals den ordnerzustand abfragen und mit der Vergleichsvariable vergleichen. wenn etwas nicht übereinstimmt, gibts ne MessageBox.
Mal nen kleinen ansatz für Johan:
C++:
WIN32_FIND_DATA data;
HANDLE h=FindFirstFile("c:\\windows\\*.*", &data); //der windows-ordner wird überwacht (leider nicht die Unterverzeichnisse) if(INVALID_HANDLE_VALUE==h) return(1);
do { cout << data.cFileName << endl; } while(FindNextFile(h, &data)); //Hir wird alles ausgegebnen (kann auch in eine Variable gespciehrt werden ;)