LabVIEWForum.de
Dateiattribute ändern (Datum) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Dateiattribute ändern (Datum) (/Thread-Dateiattribute-aendern-Datum)

Seiten: 1 2 3


Dateiattribute ändern (Datum) - Oliver Listing - 16.05.2007 11:12

Hi all,

ich habe folgendes Problem:
Nach dem Einlesen von Messdaten und bearbeiten, sollen diese mit den gleichem Datum (Erstellt, Geändert) gespeichert werden wie die Original Datei.

Bei OpenG gibt es eine Funktion (DLL-Aufruf) dafür. Diese möchte ich aber wegen geänderter Lizenzbedingungen nicht mehr verwenden.

Ich habe in der kernel32.dll die Funktion SetFileTime gefunden, die genau dies tut, bekomme sie aber nicht zum laufen...

Hat jemand eine andere Lösung dafür, oder die o.g. Funktion zum Laufen bekommen??

Gruß
Oliver

P.s.: die ErrorOutManager.vi Funktion in den angehängten VIs kann disabled werden


Dateiattribute ändern (Datum) - IchSelbst - 22.05.2007 07:58

Probier mal mit SetFileTime wie folgt:

Hier ein Auschnitt aus der PSDK:

[code]SetFileTime

The SetFileTime function sets the date and time that a file was created, last accessed, or last modified.


BOOL SetFileTime(


Dateiattribute ändern (Datum) - Oliver Listing - 22.05.2007 09:05

Hi IchSelbst,

habe in der Firma gerade anderes zu tun, gucke mir morgen aber mal deinen Post intensiver an.

Problem ist ja immer die richtigen Schlüsselworte beim Suchen einzugeben.
Ich hatte die angehängte llb gefunden und darüber dann die Informationen über die Funktion unter msdn gefunden.
Das VI SystemTime2FileTime.vi funktioniert auch richtig - habe ich mit Hilfe der Umkehrfunktion aus der llb getestet.

Ich denke aber, das meine übergebene Filereferenz nicht stimmt.
Leider kriege ich die Funktion GetLastError.vi auch nicht zum laufen. Sie gibt mir keinen Fehler zurück.

Gruß
Oliver


Dateiattribute ändern (Datum) - IchSelbst - 22.05.2007 22:16

' schrieb:Ich denke aber, das meine übergebene Filereferenz nicht stimmt.
Der Handle wird als Wert übergeben, nicht als Pointer. Vom Rest denk ich mal wird wohl passen: Sieht wie Pointer aus, wird dann wohl einer sein.

Zitat:Leider kriege ich die Funktion GetLastError.vi auch nicht zum laufen. Sie gibt mir keinen Fehler zurück.
Kann daran liegen, dass auch SetFileTime keinen Fehler zurückbringt - obwohl müsste, wenn der Handle falsch ist.


Dateiattribute ändern (Datum) - Oliver Listing - 23.05.2007 10:54

' schrieb:Der Handle wird als Wert übergeben, nicht als Pointer. Vom Rest denk ich mal wird wohl passen: Sieht wie Pointer aus, wird dann wohl einer sein.
Habe ich probiert... geht aber auch nicht.

Die Funktion GetFileTime benötigt ebenso einen Handle auf die Datei, den ich vermutlich falsch habe.
Die Funktion "CreateFile" hat es leider "in sich", so daß ich da auch nicht weitergekommen bin.
(Dachte ich könne einen Handle per kernel32.dll erzeugen.)

Sucht man bei NI-Zone nach "SetFileTime LabVIEW" so erhält man leider nur einen Link zu einem kostenpflichtigem Toolkit...

Gruß
langsam verzweifelnder Oliver


Dateiattribute ändern (Datum) - IchSelbst - 23.05.2007 11:07

' schrieb:Habe ich probiert... geht aber auch nicht.
Was mich auch etwas verwundert hat ist, dass die Funktion trotz fehlerhafter Parameter als result Null ergibt. Wacko

Vielleicht schau ich noch mal.


Dateiattribute ändern (Datum) - Dennis.Moser - 23.05.2007 11:10

Siehe http://msdn2.microsoft.com/de-debrary/s...ime(vs.80).aspx

Wink


Dateiattribute ändern (Datum) - VDB - 23.05.2007 11:29

Hier ist ein schnell zusammengeflicktes Beispiel für CreateFileA

VDB

[attachment=6793]


Dateiattribute ändern (Datum) - Oliver Listing - 23.05.2007 12:29

Hi all,

@Dennis:
danke für die Info, nur:
Kann ich den Cluster DateTime nicht entschlüsseln.
Ich werden nicht schlau daraus, von welchem Datentyp die Felder sind und welchen Inhalt sie haben müssen.

@VDB:
schau ich mir gleich mal an.

@IchSelbst:
die Funktionen geben im Fehlerfall immer "0" zurück. Nur wenn sie erfolgreichwaren ">0" - verwirrend Hmm
Deshalb soll man bei einer "0" ja auch mit "GetLastError" den letzten Fehler auswerten...

Gruß
Oliver


Dateiattribute ändern (Datum) - Oliver Listing - 23.05.2007 12:53

Hi all,

hat geklappt.
Mit den DLL Aufrufen von VDB, um einen handle auf eine Datei zu bekommen, läufts...

Ich mache die VIs noch rund, dann stelle ich sie hier ein.

Gruß und Danke an alle Mitwirkenden
Oliver