RenameFile funtioniert nicht
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: RenameFile funtioniert nicht
Hallo GPI !
Das Lamentieren nützt mir nichts. Wie werden denn Repeat---Forever Endlosschlaufen unterbrochen, wenn innerhalb
der Schlaufe der Weitergang beim Punkt weiter: ausserhalb der Schleife erforderlich ist ?
mfG
Heinz
Das Lamentieren nützt mir nichts. Wie werden denn Repeat---Forever Endlosschlaufen unterbrochen, wenn innerhalb
der Schlaufe der Weitergang beim Punkt weiter: ausserhalb der Schleife erforderlich ist ?
mfG
Heinz
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: RenameFile funtioniert nicht
Hallo!
"Goto" ist bei mir seit den Basicversionen der 80er verwurzelt.
In alten Programmen wird man eine Menge davon finden.
Ich verwende es da und dort - meine Programme sind nur mässig lang, sodass ich durch die Kommentierung kein Lesbarkeitsproblem sehe.
Habe das Goto aus dem Code entfernt:
Das Problem mit RenameFile ist geblieben und betrifft immer die gleichen Dateien. Jetzt habe ich RenameFile gegen
CopyFile ersetzt. Die Bilder werden jetzt mit dem neuen Namen kopiert. Wenn man im Bedarfsfall kopiert statt
umbenennt,würde das Programm seien Zweck erfüllen.Die alten Dateien müssten dann noch gelöscht werden. Das Nicht-Umbennen-können ist aber ein echtes Manko.
Wie ist es mit einer WinAPI-Funktion für Rename. Könnte die wirksamer sein als RenameFile.
mfG
Heinz
+ Code-Tags -- A.
"Goto" ist bei mir seit den Basicversionen der 80er verwurzelt.
In alten Programmen wird man eine Menge davon finden.
Ich verwende es da und dort - meine Programme sind nur mässig lang, sodass ich durch die Kommentierung kein Lesbarkeitsproblem sehe.
Habe das Goto aus dem Code entfernt:
Code: Alles auswählen
Ergebnis = ResizeImage(1, w3, h3, #PB_Image_Smooth)
verlassen=0
If image ;(2)
OpenWindow(1,0,0,w3,h3,a1$,#PB_Window_ScreenCentered)
ImageGadget(1,0,0,w3,h3,Ergebnis)
Delay(50)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
CloseWindow(1)
FreeImage(1)
verlassen=1
Case #WM_RBUTTONUP
CloseWindow(1)
FreeImage(1)
verlassen=1
EndSelect
Until verlassen=1
EndIf ;(2)
CopyFile ersetzt. Die Bilder werden jetzt mit dem neuen Namen kopiert. Wenn man im Bedarfsfall kopiert statt
umbenennt,würde das Programm seien Zweck erfüllen.Die alten Dateien müssten dann noch gelöscht werden. Das Nicht-Umbennen-können ist aber ein echtes Manko.
Wie ist es mit einer WinAPI-Funktion für Rename. Könnte die wirksamer sein als RenameFile.
mfG
Heinz
+ Code-Tags -- A.
Re: RenameFile funtioniert nicht
WinAPI wird genauso wirksam sein wie RenameFile(). Wirksamer ist es, den Grund zu finden, warum die Datei nicht umbenannt werden kann und diesen beheben.Heinz Mendax hat geschrieben:Wie ist es mit einer WinAPI-Funktion für Rename. Könnte die wirksamer sein als RenameFile.
Grüße ... Peter
Hygge
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Re: RenameFile funtioniert nicht
Sind die Dateien schreibgeschützt?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Re: RenameFile funtioniert nicht
Wie Nic schon sagte, schau dir mal den Befehl Break an. Der verlässt eine Schleife sauber. Das Problem ist halt bei Schleifen, man weis nie, was der Compiler da alles in Hintergrund macht, wenn man mit GOTO einfach raushüpft, kann es passieren, das der Compiler nicht alles aufräumen kann.Heinz Mendax hat geschrieben:Wie werden denn Repeat---Forever Endlosschlaufen unterbrochen, wenn innerhalb
der Schlaufe der Weitergang beim Punkt weiter: ausserhalb der Schleife erforderlich ist ?
Goto sollte man tunlichst selten nutzen und mit bedacht. Das ist wie eine Notbremse in Zug: Nur weil sie da ist, muss man nicht dauernd dran ziehen.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: RenameFile funtioniert nicht
Hallo Mendax,
ich hatte auch so ein Effekt.
Die Dateien hatten ein andere Benutzername
Gruß
MarcelX
ich hatte auch so ein Effekt.
Die Dateien hatten ein andere Benutzername
Gruß
MarcelX
Win-10, PB 5.31 (Windows - x86)
Re: RenameFile funtioniert nicht
Oder mit Administratorrechte starten... (Compiler-Optionen)
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
-
- Beiträge: 50
- Registriert: 29.03.2013 12:25
- Wohnort: Eisenach
Re: RenameFile funtioniert nicht
Hallo !
Meinen Umnenncode habe ich nun so geändert:
bzw.:
5 ist eine LOG-Datei. Bei den ganzen Copy- , Rename und Delete-Operationen unter Win7 musste ich feststellen, daß auch kommerzielle Programme wie der Totalcommander das Umnennen der betroffenen Bilddateien verweigern.
mfG
Heinz
+ Code-Tags --A.
Meinen Umnenncode habe ich nun so geändert:
Code: Alles auswählen
Ergebnis = ResizeImage(1, w3, h3, #PB_Image_Smooth)
If image ;(2)
OpenWindow(1,0,0,w3,h3,a1$,#PB_Window_ScreenCentered)
ImageGadget(1,0,0,w3,h3,Ergebnis)
Delay(50)
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
CloseWindow(1)
FreeImage(1)
Break
Case #WM_RBUTTONUP
CloseWindow(1)
FreeImage(1)
Break
EndSelect
ForEver
EndIf ;(2)
Code: Alles auswählen
err1=RenameFile(AlterDateiname$,NeuerDateiname$)
; falls das Umnennen scheitert
If err1=0
WriteStringN(5,"Error Umnennen:"+AlterDateiname$)
; oder Kopieren
err2=CopyFile(AlterDateiname$,NeuerDateiname$)
If err2=0
WriteStringN(5,"Error Kopieren:"+AlterDateiname$)
EndIf
EndIf
mfG
Heinz
+ Code-Tags --A.
Re: RenameFile funtioniert nicht
Nachdem hier nun schon wiederholt Moderatoren deinen Code durch Einschließen in [ code ] und [ /code ] besser lesbar gemacht haben, könntest du es vielleicht auch mal selbst tun?Heinz Mendax hat geschrieben:Hallo !
Meinen Umnenncode habe ich nun so geändert:
Bei mir hat weder ein PureBasic-Programm noch der Total Commander je das Umbenennen von Dateien verweigert -- außer wenn diese gerade von einem anderen Programm geöffnet waren.Heinz Mendax hat geschrieben:musste ich feststellen, daß auch kommerzielle Programme wie der Totalcommander das Umnennen der betroffenen Bilddateien verweigern