Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Liegt anscheinend an dem Array. > Ich hab grad nur das alte englische Original CC2 Handbuch da: > > Variable strings, arrays, and parameters with user-defined data type on the > other hand are automatically passed as a reference. Manipulations on the > reference-parameters affect the referenced data object. > e.g. > <code>function fx ( string s ) > { > s = "abc"; > } > > thread main > { > string local_s; > > local_s = "123"; > fx(local_s); // local_s becomes "acb" > } > </code> > <b>in contrast to numerical parameters:</b> > <code> > function fx ( int i ) > { > i = 0; > } > > thread main > { > int local_i; > > local_i = 1; > fx(local_i); // local_i remains 1 > } > </code> > > > Hi, > > nee, das ist ein int-Wert. Das muss auch anders gehen: > > Hier mal die Sasu-Funktion aus dem geo-Modul (ist der Parameter sasu[]) > > <code> > > function SaSu(int Ja, int Mo, int Ta, float GBN, float GLO, int MEZ_MESZ, int sasu[]) > > // MEZ_MESZ: 0= nach aktueller Zeit (MEZ/MESZ), 1= Zeit nach MEZ, 2= Zeit nach MESZ > > // Rückgabe in sasu[]: Wert0: Sonnenaufgang, Wert1: Sonnenuntergang, in Minuten > > { > > if Ja<2000 return; // Berechnung erst ab 2000 > > float JD2000, JD, T, B, h, ZG, DeltaT, > > SAOZ, SUOZ, SAWZ, SUWZ; > > JD2000 = 2451545; > > JD = JulianDatum(Ja,Mo,Ta); > > T = (JD - JD2000)/36525; > > B = GBN*RAD; > > h = -50.0/60.0*RAD; // -50 Bogenminuten Horizonthöhe > > // wegen Lichtkrümmung der Sonne in Horizontnähe. > > ZG = BerechneZeitgleichung(T); > > DeltaT = 12*math.acos((math.sin(h) - math.sin(B)*math.sin(DK)) > > / (math.cos(B)*math.cos(DK)))/Pi; > > SAOZ = 12-DeltaT-ZG; // So-Aufgang Ortszeit > > SUOZ = 12+DeltaT-ZG; // So-Untergang Ortszeit > > SAWZ = SAOZ-GLO/15; // So-Aufgang Weltzeit > > SUWZ=SUOZ-GLO/15; // So-Untergang Weltzeit > > if (system.dst() and MEZ_MESZ==0)or MEZ_MESZ==2 // bei Sommerzeit +60 min. > > { > > sasu[0]=round(SAWZ*60)+120; // MESZ in Minuten > > sasu[1]=round(SUWZ*60)+120; // MESZ in Minuten > > } > > else > > { > > sasu[0]=round(SAWZ*60)+60; // MEZ in Minuten > > sasu[1]=round(SUWZ*60)+60; // MEZ in Minuten > > } > > return; > > }</code> > > > > > > > > > > > Ist "zeit" ein String? das klappt, nur mit Werten geht das glaub ich nicht. > > > > > > In der function am Ende > > > <code>return ontime</code> einsetzen > > > und das "returns int" in "returns long" ändern. > > > > > > und dann beim Aufruf > > > <code>NewTime=check.Status(1,1,30,2100,2200, time)</code> > > > > > > > > > > > > > Hallo, > > > > ich habe eine Funktion und möchte einen berechneten Wert zurückgeben. Ich habe mir das an > > > > der geo.Sasu-Funktion abgucken wollen, klappt bei mir aber nicht. Hier die SaSu Funktion: > > > > <code> > > > > int zeit[2] > > > > ... > > > > geo.SaSu(system.year(),system.month(),system.day(), > > > > breitengrad,laengengrad,0,zeit); > > > > ... > > > > </code> > > > > In zeit werden dann die beiden berechneten Werte zurückgegeben. > > > > > > > > Nun meine Funktion: > > > > <code> > > > > > > > > function Status(int Number,int Mode,long offset, > > > > long on,long off,long onTime) returns int > > > > { > > > > ..... > > > > ontime=5; > > > > } > > > > > > > > </code> > > > > nun der Aufruf der Funktion aus dem Programm: > > > > <code> > > > > > > > > long time; > > > > .... > > > > check.Status(1,1,30,2100,2200, time) > > > > > > > > hwcom.num(time); > > > > ... > > > > </code> > > > > > > > > wo ist mein Gedankenfehler? > > > > > > > > Danke und Gruß, > > > > ChristianS