10-31-2007 06:35 AM
11-01-2007 05:22 AM
Hallo,
ich würde gerne eine Schleife einfügen so das über die Variable Probanz_ im Datenportal Eigenschaften angelegt werden. Mit dem Beispiel unten hab ich es Versucht Diadem Script briingt zwar keine Fehlermeldung aber es wird auch nichts ins Datenportal geschrieben.
Call GROUPCREATE("Probandendefinition",4)
Sub Proband_Anzahl
For i = 1 to Probanz_
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Proband", "")
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Grösse", "")
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Gewicht", "")
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Hüftbreite", "")
Next
End Sub
Könnte das so ähnlich gehen ?
Danke
11-01-2007 07:42 AM - edited 11-01-2007 07:42 AM
Message Edited by Twigeater on 11-01-2007 02:42 PM
| Matthias Alleweldt Project Engineer / Projektingenieur | Twigeater? |
11-02-2007 04:24 AM
Hallo Twigeater,
war ein falscher Ansatz von mir das mit dem Sortieren und der Schleife, alles noch mal auf Null.
Ich erklär kurz mein Problem und stelle noch ein kleines Script rein. Beim start der Scripts öffnet sich ein Dialog zur Eingabe der Parameter, wenn nun in den Dialogen Werte geändert werden findet man diese nach einem Klick auf „Ok“ im Datenportal wieder. Vorteil beim Speichern der *.tdm werden diese Werte (Variablen) mit gespeichert und beim nächsten öffnen wieder in die Dialoge zurück geschrieben. Bei " Datenart" klappt das auch so weit, einfach testen.
Bei Probandendefinition habe ich im Dialog ein "Table1" benutzt hier weis ich nicht wie ich an die eingegebenen Werte komm, um sie ins Datenportal zu schreiben.
Und genau das ist mein Problem, wie kann ich die Werte, wie bei Datenart, ins Datenportal schreiben?
MfG
Samiols
11-02-2007 04:26 AM
Sorry,
jetzt hab ich auch noch das Beispiel Vergessen.
Samiols
11-03-2007 03:16 AM
Hallo Samiols!
Ich hab mir dein Beispiel angeschaut und nach meinem Verständis würde ich aus deinem Codeabschnitt
Call GROUPCREATE("Probandendefinition",4)
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Proband_1", "Pos_1")
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Grösse", "")
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Gewicht", "")
Call GroupPropValSet(GroupIndexGet("Probandendefinition"), "Hüftbreite", "")
eine Schleife für alle Probanden machen
For i=1 To Probanz_
Call GroupCreate("Proband_" & i)
z = GroupIndexGet("Proband_" & i)
Call GroupPropValSet(z, "Proband", "Pos" & i)
Call GroupPropValSet(z, "Grösse", "")
Call GroupPropValSet(z, "Gewicht", "")
Call GroupPropValSet(z, "Hüftbreite", "")
Next
So kann man dann immer indiziert auf die Gruppe zum Probanden zugreifen und an die Gruppe alle probandenspezifische Daten hängen.
Matthias
| Matthias Alleweldt Project Engineer / Projektingenieur | Twigeater? |
11-04-2007 01:07 PM
Hallo Matthias,
danke das Du dir mein Beispiel angeschaut hast, dein Tipp war super hab das ganze noch ein bisschen abgeändert aber so geht es wie Du es oben beschrieben hast.
Ich bin jetzt aber schon ein Stück weiter und hab ein kleines Problem mit dem zurück schreiben der Daten in die Tables, ich dachte das es genau so geht wie mit den z.B Text.Box1.
Also wenn ich aus einer TextBox den Wert zurück schreibe verwende ich diesen Code:
If GroupPropExist(GroupIndexGet("Datenart"), "testfile") Then
EditBox1.Text = GroupPropValGet(GroupIndexGet("Datenart"), "testfile")
End If ........................... das Funktioniert so weit auch.
Nun wollte ich aus einem z.B Tabel1, einer Tabelle die Werte aus dem Datenportal zurück schreiben aber leider geht es so nicht.
If GroupPropExist(GroupIndexGet("Test_1"), "Test_2") Then
Table1.Rows(1).Cells(1).Value = GroupPropValGet(GroupIndexGet("Test_1"), "Test_2")
End If
Nach dem einfügen einer MsgBox zwischen der ersten und zweiten Zeile,
If GroupPropExist(GroupIndexGet("Probanddefinition_1"), "Position") Then
msgbox GroupPropExist
Table1.Rows(1).Cells(1).Value = GroupPropValGet(GroupIndexGet("Probanddefinition_1"), "Position")
End If
ist die Meldung bei GroupPropExist = Falsch d.h. würde doch heissen das er die Gruppe bei der Prüfung mit GroupPropExist nicht gefunden hat und deswegen den Wert nicht zurück schreiben kann, oder?
Kann mir jemand sagen wie ich aus dem Datenportal in die Table1.Rows(1).Cells(1) schreiben kann?
Danke
11-04-2007 03:18 PM
Hallo Samiols!
Das 'MsgBox GroupPropExist' 'Falsch' ausgibt liegt an den fehlenden Parametern. Das die Box aber kommt zeigt ja schon mal das die Eigenschaft da ist.
Was mich wundert ist warum du die Zellen der Tabelle besetzt wo sie doch im SUD mit Variablen verbunden sind. Der Inhalt sollte dann eigentlich aus denen übernommen werden. Schau dir das nochmal an.
Matthias
| Matthias Alleweldt Project Engineer / Projektingenieur | Twigeater? |
11-05-2007 12:40 AM
Hallo Matthias,
hab es gestern noch hinbekommen hab dann auch die Fehlenden Parameter bemerkt, es funktioniert jetzt auch.
Was ich bei deinem Tip nicht Verstehe, wenn ich mit den Variablen arbeite wie kann ich dann genau auf Zelle (2,1) zugreifen um Sie ins Portal zu schreiben ?
Oder besser wie kann ich auf Zellen und Spalten zugreifen, und zum Verständnis (Anfänger) warum wäre das besser wenn ich nicht die Zellen der Tabelle besetze
MfG
Samiols
11-05-2007 01:05 AM
| Matthias Alleweldt Project Engineer / Projektingenieur | Twigeater? |