Freitag, 23. Dezember 2011

yab - Datum einer Datei ermitteln

Nach dem ganzen Hardware- Informationen- Auslesen- Prozedere mal ein wenig Abwechslung, und so möchte ich Euch heute einen Weg zeigen, wie an das Datum einer Datei, mit yab, ermitteln kann. Auch in diesem Fall hilft uns wieder die Kommandozeile, und zwar mit dem Befehl "ls", weiter. Der Befehl "ls" hat, wie die meisten sicher wissen, eine ganze Menge Optionen und Schalter. Der von uns benötigte ist in diesem Beispiel "--full-time".

Die untenstehende Sub- Routine liefert das Ergebnis in der Form "Jahr-Monat-Tag", da Das Betriebssystem dies so zurückliefert. In einer erweiterten Version der Sub- Routine könnte man dies sicherlich ändern und auch das Trennzeichen könnte ausgetauscht werden. Dazu werde ich mir eventuell später mal Gedanken machen.

Der Aufruf der Sub- Routine erfolgt dann z.B. wieder in der Form, dabei wird vorausgesetzt, daß das Programm "GetFileDate.yab" auf dem Desktop abgelegt wurde.

print _GetFileDate$("/boot/home/Desktop/GetFileDate.yab")


export sub _GetFileDate$(Filename$)

  // Variablen definieren

  local SystemInput$
  local NumberOfTokens
  local Result$

  dim Position$(1)

  // prüfen ob die angegebene Datei existiert
  if (not system("test -e " + Filename$)) then

    // den Befehl "LS --full-time" ausführen und Ausgabe in
    // SystemInput$ speichern
    SystemInput$ = system$("ls --full-time " + Filename$)

    // SystemInput$ in die einzelnen Bestandteile zerlegen
    NumberOfTokens = split(SystemInput$, Position$(), " .")

    // an Position 6 (Datum) steht die gewünschten Informationen
    Result$ = trim$(Position$(6))

  else

    // wenn die angegebene Datei nicht gefunden wurde 
    Result$ = "file not found"

  endif

  // Ergebnis zurückgeben
  return Result$

end sub



(getestet mit Haiku R1 Alpha 3 und yab 1.5)


Keine Kommentare:

Kommentar veröffentlichen