-
Gesamte Inhalte
297 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Fufialk
-
Also über eine Temporäre Übergabe? CString tempfrom = argv[f]; path.Format("%s%c", tempfrom, 0); CString tempto = verzeichnis; path.Format("%s%c", tempto, 0); und dann weiter: memset(&fos, 0, sizeof(fos)); fos.wFunc = FO_MOVE; fos.pFrom = tempf; fos.pTo = tempto; fos.fFlags = FOF_ALLOWUNDO | FOF_FILESONLY; SHFileOperation(&fos);
-
Hallo habe folgendes Problem mit SHFileOptions: Ich übergebe mehrere Dateien an mein Programm, die der Reihe nach abgearbeitet werden sollen. Nach der Bearbeitung sollen diese dann zwecks Archivierung abgelegt werden. Das ganze sieht so aus: int main(int argc, const char* argv[]) { for (f = 1; f < argc; f++) { // Unterscheidung der Feldtests anhand der Dateierweiterung const char* find = strrchr(argv[f], '.'); //letztes "." finden strncpy(endung,find+1, 3); //alles ab "." kopieren und endung zuweisen if ( strcmp ( endung , "MVD" ) == 0 ) //MVV Datenfile feldtest = 1; else if (.......) feldtest = 2; ....... //Aufruf der unterprozeduren für die Bearbeitung und Umwandlung der einzelnen Messfiles switch (feldtest) { case 1 : cout << "\nMVV Datendatei\n"; if (mvv_dfile(argv[f]) == true) //Aufruf der Funktion bool mvv_dfile (Überprüfung auf Vorhandensein der Datei) { mvv_dat (argv[f]); //Aufruf der Unterfunktion mvv_dat (eigentliche Datenumwandlung) }; //if mkdir(rohdaten); // Erstellen des Ordners 'Rohdaten' chdir(rohdaten); // Wechsel in den Ordner Rohdaten getcwd(verzeichnis,sizeof(verzeichnis)); // ermitteln des aktuellen Verzeichnisses //Aus C++ Referenz Kopieren der Rohdatendatei in den entsprechenden //Ordner (SPF\Jahr\KW_WW\Meldung\Rohdaten) und anschließendes Löschen aus Tempverzeichniß) memset(&fos, 0, sizeof(fos)); // SHFILEOPSTRUCT mit nullen füllen fos.wFunc = FO_MOVE; // Kopieroperation auswählen fos.pFrom = argv[f]; // Ausgangsparameter (Welche Datei soll kopiert werden?) fos.pTo = verzeichnis; // Zielparameter (Wohin soll die Datei kopiert werden?) fos.fFlags = FOF_ALLOWUNDO; // Flags für Rückgängigmachen SHFileOperation(&fos); // Operation ausführen cout << "\nDie Datei " << argv[f] << " wurde in das Verzeichnis " << verzeichnis << " verschoben."; break; case 2 : ....... break; default : cout << "\nEs handelt sich nicht um ein Messfile!\n"; break; } // switch } // for cout << "\nAlle uebergebenen Messfiles wurden verarbeitet.\a"; cout << "\nBeendigung mit Tastendruck."; getch(); } // end main Das Problem Dabei ist, daß nicht nur die Datei argv[f] verschoben wird, sondern alle Dateien, die sich im selben Ordner befinden.
-
SHFileOperations unter XP verwenden
Fufialk antwortete auf Fufialk's Thema in C++: Compiler, IDEs, APIs
if (spf_dfile(argv[f]) == true) //Aufruf der Funktion bool spf_dfile (Überprüfung auf Vorhandensein der Datei) { spf_dat (argv[f]); //Aufruf der Unterfunktion spf_dat (eigentliche Datenumwandlung) char verzeichnis [200]; //Rohdatenverzeichnis mkdir(rohdaten); getcwd(verzeichnis,sizeof(verzeichnis)); // ermitteln des aktuellen Verzeichnisses cout << "Verzeichnis: " << verzeichnis << "\n"; //Test //Aus C++ Referenz Kopieren der Rohdatendatei in den entsprechenden //Ordner (SPF\Jahr\KW_WW\Meldung\Rohdaten) und anschließendes Löschen aus Tempverzeichniß) SHFILEOPSTRUCT fos; // SHFILEOPSTRUCT erzeugen memset(&fos, 0, sizeof(fos)); // SHFILEOPSTRUCT mit nullen füllen fos.wFunc = FO_COPY; // Kopieroperation auswählen fos.pFrom = argv[f]; // Ausgangsparameter (Welche Datei soll kopiert werden?) fos.pTo = verzeichnis; // Zielparameter (Wohin soll die Datei kopiert werden?) fos.fFlags = FOF_NOCONFIRMMKDIR; // Flags für Rückgängigmachen und Verzeichniß ohne Nachfrage erstellen SHFileOperation(&fos); // Operation ausführen cout << "\nDie Datei " << argv[f] << " wurde in das Verzeichnis " << verzeichnis << " verschoben."; fos.wFunc = FO_DELETE; // Dateien in Papierkorb verschieben fos.pFrom = argv[f]; // Ausgangsparameter (Welche Datei soll gelöscht werden?) fos.fFlags = FOF_NOCONFIRMATION; // Flags für Rückgängigmachen Operation ohne Nachfrage durchführen SHFileOperation(&fos); // Operation durchführen }; //if[/PHP] So, das ist der Teil um den es geht. Wie gesagt, die Ordner werden angelegt, rechte sind gesetzt etc... -
Ist es möglich die SHFileOperations unter XP zu verwenden? In diversen Foren habe ich immer nur etwas von * Windows 95 * Windows 98 * Windows NT ab Version 4.0 * Windows ME * Windows 2000 gelesen. Was aber meines erachtens daran lag, daß die Posts schon sehr alt waren. Ich habe ein Programm, an welches Dateien per D&D übergeben werden, und die am Ende in unterschiedliche Ordner verschoben werden sollen. Ich erhalte aber immer eine Fehlermeldung, daß ein verschieben nicht möglich ist. Liegt das dann doch an XP?
-
Linker Error: Expected a file name
Fufialk antwortete auf Fufialk's Thema in C++: Compiler, IDEs, APIs
Wer soll denn bitteschön darauf kommen. Vielen vielen Dank, das war es gewesen. Hatte im Pfad noch C++ gehabt. -
Hallo wie im Titel schon angedeutet habe ich folgendes Problem mit dem Borland C++Builder 6. Ich habe bisher einen freien scintillabasierten Texteditor benutzt, über den ich linker und compiler aufrufen konnte, und so meine kleinen Programme geschrieben habe. Ich bin jetzt auf Borland umgestiegen, da er sehr gut und komfortabel sein soll. Zum testen wollte ich mit meinen alten Codes etwas rumspielen, um mich einzugewöhnen, und hier komme ich nun gar nicht voran. Da mir der Linker immer den oben genannten Fehler ausgibt. Ich hoffe jemand kann mir verraten, woran das liegt, da die onlinehilfe von Borland leider nichts hergibt.
-
Beim Arbeiten mit sehr großen Tabellen stürzt Excel 2007 immer ab, sobald die automatische Speicherung der Wiederherstellungsinformationen startet, und genau das Gegenteil passiert, und alle Änderungen der letzten 10 Minuten gehen verloren. Bei dem Versuch diese Option zu deaktivieren erhalte ich immer folgende Fehlermeldung (siehe Anhang) Kann jemand sagen, woran das liegt? Ich arbeite mit Benutzerrechten, und nicht als Administrator. Im Adminkonto kann ich die automatische Speicherung problemlos deaktivieren. Dies hat jedoch keinerlei Auswirkungen auf die anderen Benutzerkonten. Ich habe schon die Rechte im Programme\Microsoft Office\.... so gesetzt, daß auch die Benutzer Änderungen vornehmen können, jedoch ohne Erfolg.
-
Du hast Deine Festplatte vor der Installation bestimmt nicht formatiert und partitioniert, sonder diese Arbeiten vom Setup ausführen lassen. Das klappt dann nicht, weil Windows bei der Installation zwar das Laufwerk D: findet, da es aber nicht formatiert ist, schreibt es auch keine Daten, und legt deshalb unter C: den Programme Ordner an....
-
Ich glaube mit tweakui (Microsoft XP Powertoys) kannst Du solche einfachen Sachen einstellen.
-
Gab es dabei denn irgendwelche Fehlermeldungen/Hinweise, daß etwas nicht stimmt? Ich meine beim deinstallieren? Hast Du denn schon mal im Speicherabbild nachgesehen, daß beim Bluescreen geschrieben wird? Hier mal eine kleine Anleitung dazu. Ist aus der Chip.
-
Das größte Problem sind nicht die Programme, sondern das Benutzerverzeichnis. Wenn der Laufwerksbuchstabe geändert wird, liegen nämlich die Benutzerprofile nicht mehr dort, wo sie einmal waren, und somit kannst Du Dich nicht mehr anmelden. Du mußt also auf alle Fälle nach der Änderung des Laufwerksbuchstabens und noch vor dem Neustart alle Verweise auf das Laufwerk ändern. Du hast gesagt, daß Du PartitionMagic "gekauft" hast. Ich frage mich zwar, warum dann das Handbuch in englisch ist, aber egal. Da ist der DriveMapper dabei, der solche Änderungen vornehmen können soll. Über regedit kannst Du natürlich auch von Hand nach den Einträgen suchen, und diese ändern. Und es gibt auch garantiert Editoren von Fremdfirmen, die über automatisch ersetzen alle Verknüpfungen von F:\ auf C:\ umändern. Ob dann noch was funktioniert ist fraglich. Also brauchst Du dann schon mal eine LiveCD, mit der Du die defekte registry reparieren kannst, und natürlich auch eine Sicherung dieser. Auf der anderen Seite solltest Du eh früher oder später auch mal eine Sicherung Deiner Daten machen, schließlich kann immer mal was passieren.... Also stehst Du früher oder später eh wieder vor der Entscheidung eines Zukaufs von Hardware....
-
Es bleiben trotzdem 4GB (4,2 um ganz genau zu sein) Und auch die Programme kommen trotzdem noch dazu... Daher würde ich als Imageträger eine Festplatte benutzen. Im Handel gibt es jetzt auch diese schönen Adapter, wo man eine HD frei anschließen kann. System einmal einrichten, Platte in ein externes Gehäuse packen, und dann von Rechner zu Rechner Spazieren, den Adapter an die eingebaute HD anschließen und los gehts. Da braucht man dann nur noch ein Laptop, wo Du mit Ghost, PartitionMagic oder was auch immer eine komplette Kopie der Platte inkl. MBR anlegst, und fertig.
-
Welches Verzeichnis zeigt er dir denn an wenn Du die Shell öffnest? Verschiebe mal Deine Batchdatei in das selbige und starte Sie erneut....
-
Wie gesagt im Post von gestern steht ja schon eine ganze menge drinne. Das Problem bei Verwendung einer USB Festplatte könnten die Treiber sein. Bei nlite kannst Du die zwar in Deine SetupCD einbinden, ob sich Windows dann aber normal installieren lässt, und vor allem, ob er den Partitionen auf Deiner USB-Platte dann auch die richtigen Buchstaben zuordnet kann ich nicht sagen. Also würde ich versuchen, im Lokalen Rechner nur eine Platte mit der Windowspartition einzurichten. Und auf der USB-Platte die Partitionen so aufzuteilen und zu formatieren, wie Du es brauchst. Und dann mal kucken, was passiert. Ich glaube aber nicht, daß man die richtigen Laufwerksbuchstaben vorher erraten kann. So gibt es zum beispiel den Bug, daß einem Cardreader, der während des Setups erkannt wird der Buchstabe C: zugewiesen wird. CD Laufwerke, die Lokal am Rechner hängen werden sicherlich auch dazwischenfunken. Und sobald sich die Konfiguration mal ändert, steht alles Kopf und Du kannst Dich nicht einloggen, weil das System die Benutzerprofile nicht findet... Fazit: Programme, Profile, Temporäre Dateien, Auslagerungsdateien und Daten lassen sich wunderbar und problemlos voneinander trennen, wenn die Datenträger eine feste Zuordnung haben. Vor USB-Platten würde ich aber ausdrücklich warnen.
-
Dann gehe ich ganz einfach mal davon aus, daß Du nicht genügend Rechte besitzt, um auf andere Bereiche zu schreiben. Öffne doch als erstes mal die Kommandozeile, also cmd.exe und trage dort den XCOPY befehl ein und kucke, was passiert. Wahrscheinlich kannst Du jetzt auch die Fehlermeldung lesen.
-
Wahrscheinlich, weil Du Sie nicht wirklich gelöscht hast. Am besten Du löscht alle Partitionen über die Datenträgerverwaltung und lässt dann gleich noch checkdisk drüber laufen, bevor Du die Platte wieder einhängst.
-
Dann kann es auch durchaus daran liegen, daß Du mit XCOPY nicht das erwünschte Ziel erreichst. Innerhalb Deiner eigenen Dateien kannst Du auch nicht kopieren? Wenigstens das sollte möglich sein.
-
Kannst Du die Festplatte nicht in einem anderen Rechner testen und eventuell nach eigenen Vorstellungen formatieren? Wenn nicht versuch es mal über checkdisk die Platte auf Fehler zu überprüfen.
-
Integriere einfach die Befehle kopieren und Verschieben ins Kontextmenü: In: "Hkey_Classes_Root\AllFilesystemObjects\Shellex\ContextMenuHandlers". die zwei Schlüssel "Copy To" und "Move To" anlegen und der Zeichenfolge "Standard" für "Copy To" den Wert "{C2FBB630-2971-11D1-A18C-00C04FD75D13}" und für "Move To" den Wert "{C2FBB631-2971-11D1-A18C-00C04FD75D13}" . Danach erscheinen im Kontextmenü von Dateien und Verzeichnissen die Einträge "In Ordner kopieren" und "In Ordner verschieben". Einfacher gehts nicht...
-
Microsoft bietet auch folgende Lösung an: kb328874 Ich denke, daß könnte sehr Hilfreich sein. Auch sollte es möglich sein, einen Rechner einzurichten, ohne die Aktivierung durchzuführen. Dann das Image erstellen und verteilen, und bei der Aktivierung die jeweilige Seriennummer einzugeben... Problematischer ist aber glaube ich ein Image zu erstellen, daß auf eine DVD passt, da Windows ja schon gut 4GB verbraucht (bei aktuellem Patchstand) und dann ja auch noch die Programme dazukommen.
-
Ja ist es im Prinzip musst Du nur drei Schritte durchführen. Unbeaufsichtigte Installation und Optionen (siehe Bild 1) dann gemäß Bild 2 und 3 die entsprechenden Werte Deiner Wahl setzen und die CD brennen. Dauert für Dich keine 5 Minuten. Mit den anderen Optionen lohnt es sich aber auf alle Fälle auch zu beschäftigen....
-
Ich wollte ja auch nicht, daß Du alles gleich so machst, wie ich, aber es werden bestimmt noch mehr Leute ähnliche Fragen haben, also versuche ich gleich alle Vorteile der Methode zu nennen. Und die Zeit, die Du benötigst, um mit nlite die CD zu erstellen wirst Du definitiv auch für den Rest benötigen. Es ist nämlich nicht nur einfach ein Wert ändern, und dann läuft alles. Der Ordner Dokumente und Einstellungen enthält nämlich auch gesperrte und geschützte Dateien, die nicht einfach so im laufenden Betrieb kopiert werden können. Dazu benötigst Du wie bereits gesagt eine Knopix CD oder ähnliches, um erst einmal an anderes System zu starten, mit dem Du Zugriff auf die besagten Gesperrten Dateien hast. Und wenn Du dann doch etwas vergessen hast, oder die Zugriffsrechte nicht stimmen, fängst Du von vorne an. Und an der Registry und am System macht jeder etwas. So ziemlich jedes Programm, was Du installierst, ändert dort Werte. Und die Deinstallation schreibt diese Werte oftmals nicht in Ihre ursprüngliche Form zurück. So verschwinden dann Miniaturansichten, Hintergrundbilder und so weiter. Dann holt man die tollen Registrytweaker raus und stellt noch mehr auf den Kopf, und nach einem halben Jahr wird alles neu installiert, wobei dann ein Haufen Daten verloren gehen, weil man sich keine Sorgen um Sicherheit und Backups gemacht hat.
-
Das ist definitiv eine falsche Aussage des Supports. Mit der Recovery CD sollte sich Vista problemlos installieren lassen. Auch bei der Aktivierung dürfte es keine Probleme geben, da die Hardware identisch bleibt.
-
Um mal auf die ursprüngliche Frage zurückzukommen. Mit nlite kann man sich eine wunderschöne setup CD von XP anfertigen, wo die Pfade für Programme und Benutzerprofile schon eingestellt werden können. Das heißt, man muß nach der Installation nicht mehr in der Registry rumdoktorn und die Pfade eventuell noch von Hand nachbessern. Da es hier ja um eine Neuinstallation geht, würde ich diesen weg empfehlen. Man muß die Festplatte nur vorher entsprechend partitionieren, und auch formatieren. Ich habe bei mir zum Beispiel folgendes eingestellt: 10 GB Windowspartition C: derzeit 5,79GB frei 25 GB Programme D: derzeit 10,5 GB frei 5 GB für die Profile E: derzeit 3,17 GB frei 20 GB für Backups F: derzeit 13,4 GB frei 80GB GB Daten G: 10 GB Temp H: Die Auslagerungsdatei (1,5 * RAM [1024MB]) habe ich noch über die Umgebungsvariablen auf das Templaufwerk H: verbannt. Der Vorteil liegt vor allem in der Verwaltung des Backupspeichers. Die Laufwerke C: und E: werden automatisch durch Norton Save & Restore von mir gesichert, um das System und alle nach Vieren/Malwarebefall wieder auf den ursprünglichen Stand bringen zu können. Die Programme und die Daten sichere ich von Hand auf ein externes Laufwerk. Einfacher geht es wirklich nicht.
-
So was ähnliches habe ich schon gemacht. Daher weiß ich, an welcher Stelle es hakt. Worauf muss ich denn im Debugger achten?