CopyDirectory ein Bug (PB 4.0)
-
- Beiträge: 9
- Registriert: 24.06.2006 21:15
CopyDirectory ein Bug (PB 4.0)
Ich habe in meinem kleinen Programm den Befehl CopyDirectory benutzt. Dieser macht aber nicht das, was er soll ... der Befehl macht nämlich gar nichts.
Dann habe ich ein Update über SmartUpdate gemacht. Nun funktioniert der Compiler nicht mehr.
Was kann ich nun tun????
Dann habe ich ein Update über SmartUpdate gemacht. Nun funktioniert der Compiler nicht mehr.
Was kann ich nun tun????
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Kopiere mit dem Dateimanager Deiner Wahl, lösche Deinen PB-Ordner und Installiere Erneut
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
- mardanny71
- Beiträge: 266
- Registriert: 05.03.2005 01:15
- Wohnort: Thüringen
-
- Beiträge: 9
- Registriert: 24.06.2006 21:15
Grundsätzlich funktioniert copydirectory schon, nur nicht ganz so wie in der
Hilfe beschrieben. Entegegen der Beschreibung in der Hilfe wird nicht das
Ausgangsverzeichnis in das Zielverzeichnis kopiert, sondern nur der Inhalt
des Ausgangsverzeichnisses.
Um zu wissen warum das bei Dir nicht funktioniert braüchte man ein wenig
code von Dir.
Hilfe beschrieben. Entegegen der Beschreibung in der Hilfe wird nicht das
Ausgangsverzeichnis in das Zielverzeichnis kopiert, sondern nur der Inhalt
des Ausgangsverzeichnisses.
Um zu wissen warum das bei Dir nicht funktioniert braüchte man ein wenig
code von Dir.
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden...
- mardanny71
- Beiträge: 266
- Registriert: 05.03.2005 01:15
- Wohnort: Thüringen
Code: Alles auswählen
Debug ergebnis = CopyDirectory("C:\Beispiel","C:\Beispiel1","",#PB_FileSystem_Recursive)
Sende mal ein Codebeispiel.
Dann wird Dir sicher jemand helfen.
grüsse an alle
mardanny71
Gruß, mardanny71
Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
Windows 7 - openSUSE 12.1 - KDE 4.7 - PB4.6 beta 4
> Weiß denn jemand, ob in dem Befehl CopyDirectory wirklich ein
> Fehler ist?
nicht, wenn man folgende Regeln beachtet:
* Das Target-Directory muss existieren
* Das Target-Directory darf nicht mit einem Backslash enden
* (Das Source-Directory kann (muss aber nicht) mit einem Backslash enden)
... funktioniert bei mir
Grüße ... Kiffi
> Fehler ist?
nicht, wenn man folgende Regeln beachtet:
* Das Target-Directory muss existieren
* Das Target-Directory darf nicht mit einem Backslash enden
* (Das Source-Directory kann (muss aber nicht) mit einem Backslash enden)
Code: Alles auswählen
CopyDirectory("D:\source", "D:\target", "", #PB_FileSystem_Recursive)
Grüße ... Kiffi
-
- Beiträge: 9
- Registriert: 24.06.2006 21:15
Also, hier mal der Code. Auch ohne Backslash und mit existierendem Verzeichnis wird das Verzeichnis inkl. Dateien nicht kopiert.
In die Variable Verzeichnis$ wird der Wert aber hineingeschrieben (mit MessageRequester habe ich mir das anzeigen lassen). Allerdings wir hier automatisch ein Backslash angefügt.
Aber, auch wenn ich ohne die Variable arbeite und ein existierendes Verzeichnis angebe (mit und ohne Backslash), wird nix kopiert.
-------------------------
OpenWindow(0, 217, 3, 189, 150, "E-M-B", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
CreateGadgetList(WindowID(0))
ButtonGadget(1, 30, 10, 130, 30, "Verzeichnis ...")
ButtonGadget(2, 30, 50, 130, 30, "S T A R T")
ButtonGadget(3, 30, 90, 130, 30, "E N D E")
Repeat
EventID=WaitWindowEvent(0)
If EventID = #PB_Event_Gadget
If EventGadget() = 1
Verzeichnis$ = PathRequester("Verzeichnis auswählen ...","C:\Dokumente und Einstellungen\Markus\Eigene Dateien\")
ElseIf EventGadget() = 2
CopyDirectory("C:\Programme\Purebasic\Projekte\",Verzeichnis$,"*.pb")
ElseIf EventGadget() = 3
EventID = #PB_Event_CloseWindow
EndIf
EndIf
Until EventID = #PB_Event_CloseWindow
-------------------------
Wäre nett, wenn da jemand meinen Fehler herausfände ...
Vielen Dank
In die Variable Verzeichnis$ wird der Wert aber hineingeschrieben (mit MessageRequester habe ich mir das anzeigen lassen). Allerdings wir hier automatisch ein Backslash angefügt.
Aber, auch wenn ich ohne die Variable arbeite und ein existierendes Verzeichnis angebe (mit und ohne Backslash), wird nix kopiert.
-------------------------
OpenWindow(0, 217, 3, 189, 150, "E-M-B", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
CreateGadgetList(WindowID(0))
ButtonGadget(1, 30, 10, 130, 30, "Verzeichnis ...")
ButtonGadget(2, 30, 50, 130, 30, "S T A R T")
ButtonGadget(3, 30, 90, 130, 30, "E N D E")
Repeat
EventID=WaitWindowEvent(0)
If EventID = #PB_Event_Gadget
If EventGadget() = 1
Verzeichnis$ = PathRequester("Verzeichnis auswählen ...","C:\Dokumente und Einstellungen\Markus\Eigene Dateien\")
ElseIf EventGadget() = 2
CopyDirectory("C:\Programme\Purebasic\Projekte\",Verzeichnis$,"*.pb")
ElseIf EventGadget() = 3
EventID = #PB_Event_CloseWindow
EndIf
EndIf
Until EventID = #PB_Event_CloseWindow
-------------------------
Wäre nett, wenn da jemand meinen Fehler herausfände ...
Vielen Dank
Code: Alles auswählen
OpenWindow(0, 217, 3, 189, 150, "E-M-B", #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered | #PB_Window_TitleBar )
CreateGadgetList(WindowID(0))
ButtonGadget(1, 30, 10, 130, 30, "Verzeichnis ...")
ButtonGadget(2, 30, 50, 130, 30, "S T A R T")
ButtonGadget(3, 30, 90, 130, 30, "E N D E")
Repeat
EventID=WaitWindowEvent(0)
If EventID = #PB_Event_Gadget
If EventGadget() = 1
Verzeichnis$ = PathRequester("Verzeichnis auswählen ...","C:\Dokumente und Einstellungen\Markus\Eigene Dateien\")
ElseIf EventGadget() = 2
CopyDirectory("C:\Programme\Purebasic\Projekte",Left(verzeichnis$,Len(verzeichnis$)-1),"",#PB_FileSystem_Recursive)
ElseIf EventGadget() = 3
EventID = #PB_Event_CloseWindow
EndIf
EndIf
Until EventID = #PB_Event_CloseWindow
aussieht! Du solltest allerdings immer vorher prüfen ob backslash
vorhanden oder nicht, bevor Du so wie ich einfach kürzt.
Ich glaube copydirectory müsste noch einmal überarbeitet werden.
EDIT/
Sorry, hatte Kiffis Post nicht richtig gelesen, da hat er das ja schon erläutert!
Nein, ich habe die Suche nicht benutzt, und deshalb auch nichts dazu gefunden...
-
- Beiträge: 9
- Registriert: 24.06.2006 21:15