abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Für den Samstag, den 19. Oktober, zwischen 16:00 und 18:00 Uhr (MEZ) ist eine technische Wartung geplant. Folgende Prozesse können dabei bis zu 60 Min ausfallen: Lizenzschlüssel hochladen, herunterladen, aktualisieren, SSA-Validierung und der Zugriff auf den Lizenzpool. Wir entschuldigen uns für die dadurch entstandenen Unannehmlichkeiten.
Programmierung
Alles über Programmierung in GDL und Python

Innerhalb eines Arrays suchen ?

Anonymous
Nicht anwendbar
Hallo zusammen,

möchte gerne innerhalb eines zweidimensionalen Arrays suchen - heisst nachdem über das Interface Menu in 3 aufeinanderfolgenden Auswahlmenus (die voneinander abhängig sind) eine Auswahl getroffen ist, möchte ich in einem Array nach genau diesen Werten suchen, um dann die genauen Werte zum Erstellen des Objekts zu bekommen.......

Meine Frage nun: Geht das ?

Grüsse
9 ANTWORTEN 9
Anonymous
Nicht anwendbar
Meine Überlegung ist es mit einer Schleife das Array durchlaufen zu lassen bis Spalte 1, Spalte 2 gleich 2 Auswahlen im Interface ist - Problem wird aber sein, dass ich im Interface den Datentyp STRING habe und im Array INT - oder sehen ich das falsch ?
Frank Beister
Mentor
*???* 😉
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm
zzyzx
Newcomer
grundsätzlich kannst du das schon so machen.

den datentyp im array kannst du ja selbst festlegen allerdings immer nur fürs gesamte array, also nicht die erste spalte text, die zweite spalte zahlen.
es gibt aber auch die zeichensatzfunktionen, mit denen sich das eine in das andere umwandeln lässt. ist meiner meinung nach aber nicht so einfach. überhaupt versuche ich, nach möglichkeit die arrays zu vermeiden; ist mir einfach zu kompliziert. 😉
eventuell mal drüber nachdenken, ob sich das auch anders lösen lässt.
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Original erstellt von zzyzx:
...es gibt aber auch die zeichensatzfunktionen, mit denen sich das eine in das andere umwandeln lässt. ist meiner meinung nach aber nicht so einfach. ... Ist eigentlich recht einfach.
STR und SPLIT
AC4.5-AC27 AUT, GER, INT
www.a-null.com
Anonymous
Nicht anwendbar
also zur erklärung: möchte ein gdl objekt bauen, welches alle MSH-Profile (inklusive statischer Werte nach DIN) abbildet - habe mit einem testarray angefangen und kann nun problemlos nach bestimmten werten mit einer schleife suchen - geht also wunderbar - aber jetzt kommt die fubktion ins spiel, dass ich die variable umwandeln muss:

prof[1][1]="40 x 40"
prof[1][2]=2.9
prof[1][3]=2.9
prof[1][4]=4.23
prof[1][5]=3.32
prof[1][6]=0.155
prof[1][7]=9.66
prof[1][8]=4.83
prof[1][9]=1.51
prof[1][10]=15.0
prof[1][11]=7.97
prof[1][12]=5.86

wenn ich nun:

tst=2.9
tst2="40 x 40"

FOR i = 1 TO VARDIM1(prof)
IF prof[2]=tst AND prof[1]="tst2" THEN
PRINT prof
ENDIF
NEXT i

bekomme ich als fehlermeldung: numerische variable erforderlich

werde mit euren tips mal weiterdenken.......
Anonymous
Nicht anwendbar
Ich würde aller Werte als String definieren:

DIM prof[1][12]
prof[1][1]="40 x 40"
prof[1][2]="2.9"
prof[1][3]="2.9"
prof[1][4]="4.23"
prof[1][5]="3.32"
prof[1][6]="0.155"
prof[1][7]="9.66"
prof[1][8]="4.83"
prof[1][9]="1.51"
prof[1][10]="15.0"
prof[1][11]="7.97"
prof[1][12]="5.86"


tst="2.9"
tst2="40 x 40"

FOR i = 1 TO VARDIM1(prof)
IF prof[2]=tst AND prof[1]=tst2 THEN
TEXT2 0,i, prof[1]
ENDIF
NEXT i

Wenn Du die Werte anderswo als Zahlen brauchst, musst Du sie mit SPLIT extrahieren.
Anonymous
Nicht anwendbar
so jetzt bin ich ein "paar" gedanken weiter -überlege nun, ob es sinn macht die mengen an daten (zahlen) jeweils in ein array feld zu schreiben und mit split nachher zu separieren - dies würde einige bytes text im gdl sparen, das ich die felddeklaration nicht ewig wiederholen mussf - frage ist nun ob das sinn macht - weniger bytes gegenüber "splitten" - wenn split schnell genug ist und nicht so viel "rechenarbeit" benötigt würde das ja sinn machen oder ?
Anonymous
Nicht anwendbar
so habe es hinbekommen - vorerst werde ich jedes profil in eine eigene spalte und jede profileigenschaft in ein eigenes feld schreiben - das spart mir nachher das viele splitten - das plitten benötige ich jetzt nur um die variablen aus dem interface zu konvertieren - klappt perfekt!

klasse wäre zwar "in der laufzeit" das interface mit den daten des arrays zu füllen - würde mir das parameterscript klein machen - aber sooo dynamisch geht es ja wohl leider nicht.

ergebnisse dann in den nächsten tagen hier an dieser stelle 🙂
Frank Beister
Mentor
@zzyzx
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">den datentyp im array kannst du ja selbst festlegen allerdings immer nur fürs gesamte array, also nicht die erste spalte text, die zweite spalte zahlen.Das stimmt so nicht. Die erste Zuweisung einer Zelle bestimmt ihren Typ. Fluch und Segen! 😞
bim author since 1994 | bim manager since 2018 | author of selfGDL.de | openGDL | skewed archicad user hall of fame | author of bim-all-doors.gsm