Bascom "Date" im Format dd.mm.yyyy in SD Karte ausgeben?

Gast #2536750
Hallo Bascom Spezialisten,

ich versuche für einen Logger das Datum nicht wie bei Bascom üblich im 
Format DD-MM-YY sondern mit 4 stelliger Jahreszahl auszugeben. Die 
Ausgabe soll in eine SD Karte geschrieben werden.

Bei den Einstellungen für Config Date habe ich nichts passendes 
gefunden.


Hier mein Code:
1
' Deutsches Datumsformat einstellen
2
Config Date = Dmy , Separator = .
3

4
Print Date$ 
5
T_day = Str(_day)
6
T_month = Str(_month)
7
T_year = Str(_year)
8

9
Print Format(t_day , "00") ; "." ; Format(t_month , "00") ; ".20" ; Format(t_year , "00")

Beim Ausgeben mit print auf die serielle Schnittstelle funktioniert das 
auch.

Beim schreiben in eine SD Karte jedoch nicht.
1
Print #100 , Format(t_day , "00") ; "." ; Format(t_month , "00") ; ".20" ; Format(t_year , "00")

(Autput ist ..20, ich vermute deshalb das das komplette "Format" nicht 
für die SD Karten implementiert ist.

Gibt es vielleicht eine einfachere Methode, die ich bisher übersehen 
habe?
Jemand einen Tipp?

Ich vermute man müsste über einen String gehen, fange aber gerade erst 
mit Bascom an, und versuche nur einen bestehenden Code in diese Richtung 
abzuändern. (mit C wäre es ein sprintf ...)

Danke und Grüße,
Rudi
Gast
Helmut Lenzen schrieb:
> Filesysteme auf FAT Basis speichern das Datum und Uhrzeit in Sekunden ab
> dem 1.1.1980. Das muss man dann selber umrechnen in ASCII Darstellung.

Was hat der Datumseintrag in der FAT mit der Ausgabe eines Datum-Strings 
in eine Datei zu tun?
Gast
... schrieb:
>> Filesysteme auf FAT Basis speichern das Datum und Uhrzeit in Sekunden ab
>> dem 1.1.1980. Das muss man dann selber umrechnen in ASCII Darstellung.
>
> Was hat der Datumseintrag in der FAT mit der Ausgabe eines Datum-Strings
> in eine Datei zu tun?

Na ja, nix. Aber 4800 Beiträge in 4 Jahren, das sind 100 pro Monat, da 
kann nicht immer ein Treffer dabei sein.
Gast
Es gibt einen Unterschied zwischen der Ausgabe über Print und der 
Ausgabe eines Strings in Deine Datei. Mach mal folgendes:
1
Datumstring = Format(t_day , "00") + "." + Format(t_month , "00") + ".20" + Format(t_year , "00")  
2

3
Print #100 , Datumstring
Gast
Karl schrieb:
> Mach mal folgendes:

Karl, Du bist mein Held heute ;-)

Bis auf das + hatte ich das schon probiert, manchmal fehlt es dann aber 
doch an den Kleinigkeiten.

Dankeschön!
Rudi

P.S. wenn es eine geschicktere Variante gibt als das einzeln 
zusammensetzen wäre ja auch nicht schlecht...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.