Dienstag, 16. April 2024, 15:07 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

1

Samstag, 21. August 2004, 11:35

Entwicklerkit – Zugriff auf Ergebnis(i-1)

Hallo,

ich habe in Visual Basic extern eine Formel nach folgendem Muster programmiert :

For i = StartI to EndI

Berechnung = ABS(closedaten(i) – opendaten(i))
Ergebnis(i) = Berechnung

Next i


Soweit so gut- klappt wie es soll.
Zu einem späteren Zeitpunkt möchte ich dann aber auf das Ergebnis (i-1) zugreifen. Da funktioniert bei mir bis jetzt nur diese Variante:


For i = StartI to EndI

Berechnung = ABS(closedaten(i) – opendaten(i))
Berechnung1 = ABS(closedaten(i-1) – opendaten(i-1))
Ergebnis(i) = Berechnung1

Next i


Ich hätte mir die Zeile:

Berechnung1 = ABS(closedaten(i-1) – opendaten(i-1))

gern erspart, weil das hier nur ein Beispiel ist und die tatsächliche Berechnung viel länger ist und ich außerdem immer neuen Code produzieren würde, wenn ich beispielsweise auf das Ergebnis (i-2) oder (i-3) zugreifen wollte.
Anfangs dachte ich es wäre überhaupt kein Problem weil die Werte für das Ergebnis(i-1) spätestens ab StartI+1 ja im Array Ergebnis() stehen.
Meine sämtlichen Versuche auf Ergebnis(i-1) zuzugreifen waren aber bis jetzt erfolglos. Probiert habe ich auch diverse Schleifen-Konstruktionen, Zusatz-Array´s und die verschiedensten Array-Initialisierungen für Ergebnis() bzw. die Zusatzarrays.
Klappte alles nicht - das höchste der Gefühle ist mal „0“ als Ergebnis, meist aber k/A.

2 zusätzlich neu erworbene VB6 Bücher mit extrag großem Array und Schleifen–Teil haben nur dazu geführt, dass mir jetzt total der Kopf schwirrt. ?(

Ich fürchte, inzwischen habe ich mich bei der Sache komplett verrannt und sehe jetzt den Wald vor lauter Bäumen nicht mehr.

Kann mir hier eventuell jemand sagen, wie ich ohne die zusätzliche Codezeile oben richtig auf Ergebnis (i-1) zugreifen kann
?

Danke vorab und schönes Wochenende für alle.
Viele Grüße von Anke

http://www.ascunia.de

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

2

Samstag, 21. August 2004, 14:19

Hallo - die Sache hat sich erledigt.
Ich habe bereits ausgesprochen kompetente Hilfe bekommen. :]
Viele Grüße von Anke

http://www.ascunia.de

wilfried1958

unregistriert

3

Montag, 23. August 2004, 17:41

@ WIWU

Hallo, besteht die Möglichkeit, die Lösung hier zu posten? Das wäre sehr nett. :]

Wilfried S.

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

4

Montag, 23. August 2004, 21:12

Hallo Wilfried,

bitte hab Verständnis dafür, dass ich die Lösung hier nicht posten möchte. Der Spezialist der mir geholfen hat, wird Dir sicher selbst antworten oder die Lösung hier posten, wenn er das möchte.
Viele Grüße von Anke

http://www.ascunia.de

222

Benutzer

Registrierungsdatum: 9. Juli 2003

Beiträge: 66

5

Mittwoch, 21. September 2016, 16:10

Zitat

Entwicklerkit – Zugriff auf Ergebnis(i-1)
Hallo,

ich habe in Visual Basic extern eine Formel nach folgendem Muster programmiert :

For i = StartI to EndI

Berechnung = ABS(closedaten(i) – opendaten(i))
Ergebnis(i) = Berechnung

Next i


Soweit so gut- klappt wie es soll.
Zu einem späteren Zeitpunkt möchte ich dann aber auf das Ergebnis (i-1) zugreifen. Da funktioniert bei mir bis jetzt nur diese Variante:


For i = StartI to EndI

Berechnung = ABS(closedaten(i) – opendaten(i))
Berechnung1 = ABS(closedaten(i-1) – opendaten(i-1))
Ergebnis(i) = Berechnung1

Next i


Ich hätte mir die Zeile:

Berechnung1 = ABS(closedaten(i-1) – opendaten(i-1))

gern erspart,





Hallo, ich habe jetzt auch das Problem,

wie kann ich in VB6 wie in obigen Beispiel auf (i-1) referenzieren?

Für eine Lösung wäre ich sehr dankbar.

Liebe Gruesse
222

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

6

Mittwoch, 21. September 2016, 17:31

Hallo 222,

der Spezialist ist schon lange nicht mehr hier aktiv - also lüfte ich jetzt das 12 Jahre alte "Geheimnis":

Dim Berechnung()
Redim Berechnung (StartI to endI)

For i = StartI to EndI

Berechnung(i) = ABS(closedaten(i) – opendaten(i))
Ergebnis(i) = Berechnung(i-1)

Next i

Mein Fehler war damals die fehlende Deklaration und Redimensionierung des Arrays.
Viele Grüße von Anke

http://www.ascunia.de

222

Benutzer

Registrierungsdatum: 9. Juli 2003

Beiträge: 66

7

Mittwoch, 21. September 2016, 21:32

Vielen lieben Dank Anke! :thumbup:

Ich war nahe an der Lösung, hatte sogar ReDim definiert,
allerdings so:

ReDim Berechnung(StartI + 20 To EndI) :S

Ja, wenn man die Spezialisten nicht hätte ...Paa

Viele Grüße nach Berlin
222