|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 24.04.2016, 15:59 Titel: Datum von Verzeichnissen ändern |
|
|
Hallo allerseits!
Beim Stöbern auf der Portalseite bin ich auf dieses Programmbeispiel von Volta gestoßen:
https://www.freebasic-portal.de/code-beispiele/dateien-laufwerke/dateidatum-unter-win-lesen-setzen-95.html
Bei Dateien funktioniert das auch wunderbar, bei Ordnern bekomme ich immer nur Nullen zurückgeliefert. Code: | #Include Once "windows.bi"
#Include Once "vbcompat.bi" 'file.bi wird mitgeladen
Dim As SECURITY_ATTRIBUTES sa
Dim As HANDLE FileHdl
Dim As FILETIME cTime, lTime, lwTime
Dim As String fn = "e:\NewDir"
sa.nLength = SizeOf(SECURITY_ATTRIBUTES)
sa.lpSecurityDescriptor = NULL
sa.bInheritHandle = TRUE
? CreateDirectory(fn,@sa)
FileHdl = CreateFile(fn, _
GENERIC_READ Or GENERIC_WRITE, _
FILE_SHARE_READ Or FILE_SHARE_WRITE, _
@sa, _
CREATE_NEW, _
0, _
0)
Print "Filehandle ";FileHdl
Print
GetFileTime(FileHdl, @cTime, @lTime, @lwTime)
Print cTime.dwLowDateTime;" ";cTime.dwHighDateTime
Print lTime.dwLowDateTime;" ";lTime.dwHighDateTime
Print lwTime.dwLowDateTime;" ";lwTime.dwHighDateTime
Sleep |
Laut MSN müsste das funktionieren, tut es aber nicht. Der Ordner wird anstandslos erstellt, aber das Erstellungsdatum kann ich nicht auslesen.
Mit OpenFile bekomme ich Fehlercode 5 = "Zugriff verweigert".
Weiß jemand weiter?
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 955 Wohnort: Austria
|
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
St_W
Anmeldungsdatum: 22.07.2007 Beiträge: 955 Wohnort: Austria
|
Verfasst am: 24.04.2016, 19:41 Titel: |
|
|
Höchstwahrscheinlich Tests für Unicode Support. Die Zeichen ergeben mit Sicherheit keinen Sinn. Und/oder Tests für lange Pfade/Dateinamen (> ca. 250 Zeichen).
Ich vermute man kann die Ordner ohne bedenken löschen bzw. erst gar nicht entpacken ohne dass die Funktionalität des Codes beeinträchtigt wird (habs aber nicht probiert, ob nicht vielleicht irgendwo etwas davon hardgecoded ist).
Wie gesagt, ich hab nicht aussortiert, sondern einfach gezippt was da war. Vielleicht hab ich mal ein wenig Zeit und räume das auf mit ReadMe und so, aber derzeit sind das wirklich nur ein paar Codeschnipsel. Entsprechend sollte der Code auch mit Vorsicht genossen werden. Ich bin mir ziemlich sicher, dass er einmal für meinen Verwendungszweck (Auslesen und Setzen von Datei-Daten(im Sinne: Mehrzahl Datum)) funktioniert hat, aber gebe keinerlei Garantie, dass er das auch wirklich (noch) tut. Mit Sicherheit ist vor dessen Verwendung (in Ausschnitten) auch ein wenig Aufräumen erforderlich. _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
|
Jojo alter Rang
Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 25.04.2016, 00:53 Titel: |
|
|
OT: Für sowas habe ich auch immer Testordner auf der Platte parat...
_________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
|
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1235 Wohnort: Ruhrpott
|
Verfasst am: 25.04.2016, 11:18 Titel: |
|
|
Vielen Dank für die schnelle Hilfe, jetzt klappt's.
Für alle, die es interessiert: Wenn man die Funktion filehandel durch Code: | Function filehandel( fname As String ) As HANDLE
Function = CreateFile(fname, _
GENERIC_READ Or GENERIC_WRITE, _
FILE_SHARE_READ Or FILE_SHARE_WRITE, _
NULL, _
OPEN_EXISTING, _
FILE_FLAG_BACKUP_SEMANTICS, _
NULL)
End Function | ersetzt, funktioniert Voltas Programmbeispiel auch mit Ordnern.
Nebenbei: Ich habe mal -nur so aus Spaß- meine Festplatte nach Ordnern und Dateien durchsucht, in denen das Wort "test" vorkommt : 3769 Stück.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|