Seite 1 von 1

Sternzeitkalkulator

Verfasst: Di 19. Jan 2016, 18:38
von Frank Wochatz
Jeder steht ja irgendwann mal vor dem Problem, die aktuelle Sternzeit zu berechnen. Die Sternzeit in Star Trek (neue Zeitlinie) wird als Ziffernfolge wie folgt angegeben:

[Jahr],[Tag(e)]


Die Ziffern vor dem Dezimalkomma steht für das gregorianische Kalenderjahr, die Ziffer nach dem Komma für Zahl der abgelaufenen Tage des Jahres (einschl. des aktuellen Tages).

Nun könnte man das aktuelle Datum ermitteln und mühsam unter Berücksichtigung unterschiedlicher Monatslängen und Schaltjahren die abgelaufenen Tage ausrechnen. jedoch nicht so unter OS/2, wir haben viel bessere Funktionen dafür.

Hier mein Programm zur Ermittlung der aktuellen Sternzeit:

Code: Alles auswählen

/* StarDate.cmd */
/* calculation based on Star Trek XI */
/* - former Star Trek stories lack date consistency */
parse value date() with . . year
say "Stardate" year||","||date('D')
Open Source Shareware, Registrierungsgebühr: 1 Barren in Gold gepresstes Latinum.

Freut mich, dass Ihr jetzt mit dieser Killerapp nicht mehr auf andere Betriebssysteme wechseln müßt.

Re: Sternzeitkalkulator

Verfasst: Mi 20. Jan 2016, 06:56
von MikeK
Cool - Live long and prosper.
Mike

Re: Sternzeitkalkulator

Verfasst: Mi 20. Jan 2016, 17:04
von os2guenni
Hallo Frank,

hättest Du noch ein passendes Icon?

Gruß
Günter

Re: Sternzeitkalkulator

Verfasst: Mi 20. Jan 2016, 18:59
von wdsibyl
Hallo!

Cool :D

in WDSibyl 4.0 sind es ein paar Zeilen mehr, aber es ist nicht so kompliziert.

Code: Alles auswählen

Program StarDate;

// Librarys
Uses uLibRTLDef,     // RTL-Definitionen
     uLibRTL;        // RTL-Library

Uses uLibVIO, uLibCrt;

Function getStarDate(dt : tDatetime) : String;

var y,m,t: Word;
    dt1  : tDatetime;
    dtp  : tDatetime;

begin
  DecodeDate(dt,y,m,t);
  dtp:=EncodeDate(y,m,t);
  dt1:=EncodeDate(y,1,1);
  Result:=tostr(y) + ',' + tostr(round(dtp-dt1)+1);
end;

Begin
  Writeln('StarDate:', getStarDate(now));
  readln;
End.
lg,
Wolfgang

Re: Sternzeitkalkulator

Verfasst: Do 21. Jan 2016, 13:45
von Frank Wochatz
@Günter: um die Sharewarkosten niedrig zu halten, wurde bislang kein Icon angelegt ;)

Spaß beiseite (!), ich würde gerne einen LCARS-Desktop für OS/2 basteln, und da gäbe es dann natürlich auch ein Stardate-Gadget. Mal sehen ob ich mal Zeit dazu finde. :)

Mir wäre die Sternzeit aus TNG auch lieber gewesen als aus der neuen Zeitlinie, aber erschreckenderweise mußte ich festsellen, da die sich die Berechnung nicht richtig überlegt hatten, bzw. fließen da eher Zahlen wie die TV-Season mit ein. Teilweise widersprechen sich die Zahlen bzw. deren Formate auch. Folgt man halbwegs der Logik, müssten wir heute negative Sternzeitwerte haben, was ja irgendwie keinen Sinn macht.

In ST XI wurde dann mit der neuen Zeitlinie das einfache Format eingeführt.

http://de.memory-alpha.wikia.com/wiki/Sternzeit

@Wolfgang: ich spreche zwar keine Pascal, aber interessant!