VB.net array als Return Value

Seiten: 1
meineahnen
Verfasst am: 22.09.2015 um: 15:59 Uhr
 
Cw Posting Dude
Poster Teufel
Beiträge: 102
SPAM:
0% Spam
Hallo Leute,

ich steh aufm Schlauch :-S
Ich komme mit den Arrays und erst recht den ArrayKeys in VB nicht zurecht.
Die folgende Funktion würde ich gerne in mein Programm übernehmen, aber da scheiterts bei mir schon am Ansatz :-(
Mehr wie das hab ich nicht zustande bekommen bis jetzt?
Könnte mir bitte jemand  helfen und mir verständlich erklären wie ich das umgesetzt bekomme?
Achso bevor die Frage kommt, die Hilfsfunktion "Monatstage" aus dem PHP Code ist dazu da um zu bestimmen, wieviel Tage der jeweilige Monat hat.

Viele Grüße
Christian

Public Function Berechne_Alter(ByVal t1() As String, ByVal t2() As String) As String()
        Dim diff() As String
        Return diff
    End Function


function Berechne_Alter($t1, $t2)
{
        $diff = array();

        $keys = array_keys($t1);

        //Einfache Differenz bilden
        foreach ($keys as $key)
       {
                $diff[$key] = $t2[$key] - $t1[$key];
       }

        //Negative Differenzen ausgleichen
        while($diff['M'] < 0 || $diff['D'] < 0 || $diff['h'] < 0 || $diff['m'] < 0 || $diff['s'] < 0)
        {
               if($diff['M'] < 0)
               {       // Übertrag der Monate
                       $diff['Y']--;
                       $diff['M'] += 12;
               }

               if($diff['D'] < 0)
               {      // Übertrag der Tage
                       $diff['M']--;
                       $diff['D'] += Monatstage($t2['M']-1, $t2['Y']);
               }

               if($diff['h'] < 0)
              {      // Übertrag der Stunden
                      $diff['D']--;
                      $diff['h'] += 24;
              }

              if($diff['m'] < 0)
              {        // Übertrag der Minuten
                       $diff['h']--;
                       $diff['m'] += 60;
              }

              if($diff['s'] < 0)
              {   // Übertrag der Sekunden
                        $diff['m']--;
                        $diff['s'] += 60;
              }
        }
        return $diff;
}

 



a-kuller
Verfasst am: 05.10.2015 um: 22:55 Uhr
 
Dr. CwCity.de
Community God
Beiträge: 4111
SPAM:
0% Spam
Ich bin zwar nicht der VBA Profi, sehe in deiner Funktion jedoch kein Array.
Hier noch die MSDN Referenz: https://msdn.microsoft.com/en-us/library/wak0wfyt.aspx

Wenn es dir um die Differnz der Zeiten geht, schau dir DateTime an, die kannst du subtrahieren und addieren ohne ein riesiges Konstrukt schreiben zu müssen.
https://msdn.microsoft.com/de-de/library/system.datetime(v=vs.110). aspx

Mit freundlichen Grüßen

A. Kuller

bzw. UNO-Verbund

Keine Schuld ist dringender, als die, Dank zu sagen.
Cicero

 

 
Seiten: 1

Folgende User sind hier gerade aktiv:
-

ANZEIGE