vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Array ByVal an Sub übergeben 
Autor: Thoto
Datum: 31.07.08 15:44

Hallo, ich habe ein Problem bei der Übergabe eines Arrays, das in einer Klasse verändert werden muss, aber im übergeordneten Hauptprogramm nicht verändert werden darf.

Hauptprogramm ist so:

'.....
'Werte einlesen:
GVar.ACVRingspeicher(i - 1) = GVar.Multimeter.readACVoltage() 'Wechselspannung 
' lesen
'dann sollen Statistische Werte für später berechnet werden:
Dim StatBA As New claDescripedStat(GVar.ACVSortspeicher, GVar.Ringspeicherlänge)             
'.....
Die Statistik Classe sieht so aus:

Public Class claDescripedStat 'Klasse für die Deskriptive Statistik
 
    Dim ArrayIntern() As Double
    Dim HelpArray() As Double
    Dim Summe As Double = 0
    Dim aritMit As Double = 0
    Dim harmMit As Double = 0
    Dim geomMit As Double = 1
    Dim StandAb As Double = 0
    Dim Vari As Double = 0
    Dim Minimum As Double = 0
    Dim Maximum As Double = 0
    Dim Anz As Integer
 
    Public Sub New(ByVal ArrayIn() As Double, ByVal ArraylängeIn As Integer)
        Dim i As Integer
 
        ArrayIntern = ArrayIn
        HelpArray = ArrayIn
        Anz = ArraylängeIn
        'Array wird sortiert:
 
 
        Quicksort(HelpArray, 0, Anz - 1) 'Hier ist das Problem
        'Monitor.write("Sortierte Werte:")
        'For i = 0 To Anz - 1
        '    Monitor.write(Format$(HelpArray(i)) & " ")
        'Next i
 
        'Alles wird berechnet:
        SummeBerechnen()
        ArithMittelBerechnen()
        StAbwUndVarianzBerechnen()
        If AlleKomGrNull() = True Then 'Wenn alle Komponenten größer Null sind 
        ' werden beide Werte gebildet, ansonsten bekommen beide Werte -1
            HarmMittelBerechnen()
            GeoMittelBerechnen()
        End If
        MaximumBerechnen()
        MinimumBerechnen()
 
    End Sub
Das Quicksort verändert (ordnet) mir trotzdem das GVar.ACVRingspeicher-Array, ob wohl ich das Array nochmal an ein anderes übergeben habe und alles byVal übergeben habe.

Was habe ich übersehen und die Arrayübergabe nicht korrekt gemacht? In den ganzen Untersubs der Statistik-klasse wird nicht nochmal auf das GVar.ACVRingspeicher-Array zurückgegriffen. Habe schon gesucht ob ich ausversehen eine Rückgabe irgendwo hineingebastelt habe, aber nichts gefunden.

Viele Grüße Thoto
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Array ByVal an Sub übergeben1.328Thoto31.07.08 15:44
Re: Array ByVal an Sub übergeben897Melkor31.07.08 15:53
Re: Array ByVal an Sub übergeben778Thoto31.07.08 16:29

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel