Mittwoch, 17. April 2024, 00:23 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Ralf

unregistriert

1

Donnerstag, 14. August 2008, 12:08

Variablen bei jedem Aufruf gelöscht?

Hallo,
ich will zählen wie oft mein VB-Script aufgerufen wurde. Dazu will ich die Variable Anzahl um eins erhöhen.

Anzahl=Anzahl+1 ;Wie oft wurde das VB-Script aufgerufen.
Ergebnis=Anzahl

Als Ergebnis bekomme ich aber immer eine 1.
Ist es nicht möglich das eine Variable den Wert behält?
So wie es aussieht werden die Variablen bei jedem Aufruf gelöscht?

Danke
Ralf

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

2

Donnerstag, 14. August 2008, 13:16

Hallo Ralf,

Zitat

Anzahl=Anzahl+1



steht bei dir innerhalb einer extra Schleife - analog zu "counter" im folgenden kleinen Script für eine Quersumme?

for i= 1 to alleperioden
Do while counter <= perioden
qsum=qsum+counter
counter=counter+1
loop
ergebnis(i)=qsum
next
Viele Grüße von Anke

http://www.ascunia.de

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

3

Donnerstag, 14. August 2008, 16:52

Hallo Ralf,

ich versuche dein Problem zu verstehen.

Du hast einen Indikator in VB-Script geschrieben und möchtest, dass der weiß, wie oft er zuvor schon aufgerufen worden ist. Also, wenn der Indikator z.B. pro Periode ein Mal ausgeführt wird und dein HS hat gerade Daten mit 100 Perioden, dann soll der Indikator am Ende die Zahl 100 haben?

Wenn ja, dann kannst du es so nicht machen. Das Script kann sich nicht "merken", welchen Wert eine Variable im letzten Aufruf gehabt hat. Das Script fängt jedesmal jungfräulich an. Es weiß Nichts von früher.

In diese Fall wäre die einzige Möglichkeit dem Script die Zahl von Außen als Parameter mit zu geben und entweder Außen, d.h. in Investox zu zählen oder die Zahl um 1 erhöht zurück zu bekommen und sich dann in Investox zumerken.
Das Merken in Investox wird aber wahrscheinlich genauso unmöglich sein.

Daher bleibt, dass du dir in Investox irgendwas suchst woraus die die Anzahl der schon erfolgten Aufrufe erkennen kannst. Das könnte z.B. ein Periodenzähler (abzüglich der für die erste Indi-Berechnung erforderlichen Perioden) sein. Aber was genaues kann ich nicht sagen, da ich deinen Systemansatz nicht kenne.

Viel Grüße

Martin

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

4

Donnerstag, 14. August 2008, 16:54

Hallo Ralf,

gerade eine zusätzliche Idee, du kannst den Zähler extern in eine Datei schreiben. Du musst dann nur wissen, wann du den Zähler wieder auf 0 stellst.

Beachten musst du aber, dass das Lesen und Schreiben auf File-Ebene Zeit in Anspruch nehmen.

Grüße

Martin

cnolte

Profi

Registrierungsdatum: 23. November 2006

Beiträge: 399

5

Freitag, 15. August 2008, 07:46

Hallo!

Beim Usertreffen hatten wir ja u.a. den Erweiterungsvorschlag gemacht, dass es zukünftig auch globale Variablen geben sollte, die für alle Systeme eines Projektes gelten. Eine solche "superglobale" Variable könnte auch eine Möglichkeit sein, Ralfs Problem zu lösen.

Viele Grüße
Cornelius