abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 
Programmierung
Alles über Programmierung in GDL und Python

Umgang mit umfangreichen ParameterMengen

Hmooslechner
Rockstar
Hier ein Beispiel für den Umgang mit Umfangreichen Parametermengen

Hat jemand eine bessere Iddee?
Das Teil ist eine Art einfacher Bauzeitplan
es gibt 48 Zeilen mit je 3 Parameter pro Zeile
Bezeichnung
Startwoche
Dauer (Wochen)

<img src="http://www.salzburg.co.at/hmooslechner/images/Bauzeitplan.gif" alt="" />

und nun das GDL:

<OBJECT ID="GDLCtl" codebase="http://www.gdlcentral.com/bin/files/GDLCtl.cab#version=1,2,5,178" WIDTH="200" HEIGHT="200" CLASSID="CLSID:64D9B72C-E42A-490e-9181-221E1E035A14"><PARAM NAME="GdllistTxt" VALUE=""><PARAM NAME="SRC" VALUE="http://www.salzburg.co.at/hmooslechner/images/BauzeitplanTest.gsm"><embed name='GDLCtl' width='200' height='200' Src='http://www.salzburg.co.at/hmooslechner/images/BauzeitplanTest.gsm' GdlListTxt=''></OBJECT>

voreingestellt ist natürlich hier das 3D - also mit rechter Maustaste auf das GDL-auf 2D-Darstellung umstellen, dann sieht man etwas..
(Sichern als-anschauen im Archicad)

Das Ding ist natürlich kein fix fertig zu verwendendes Teil ohne Bugs.
Aber man könnte es relativ leicht anpassen, entbuggen, erweitern, Abhängigkeiten schaffen usw.
viel Spaß!

mfG. Heimo
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
19 ANTWORTEN 19
andreaszeike
Newcomer
Hallo, Heimo!
hab mir Dein gsm mal runtergeladen.

ich würde und die Parameter dann doch lieber per Interfacescript gruppiert haben:

das stelle ich mir so vor:

1. im Parameterfenster gibt es einen Parameter für die Anzahl der Gewerke

2. Ein Pop-up-Fenster (Eingabemaske) für die Tätigkeiten/Gewerke gibt Dir so viele Eingabezeilen, wie Du vorher vereinbart hast, etwa so:

<img src="http://home.t-online.de/home/azeike/jpg-Bilder/gewerke.jpg" alt="" />

3. Ein weiteres Pop-up-Fenster (Eingabemaske) für Dauern listet Dir Deine Gerwerke analog Deiner Angaben im ersten Pop-up-Fenster auf, etwa so:

<img src="http://home.t-online.de/home/azeike/jpg-Bilder/dauer.jpg" alt="" />

und so weiter...

(ich selbst hab das noch nie gemacht, vielleicht kriegst Du das ja hin...)

Gruß, az
Hmooslechner
Rockstar
Probiers mal!
So schwa isses net 😉

Mach folgendes:
bau Dir ein neues Probe-GDL und setz folgendes in das Interface-Script - speichers ab und probier rum:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> ui_dialog "TestBox", 310, 266 !!!!310+266 sind die Max. Ausdehungen in Pixel

UI_page 1
UI_GROUPBOX "Seite 1", 0,15, 310, 266-15
UI_BUTTON UI_NEXT , "zu Seite 2>>>" , 90, 266-17, 120, 17 !!!!Button unten weiter



ui_page 2 !!!!!!!!!! SEITE 2
UI_GROUPBOX "Seite 2", 0,15, 310, 266-15
UI_BUTTON UI_PREV , "<<PROJEKT" , 0, 266-17, 90, 17
UI_BUTTON UI_NEXT , "PLANERDATEN>>>" , 90, 266-17, 120, 17 !!!!Button unten weiter



UI_page 3
UI_GROUPBOX "Seite 3", 0,15, 310, 266-15
UI_BUTTON UI_PREV , "<<KOPFPARAMETER" , 0, 266-17, 160, 17
UI_BUTTON UI_NEXT , "SCHRIFTARTEN>>>" , 175, 266-17, 160, 17 !!!!Button unten weiter



UI_page 4
UI_GROUPBOX "Seite 4", 0,15, 310, 266-15
UI_BUTTON UI_PREV , "<<Zurück" , 0, 266-17, 160, Damit ´hast Du dann einen Dialog mit 4 seiten - leer erstellt.
Den kannst Du dann mit den Parametern füllen.

