Hallo theindless.
Wenn ich das richtig verstehe lädst du als erstes ...
Falsch!!!
Als aller erstes deklariere ich die zwei Variablen oDialog1 und oProjektBlatt. Das darfst Du auf gar keinen Fall missachten und übersehen! Denn wenn Du das machst, also die deklaration missachtest, dann hagelts Fehlermeldungen. Und es hat auch seinen Sinn warum dies außerhalb der ersten Sub ganz oben geschieht. Zum besseren Verständniss lese dir mal die folgenden Links durch.
http://www.dannenhoefer.de/faqstarbasic ... ml#Zweig76
http://www.dannenhoefer.de/faqstarbasic ... ml#Zweig80
http://www.dannenhoefer.de/faqstarbasic ... ml#Zweig81
die "Standard"-Bibliothek des Dokuments, wo die Macros hinterlegt sind.
Nicht richtig.
Es wird die Standard-Bibliothek der
Dialoge, und nicht die der Makros, initialisiert und einer Variablen (oDialog1) zugeordnet.
Du liest über getControl("TextField" & ta+1).text den Text der einzelnen Textfelder (offensichtlich beginnen die mit 1) aus
Nicht ganz korrekt, und das ist keine Haarspalterei: Es wird oDialog1.getControl("TextField" & ta+1).text ausgelesen. Denn es können ja schließlich zich-verschiedene Dialoge mit hunderten verschiedenen Elementen existieren, seiens Textfelder, Listboxen, Datefields oder ähnliches.
Aber es stimmt schon in so fern, das das auslesen in diesem Falle mit getControl geschieht.
Und ja, die Textfelder habe ich chronologisch von 1 bis 6 erstellt und angeordnet.
und schreibst diese in die durch (ta, 3) bezeichneten Zellen.
Fast richtig.
Die Tabellenspalten werden durch "ta" direkt angesprochen, aber für die Textfelder habe ich einen Korrekturwert "ta+1" angegeben da es kein Textfeld0 gibt.
Was ich jedoch nicht verstehe ist, dass die Sub "Auswerten" nirgends aufgerufen wird und dennoch Werte eingetragen werden.
Rechtsklick auf den OK-Button in der Dialog-IDE, und dann auf den Reiter "Ereignisse" wechseln.
Müsste nicht nach Beenden der Sub "Projekt_erfassen_Array" Ende der Ausführung sein?
Warum? Ist doch der Fall.
Es sind 2 verschiedene Subs. Sie haben jeweils einen Anfang und ein Ende. Sie haben auch unterschiedliche Funktionen, und führen von daher unterschiedliche Sachen aus.
Die erste initialisiert und startet den Dialog, und damit ist sie dann fertig. Die zweite "wertet" aus und trägt das in die Zellen ein, und dadurch ist sie dann auch fertig. Und da ja dann nichts anderes mehr gemacht werden muss, wird der Dialog anschließend beendet.
Gruß
balu