Write = GetConst("WriteData") if Write=1 then dim datumfeld GetDatum Datumfeld Set filesys = CreateObject("Scripting.FileSystemObject") ' Je nach Instanz werden die Daten an anderer Stelle geschrieben ' für den Moment wird alles in das Investox-Verzeichnis geschrieben (letzter Fall --> case else) Select case right(Instanzordner,2) case "-1" ' case else DeleteAFile("C:" & "Data.txt") DeleteAFile("C:" & "KK.OZ.txt") Set filetxt = filesys.OpenTextFile("C:" & "Data.txt", 8, True) Set KKOZ = filesys.OpenTextFile("C:" & "KK.OZ.txt", 8, True) Set KKKZ = filesys.OpenTextFile("C:" & "KK.KZ.txt", 8, True) end select filetxt.WriteLine("#Pfad Instanz : " & Instanzordner) filetxt.WriteLine("#Name Projekt : " & HS.ProjektName) filetxt.WriteLine("#Pfad Projekt : " & "N/A") filetxt.WriteLine("#Name HS : " & HS.SystemName) filetxt.WriteLine("#Verwendeter Titel : " & BasisTitelName) filetxt.WriteLine("#Komprimierung HS : " & Komprimierung) filetxt.WriteLine("#NP/Jahr OZ : " & NP("OZ")) filetxt.WriteLine("#DD OZ : " & DD("OZ")) filetxt.WriteLine("#NP/Jahr KZ : " & NP("KZ")) filetxt.WriteLine("#DD KZ : " & DD("KZ")) filetxt.WriteLine("#Start OZ : " & FormatDateTime(Datumfeld(StartEndZR("OZ","Start")),0)) filetxt.WriteLine("#End OZ : " & FormatDateTime(Datumfeld(StartEndZR("OZ","End")),0)) filetxt.WriteLine("#Start KZ : " & FormatDateTime(Datumfeld(StartEndZR("KZ","Start")),0)) filetxt.WriteLine("#End KZ : " & FormatDateTime(Datumfeld(StartEndZR("KZ","End")),0)) filetxt.WriteLine("#StopIVL : " & Stops("IVL")) filetxt.WriteLine("#StopIVS : " & Stops("IVS")) filetxt.WriteLine("#StopIGL : " & Stops("IGL")) filetxt.WriteLine("#StopIGS : " & Stops("IGS")) filetxt.WriteLine("#StopITL : " & Stops("ITL")) filetxt.WriteLine("#StopITS : " & Stops("ITS")) ' Speichere nun die Daten der Kapitalkurve in KK.OZ.txt if scriptberechneformel("Schalter(0, #_HS_Zeitraum OS#, 1, #_HS_Zeitraum OE#, 0)", RelevanteZeit) then GetKapitalkurve Kapital for i=1 to ubound(Kapital) if RelevanteZeit(i)>0 then counter=counter+1 end if next end if for i=1 to ubound(Kapital) if RelevanteZeit(i)>0 then KKOZ.WriteLine(i & vbtab & Kapital(i)) end if Next ' Speichere nun die Daten der Kapitalkurve in KK.KZ.txt und KK.KZ.txt if scriptberechneformel("Schalter(0, #_HS_Zeitraum KS#, 1, #_HS_Zeitraum KE#, 0)", RelevanteZeit) then GetKapitalkurve Kapital for i=1 to ubound(Kapital) if RelevanteZeit(i)>0 then counter=counter+1 end if next end if for i=1 to ubound(Kapital) if RelevanteZeit(i)>0 then KKKZ.WriteLine(i & vbtab & Kapital(i)) end if Next Ergebnis = "Written" else Ergebnis = "no Action" end if function NP(ZR) dim i dim Kapital, RelevanteZeit GetKapitalkurve Kapital if ZR = "OZ" then if scriptberechneformel("Schalter(0, #_HS_Zeitraum OS#, 1, #_HS_Zeitraum OE#, 0)", RelevanteZeit) then for i=1 to ubound(Kapital) 'if Kapital(i)<>Novalue then 'Prüfen!! if RelevanteZeit(i)=1 then StartKapital = Kapital(i) exit for end if 'end if next for i=ubound(Kapital) to 1 step -1 if RelevanteZeit(i)=1 then EndKapital = Kapital(i) exit for end if next end if NP = Endkapital - Startkapital elseif ZR = "KZ" then if scriptberechneformel("Schalter(0, #_HS_Zeitraum KS#, 1, #_HS_Zeitraum KE#, 0)", RelevanteZeit) then for i=1 to ubound(Kapital) 'if Kapital(i)<>Novalue then 'Prüfen!! if RelevanteZeit(i)=1 then StartKapital = Kapital(i) exit for end if 'end if next for i=ubound(Kapital) to 1 step -1 if RelevanteZeit(i)=1 then EndKapital = Kapital(i) exit for end if next end if NP = Endkapital - Startkapital end if end function function DD(ZR) dim i dim Kapital, RelevanteZeit, HHVWert, MaxDD const Startwert = -9999999999999 MaxDD=0 HHVWert=Startwert ' Den Schalter zwischen den beiden gewünschten Daten auf "1" stellen: if ZR = "OZ" then if scriptberechneformel("Schalter(0, #_HS_Zeitraum OS#, 1, #_HS_Zeitraum OE#, 0)", RelevanteZeit) then GetKapitalkurve Kapital for i=1 to ubound(Kapital) 'if Kapital(i)<>Novalue then 'Prüfen!! if RelevanteZeit(i)>0 then if Kapital(i) > HHVWert then HHVWert = Kapital(i) end if if Kapital(i) - HHVWert < MaxDD then MaxDD = Kapital(i) - HHVWert end if end if 'end if next end if if HHVWert > Startwert then DD = MaxDD else DD = "K/A" end if elseif ZR = "KZ" then if scriptberechneformel("Schalter(0, #_HS_Zeitraum KS#, 1, #_HS_Zeitraum KE#, 0)", RelevanteZeit) then GetKapitalkurve Kapital for i=1 to ubound(Kapital) 'if Kapital(i)<>Novalue then 'Prüfen!! if RelevanteZeit(i)>0 then if Kapital(i) > HHVWert then HHVWert = Kapital(i) end if if Kapital(i) - HHVWert < MaxDD then MaxDD = Kapital(i) - HHVWert end if end if 'end if next end if if HHVWert > Startwert then DD = MaxDD else DD = "K/A" end if end if end function function stops(Stp) dim tmp tmp=getconst(Stp) if tmp>-2000 then stops=tmp else stops = "--" end if end function function Komprimierung dim x x=HS.Komprimierung.GetKompCode select case true case x>0 and x<10000 Komprimierung = "M"& x case x=-1 Komprimierung = "D" case x=-2 Komprimierung = "W" end select end function Sub DeleteAFile(filespec) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") fso.DeleteFile(filespec) End Sub function StartEndZR(ZR,StartEnd) ' dim Datenfeld, StartPeriode, LetztePeriode select case ZR case "OZ" if StartEnd="Start" then if scriptberechneformel("cumsince(1, #_HS_Zeitraum OS#, 0)", Datenfeld) then LetztePeriode = LetzteDatenPeriode(DatenFeld) StartPeriode = LetztePeriode - Datenfeld(LetztePeriode) end if StartEndZR = StartPeriode else if scriptberechneformel ("cumsince(1, #_HS_Zeitraum OE#, 0)", Datenfeld) then LetztePeriode = LetzteDatenPeriode(DatenFeld) StartPeriode = LetztePeriode - Datenfeld(LetztePeriode) end if StartEndZR=StartPeriode end if case "KZ" if StartEnd="Start" then if scriptberechneformel ("cumsince(1, #_HS_Zeitraum KS#, 0)", Datenfeld) then LetztePeriode = LetzteDatenPeriode(DatenFeld) StartPeriode = LetztePeriode - Datenfeld(LetztePeriode) end if StartEndZR=StartPeriode else if scriptberechneformel ("cumsince(1, #_HS_Zeitraum KE#, 0)", Datenfeld) then LetztePeriode = LetzteDatenPeriode(DatenFeld) StartPeriode = LetztePeriode - Datenfeld(LetztePeriode) end if StartEndZR=StartPeriode end if end select end function