neuste dateien vergleichen...

deven

Grünschnabel
Hallo Zusammen!

Ich möchte euch mal was fragen: Also ich habe in einem Ordner .txt Files mit Benutzern. Die namen der Files enthalten immer das Datum ("ddmmyy_hhnnss") und ich möchte jetzt immer die zwei neusten Files miteinander auf abweichungen überprüfen. Mein Frage: Wie würdet ihr das lösen, um herauszufinden welches die zwei neusten Files sind? Soll ich von den Dateinamen die Datum und Zeitzahlen zusammenzählen oder stellt VB6 irgendwelche Funktionen zur verfügung?

mfg borni
 
Moin,

also, wenn der Dateiname mit dem Erstellungsdatum übereinstimmt, dann ist das einfach
und kann mit dem FileSystemObject gelöst werden.
Wenn nicht, dann mußt du wohl oder übel eine Sortierfunktion schreiben, die dir die Dateien
von ddmmyy_hhnnss nach yymmdd_hhnnss sortiert, damit du quasi einechronologische Reihenfolge hast.
 
hi

Also erstmal vielen dank für die Antwort. Also die formatierung der Zeit und Datumsandgabe kann ich auch umstellen, das kann ich selbst wählen...
Soll ich denn zuerst alle Dateien auslesen, und dann ordnen nach dem Namen, und dann alle wieder verwerfen bis auf die zwei neuesten?! Gibts in VB keine Funktion die direkt sagt welches Objekt am neusten ist?

THX mfg borni
 
Jetzt ist die Frage, ob du dem Nutzer traust und der immer korrekte Dateinamen vergibt, oder ob du das Erstellungsdatum der Datei nimmst.

Wenn der Nutzer yymmdd_hhnnss benutzt, also das Datum von heute schreibt,
051028_103844.txt und ein tippfehler vorhanden ist, z.B. 051048_103844.txt dann vergleichst
du wahrscheinlich die falschen "aktuellen" Dateien miteinander.

Wenn der Nutzer die Datei beliebig benennt, und die Datei jetzt erstellt und dann gleich noch eine, dann kannst du mittels des FileSystemObject und der Funktion DateCreated das Erstellungsdatum abfragen, bzw. ne Listbox nach Datum sortieren und die obersten beiden dann nehmen.
 
Wenn du Daten (Plural von Datum) in VB vergleichen möchtest, dann kannst du die Kleinergleich- und Größergleich-Operatoren verwenden, wenn du das Datum vorher in eine Date-Variable wandelst:
Code:
Dim Datum1 As Date
Dim Datum2 As Date
Datum1 = "1.1.2005 13:20:01"
Datum2 = "1.1.2005 13:20:00"

MsgBox "Datum 1 ist größer als Datum 2: " & (Datum1 > Datum2)

Wie du an <Datum1 = "1.1.2005 13:20:01"> siehst, übernimmt VB die Konvertierung von einem String in einen Date-Typ automatisch. Du kannst aber auch mit der CDate-Funktion Konvertierungen explizit angeben:
Code:
MsgBox "Der 2.Jannuar ist größer als der 1.Jannuar: " & (CDate("2.1.2005") > CDate("1.1.2005"))
Ich hoffe, das hilft dir ein bisschen.
 
Zurück