Zur Erklärung
Jeder Eintrag hat: (Syntax)
einen Funktions-Namen, "Parametername oder Text der Ausgabe", Startkoordinate X, Startkoordinate y, Ausdehnung X, Ausdehnung y (in Pixel)

UI_page 1 = Funktion neue Seite mit Nummer
UI_GROUPBOX = einfach ein umschließendes Rechteck, um Funktionen grafisch zusammenzufassen
UI_BUTTON UI_NEXT Funktion - Button zur nächsten Seite
UI_BUTTON UI_NEXT Funktion - Button zur vorigen Seite
UI_Infield - Eingabefeld, Darstellung abhängig vom Parameter und Parameterscript in den "" steht der Parametername
UI_outfield - Text-Ausgabefeld (oder auch Bild?), im "" steht der auszugebende Text.

viel SPaß! nochmals..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
Also ich würde nicht soviele Parameter anlegen, sondern das Ganze über Ansammlungswerte Lösen. Dann gibts einen Parameter für die Gewerke und einen für Beginn und Dauer.
AC4.5-AC27 AUT, GER, INT
www.a-null.com
Hmooslechner
Rockstar
Die geneue Vorgehensweise muß ich mir noch lernen.
Da war irgendwas mit dem Parameter-Script, damit Variablennamen in Matrixen funktionieren..
melde mich wieder...
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
andreaszeike
Newcomer
Klasse...

...danke, Heimo, für die UIs, werde ich mir so bald wie möglich mal ansehen!! mal sehen, ob ich´s auch interaktiv hinkriege 🙂

an Bernhard: was meinst Du mit Ansammlungswerten?
hast du mal ein Beispiel dafür da?
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
ich arbeite daran.... :dozey:
AC4.5-AC27 AUT, GER, INT
www.a-null.com
Anonymous
Nicht anwendbar
Ansammlungswerte ("Array", Wertetabellen),
kann man im Parameterfeld eines Objektes festlegen, indem man das Tabellensymbol zwischen Typ und Name runterdrückt.
Es erscheint ein Dialogfeld, indem man für jedes Tabellenfeld einen Wert bzw. eine Textfolge definieren kann; man hat beim fertigen Objekt die Möglichkeit, die Werte dieser Tabelle wie einzelne Parameter zu ändern.
Wenn man z.B. 10 x 10 Tabellenfelder festlegt, hat man damit quasi 100 "Parameter" innerhalb eines einzigen echten Parameters definiert.
Mann kann diese Werte nutzen, indem man für den 6. Wert in der 5. Reihe schreibt: "leng[5][6]"
(z.B. BLOCK leng[5][6],leng[5][6],leng[5][8])

Vorteil ist, dass man viele Parameter spart,
Nachteil allerdings die relativ umständliche Eingabe der Werte in so eine Wertetabelle.

Ich persönlich finde die Eingabe in einzelne Felder in einem User Interface wesentlich anwenderfreundlicher und übersichtlicher.
(Ich hab mal ein Objekt mit über 400 Parametern und variablen 7-20 Interfaceseiten erstellt und es ist trotzdem noch übersichtlich)

Ein weiterer Nachteil der Wertetabellen ist, dass sie nicht mit dem GDL WEB CONTROL funktionieren, weshalb ich hier leider kein Beispielobjekt reinstellen kann.

Man mann allerdings mit Wertetabellen super Sachen machen, die anders nicht oder nur schwer machbar sind.

Eine Frage noch zu dem Bauzeitplan: Ist die Erstellung mit einer anderen Software (z.B. Excel) nicht einfacher?
Hmooslechner
Rockstar
Klar ist es im Excel einfacher - ist ja nur ein Programmierbeispiel..
AC5.5-AC27EduAut, PC-Win10, MacbookAirM1, MacbookM1Max, Win-I7+Nvidia
Bernhard Binder
Graphisoft Partner
Graphisoft Partner
Hier ist ein Minibeispiel:
<OBJECT ID="GDLCtl" codebase="http://www.gdlcentral.com/bin/files/GDLCtl.cab#version=1,2,5,178" WIDTH="200" HEIGHT="200" CLASSID="CLSID:64D9B72C-E42A-490e-9181-221E1E035A14"><PARAM NAME="GdllistTxt" VALUE=""><PARAM NAME="SRC" VALUE="http://www2.a-null.com/support/forum/gdls/heimo_balken.gsm"><embed name='GDLCtl' width='200' height='200' Src='http://www2.a-null.com/support/forum/gdls/heimo_balken.gsm' GdlListTxt=''></OBJECT>

die Eingabe ist in der Tat bescheuert
AC4.5-AC27 AUT, GER, INT
www.a-null.com