| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Editfield zum Tabelle Füllen (417 mal gelesen)
|
rnic Mitglied Systems Engineer MB /WiMA
 Beiträge: 6 Registriert: 25.02.2008 ED 2006-er
|
erstellt am: 25. Feb. 2008 15:13 <-- editieren / zitieren --> Unities abgeben:         
Hallo Liebes Forum, kennt sich eine(r) von Euch mit selbstregistrierten Editfields aus? Ich habe ein Editfield registriert, welches Zellen einer Tabelle im Dialog abfragen und neu setzen soll. Leider läßt sich mit CURFIELD nur ein Wert übergeben und nicht die Zeile,Spalte Notation der Tabelle. Bsp: registereditfield([myeditfield],[label],[cell(curfield,10{=Spalte))],[setcell(curfield,10{=Spalte},&],..) Ruft man dann das Editfield (edit...ef([myeditfield],curfield,[]..) Die Spalte würde ich aber auch gerne dynamisch gestalten, damit ich nicht immer ein neues Editfield für jede Spalte oder Zeile registrieren brauch... Alternativ müsste ich das Editfield mit zwei Labels (ddb([Zeile]),ddbn([Spalte]} registrieren, die ich dann vor jedem ef-ruf neu auf Zeile und Spalte setzte schonmal Danke im Vorraus Nicole ------------------ nicnaec [Diese Nachricht wurde von rnic am 25. Feb. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
g.zeller Mitglied Ingenieur

 Beiträge: 21 Registriert: 01.03.2005
|
erstellt am: 25. Feb. 2008 19:17 <-- editieren / zitieren --> Unities abgeben:          Nur für rnic
Hallo Nicole, es ist viel einfacher und schneller, eine Eingabeoberfläche mit dem GUI-Builder zu gestalten. In dem Moment, in dem die Gui-Maske geöffnet bzw. geschlossen wird, kann man die Eingabefelder sehr variabel verschiedenen Attributen und / oder Zellern zuordnen. Das ist deutlich eleganter als mit registereditfield und curfield. Ob allerdings der GUI-Builder schon ind er Version von 2006 enthalten ist, weiß ich nicht (mehr). Gruß, Georg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rnic Mitglied Systems Engineer MB /WiMA
 Beiträge: 6 Registriert: 25.02.2008 ED 2006-er
|
erstellt am: 26. Feb. 2008 09:46 <-- editieren / zitieren --> Unities abgeben:         
mh....erstmal Danke für den Tip, aber GUI gibt es in der Version, die ich hier zum arbeiten habe, leider noch nicht... ich hab es mit zwei Variablen und ef(...) versucht, um die Werte aus der Tabelle auszulesen und wieder zurückzuschreiben. Ersteres geht, letzteres geht nicht weil er das Schreiben erst bei Klick auf Finish macht und dann die Variablen noch auf dem letzten Feld stehen. :-(. so ein mist aber auch. Jetzt hab ich nen schicken Dialog gebaut und er geht nicht :-( ------------------ nicnaec Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rnic Mitglied Systems Engineer MB /WiMA
 Beiträge: 6 Registriert: 25.02.2008 ED 2006-er
|
erstellt am: 26. Feb. 2008 11:35 <-- editieren / zitieren --> Unities abgeben:         
so... der Dialog ist fertig. ich habe Zeilen und Spaltenweise immer neue Editfields registriert - etwas umständlich, aber das Ergebnis ist ok und der Zweck heiligt bekanntlich die Mittel. wenn die Spalte fix war, hab ich mit curfield die Zeile ubergeben und umgekehrt. Das Ergebnis ist ein Dialog, der die Eingangsdaten für alle Prozesschritte erfasst (Cycletime, Handling Time, Batch, MTBF, MTTR) und ob ein zweites Equipment vorhanden sein soll und mit welchen Parametern. Der Dialog schreibt es in die zentrale Tabelle und die Atome greifen in diese Tabelle, d.h. auf den Atomen steht in 4Dscript immer nur die Referenz in die Tabelle... Was tut man nicht alles für den Endanwender... ------------------ nicnaec Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
SendToSink Mitglied Projektingenieur Logistik

 Beiträge: 12 Registriert: 03.07.2007
|
erstellt am: 26. Feb. 2008 22:19 <-- editieren / zitieren --> Unities abgeben:          Nur für rnic
Hallo Nicole, besser spät als gar nicht hier noch ein alternativer Vorschlag ohne GUI-Builder: repeat(nrows(ZuFüllendeTabelle), repeat(ncols(ZuFüllendeTabelle), cell(Zeilenlaufvariable,Spaltenlaufvariable,ZuFüllendeTabelle):=inputnum(e1,e2,e3,e4,...) ) ) Durch die Verschachtelung können beliebig große Tabellen dynamisch gefüllt werden. Die Reihenfolge der Parameter des Befehls "InputNum" ggf. bitte in der Hilfe nachschauen. - Der Default-Wert von "InputNum" kann über die Laufvariablen auch den Tabellenwert anzeigen "cell(Zeilenlaufvariable,Spaltenlaufvariable,ZuFüllendeTabelle,1)" - Der Hilfetext zu "InputNum" kann ebenfalls dynamisch über Kopfzeile (z.B. Maschinennamen) und Kopfspalte (z.B. Taktzeit, Rüstzeit, Anzahl Mitarbeiter,...) der zu füllenden Tabelle als Concatstring zugewiesen werden, sofern eine Kopfzeile und Kopfspalte deklariert sind: "concat([Bitte Wert für ],cell(Zeilenlaufvariable,1,ZuFüllendeTabelle,2),[ / ],cell(1,Spaltenlaufvariable,ZuFüllendeTabelle,2),[ eintragen.]) Vorteile dieser Anordnung: Die Werte werden sofort eingetragen. Der erklärende Text steht direkt in der Kopfzeile/-spalte der Tabelle mit den Werten und nicht in Editfields irgendwo verstreut. Der Code klappt auch dann noch, wenn sich die Tabellendimension ändert. So prickelnd ist das Registrieren von Editfields auch wieder nicht, oder? Übrigens: Das ganze geht mit "InputText" auch für Strings. Gruß SentToSink
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |