Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

20.05.2008, 15:48

Zitat von »"Gon"«

komisch klappt auch nicht.......
versucht ihrs mal, vielleicht gehts nur bei mir nciht....

Ich hab das gestern bereits getestet, deshalb der Hinweis zu den Jokern (*).
Allerdings hab ich noch einen abschließenden Backslash hinzugefügt:

C-/C++-Quelltext

1
MoveFile("c:\\Programme\\avi1\\", "c:\\Programme\\avi2\\");  // <<<jeweils hinter avi1 und avi2 

Außerdem solltest du den booleschen Rückgabewert ruhig mal prüfen und - wie bereits erwähnt - ggf. GetLastError aufrufen.

Gon

Treue Seele

  • »Gon« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Nahe München

Beruf: Schüler (9. Klasse Gymnasium)

  • Private Nachricht senden

22

20.05.2008, 16:30

ok, ich hab jetzt noch jeweils zwei striche hinzugefügt, es klappt aber trotzdem nicht.... :?
wie überprüft mann den booleschen rückgabewert?
und wo muss das GetLastError hin?
woran sehe ich, wenn die obigen methoden aufgerufen, dass sie einen fehlerwert liefern?

mfg gon

edit:
@sirforce: das ist ein ordner.

SirForce

Alter Hase

Beiträge: 802

Wohnort: Süddeutschland

  • Private Nachricht senden

23

20.05.2008, 16:45

Zitat von »"Gon"«

edit:
@sirforce: das ist ein ordner.


ah lol... ok ;)
Nichts behindert so sehr die Entwicklung der Intelligenz wie ihre vollständige Abwesenheit.

Michail Genin

24

20.05.2008, 18:05

Immer diese Germeringer... :)

In etwa so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
bool bMoved = false;
DWORD dwError = 0;

bMoved = MoveFile("c:\\Programme\\avi1\\", "c:\\Programme\\avi2\\");

if (bMoved)
{
    // Es wurde verschoben

}
else
{
    dwError = GetLastError();   // Fehler aufgetreten

}


Kannst natürlich MoveFile gleich in ein "if" packen: if (MoveFile...)
Den Fehlercode von GetLastError kannst du dann in der winerror.h (Platform SDK) nachlesen. Oder mit der Funktion FormatMessage ausgeben. Kuckst du bei MSDN nach FormatMessage....

Gon

Treue Seele

  • »Gon« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Nahe München

Beruf: Schüler (9. Klasse Gymnasium)

  • Private Nachricht senden

25

23.05.2008, 21:59

was meinst du mit germeringer? ;)

ok, danke, hab ich jetzt gemacht.....
wenn ich nun den button zum verschieben drücke, fragt mich das programm, ob ich beenden will, es kommt also die box, die normalerweise kommen soll, wenn ich auf "beenden" klicke....
wahrscheinlich heißt das, dass irgendwo ein fehler ist, denke ich........
wo in winerror.h steht des? die datei hat ja seeeehr viel text.....
und bei FormatMessage verstehe ich die parameter nicht........

mfg gon

26

23.05.2008, 22:57

Keine Ahnung, was mit deinen Buttons los ist. Wie bei Windows halt: "Klicken Sie Start, um zu beenden...". ;)

Einfach die winerror.h nach dem zurückgegebenen Fehler durchsuchen (Strg-F). Ich hatte beim Testen beispielsweise 123

C-/C++-Quelltext

1
#define ERROR_INVALID_NAME               123L    // dderror

Unzulässiger (Datei-)name...

Gon

Treue Seele

  • »Gon« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Nahe München

Beruf: Schüler (9. Klasse Gymnasium)

  • Private Nachricht senden

27

25.05.2008, 11:23

wahrscheinlich weil kein datei-, sondern ein ordner-name angegeben wurde beim ersten pfad...

woher weiss ich welcher fehlercode zurückgegeben wird?

mfg Gon

28

25.05.2008, 11:47

Zitat von »"Gon"«

woher weiss ich welcher fehlercode zurückgegeben wird?

Siehe vorletzten Post/Codeausschnitt von mir.
Wenn das Verschieben nicht geklappt hat, GetLastError aufrufen.

Verstehe auch dein Problem nicht. Hab deinen Code (den vom 20. Mai 2008, 14:49) mal getestet und der funktioniert einwandfrei.
Vielleicht schaust du mal im Explorer nach, ob, und was wohin verschoben wurde.

Gon

Treue Seele

  • »Gon« ist der Autor dieses Themas

Beiträge: 262

Wohnort: Nahe München

Beruf: Schüler (9. Klasse Gymnasium)

  • Private Nachricht senden

29

25.05.2008, 12:22

Zitat von »"TrikkieMikkie"«

Zitat von »"Gon"«

woher weiss ich welcher fehlercode zurückgegeben wird?

Siehe vorletzten Post/Codeausschnitt von mir.
Wenn das Verschieben nicht geklappt hat, GetLastError aufrufen.

Verstehe auch dein Problem nicht. Hab deinen Code (den vom 20. Mai 2008, 14:49) mal getestet und der funktioniert einwandfrei.
Vielleicht schaust du mal im Explorer nach, ob, und was wohin verschoben wurde.


-.- auf die idee bin ich auch schon gekommen.

C-/C++-Quelltext

1
Das Programm "[2116] 10_3.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.


heißt das, das gar kein fehler aufgetreten ist?

30

25.05.2008, 12:36

Zitat von »"Gon"«

heißt das, das gar kein fehler aufgetreten ist?

Sieht so aus. Du beendest dein Programm ja so:

C-/C++-Quelltext

1
2
// Programm beenden

return (int)(message.wParam);

Zitat von »"Gon"«

auf die idee bin ich auch schon gekommen.

Und? Nichts rührt sich?

Werbeanzeige