Automatisches Speichern von Dateien.
-
Hallo Leute!
Ich hatte nun 1 Jahr C in der Schule, aber wir sind nicht sehr weit gekommen mit dem Stoff.
Einiges möchte ich mir gerne selber bzw durch dieses Forum beibringen, desshalb bin ich hier!
Ich möchte ein etwas anspruchsvolleres Programm schreiben (anspruchsvoll für mich^^) und dazu werde ich eure Hilfe brauchen!Mein Vater hat viele Probleme mit seinem System und es gehen immer wieder Dateien verloren durch irgendwelche Probleme. Desswegen möchte ich ein Programm schreiben, welches automatisch, die bestimmte Datei auf einen USB Stick speichert.
Es handelt sich um eine Excel Datei, die jedes mal nachdem MS Excel geschlossen wird, auf den USB Stick gespeichert werden soll.
Es soll eine Konsolen Applikation werden die im Hintergrund laufen soll, bzw nicht sichtbar ist am Desktop.
Das Programm soll überprüfen ob der Prozess bzw die Anwendung läuft, wenn NEIN dann soll er die Datei auf den USB Stick speichern (ein festgelegter Pfad).Ich weiss nicht wie ich das überprüfen soll, aber ich habe noch garnicht nach gesehen. Das werde ich sofort machen!
Wie man eine Datei verschiebt weiss ich nur von Visual Basic aber da müsste ich auch wieder nach sehen in meinen alten Programmen.
Da sehe ich auch im Forum nach.Dann hätte ich noch eine Idee die sehr Amateurhaft ist aber andereDann würde ich noch gerne etwas dazu machen, was ich mir etwas schwerer vorstelle. Möglichkeiten kommen nicht so in Frage weil ich sehr wenig auf dem Bereich gemacht habe.
Nachdem die Datei auf dem USB Stick ist, soll am Ende des Dateinamen das heutige Datum stehen. Das stelle ich mir so vor:
Ich erstelle eine Text Datei in der das heutige Datum steht und jeden Tag wenn ich das Programm einmal starte soll das Datum um 1 erhöht werden. Die Monate dementsprechend auch. Es soll eine vorgefertigte Jahrenstruktur in der Text Datei stehen und Monate mit 31 Tagen sollen mit einer 1 am Anfang der Zeile gekennzeichnet werden.
Da müsste ich eigentlich nur nachsehen wir man eine Datei umbenennt, weil ich Text Bearbeitung kann ich schonIhr könnt ja mal schreiben was ihr davon haltet und mir Tips geben und mich kritisieren und ganz runter machen
doofe Kommentare
Gruß c.nub
Edit: habe mal was für die Überprüfung von laufenden Prozessen gefunden, komme damit aber garnicht weiter.
Könnt ihr euch ja mal ansehen ob ich da richtig bin: http://www.c-plusplus.net/forum/viewtopic-var-p-is-65076.htmlFürs Verschieben von Dateien habe ich den Befehl gefunden: MoveFile("pfad", "pfad");
Die Datei soll nicht verschoben werden, sondern kopiert, also an beiden Pfaden soll die Datei sein.
-
Hallo c.nub,
du müsstest zunächst testen, ob der Prozess läuft:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-65076.htmlDen aktuellen Tag kannst musst du nicht berechnen:
time_t timestamp; tm *n; timestamp = time(0); n = localtime(×tamp); int day = n->tm_mday; int month = n->tm_mon + 1; int year = n->tm_year + 1900; const char oldFileName[] = "test.xls"; char filename [30]; sprintf(filename, "%s_%i.%i.%i", oldFileName, day, month, year);endl;
Dann wirst du deine Datei vermutlich kopieren:
CopyFile("C:\\a.xls", <PfadZurDatei_filename>);
Bei <PfadZurDatei_filename> musst du natürlich den Pfad zum Wechseldatenträger angeben. Alles ungetestet, nur als Anregung.
Viele Grüße,
MaBa
-
Danke für die super Antwort, brauch ich für deine Funktion einen Headder ?
Und bei dem Link komm ich nicht weiter den hab ich auch gefunden. Ich kenn mich in dem Kaos garnicht aus
Aber sobald ich zu Hause bin werde ich mal anfangen und das programmieren was ich kann.Wenn sich das jemand antun will, darf er mir gerne erklären wie man überprüft ob ein Prozess läuft
Gruß c.nub
-
Stimmt, hab ich vergessen zu erwähnen: Du musst
#include <time.h>
einbinden.
Viele Grüße,
MaBa
-
Ich würde das direkt in Excel mit nem VBA Macro machen, das sollte doch machbar sein.
Extra nen Prozess laufen zu lassen, der Excel überwacht, ist Ressourcenverschwendung und viel zu umständlich.
-
Eventuell kann man Excel sogar so einstellen, dass es automatisch Sicherheitskopien in einem bestimmten Ordner ablegt. Einfach mal nachsehen.
Ich finds gut, dass du dir selber Aufgaben stellst, aber diese Aufgabe erscheint mir viel zu umständlich, als das du damit wirklich erfolgreich sein wirst.
-
Microsoft Excel verfügt nun über eine integrierte Funktion mit der Bezeichnung "AutoWiederherstellen", die das Add-In "Automatisches Speichern" ersetzt hat, das in den Excel-Versionen vor der Version 2002 enthalten war. "AutoWiederherstellen" speichert Kopien aller geöffneten Excel-Dateien nach einer vom Benutzer vorgegebenen Zeitspanne. So können die Dateien wiederhergestellt werden, wenn Excel (zum Beispiel wegen eines Stromausfalls) unerwartet beendet wird.