Entwickler-Ecke

Basistechnologien - Beim Sonnenaufgang kommt 0


Tabakbrummel - Do 07.08.14 09:36
Titel: Beim Sonnenaufgang kommt 0


Th69 - Do 07.08.14 09:46

Hallo,

mittels

C#-Quelltext
1:
2:
SunMoonEngine.SunMoonRiseSet smr = new SunMoonEngine.SunMoonRiseSet();
label1.Text = Convert.ToString(smr.sunRise);

erzeugst du ja auch nur eine neues SunMoonRiseSet-Objekt (welches alle Felder auf 0 gesetzt hat).

Du willst wohl eher

C#-Quelltext
1:
2:
3:
SunMoonEngine sme = new SunMoonEngine(52,13,36,DateTime.Now);
SunMoonRiseSet smr = sme.Compute();
label1.Text = smr.sunRise.ToString(); // finde ich persönlich besser als Convert.ToString(...)

Es gibt auch noch die Methode InitEngine(...), welche ein SunMoonRiseSet zurückgibt (aber den Sinn und die Parameter mußt du selber mal rausfinden oder aber mal die Doku anschauen, falls es eine dazu gibt).

PS. Den gesamten Code der "SunMoonEngine.cs" finde ich übrigens grauenvoll und bestätigt mich darin, daß Scriptsprachen ("Source code based on the javascript") keine guten Software-Entwickler hervorbringen...


Tabakbrummel - Do 07.08.14 09:58

Hi Th69

Erst mal Danke es funktioniert.
Ich muss nur noch aus den zahlen z.B. eine art 05:37 umwandeln.
Und noch mal besten Dank.


Th69 - Do 07.08.14 10:35

In C# würde man dafür ja auch besser gleich den Datentyp DateTime benutzen (anstatt double für alles!!!).
So wirst du wohl selber den Vorkomma und Nachkommaanteil anzeigen müssen:

C#-Quelltext
1:
2:
int hour = (int)smr.sunRise;
int minute = (int)((smr.sunRise - (double)hour) * 60.0 + 0.5);