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

gdl Objekt

Anonymous
Nicht anwendbar
Hallo Forum
Ich hab da mal 2 Fragen ( Bibliothek; neues Objekt )

Frage 1.
Wie kann man einen Parameter sperren ( graue Darstellung)
aber trotzdem soll er im Einstellungsdialog-Fenster Sichtbar bleiben?
( nützen als Infotext )
oder besser mit "Eigener Text 1" unter Verfügbare Parameter im Listen Schema Einstellungen
aber wie bekomme ich da meinen Infotext rein?

Frage 2.
In den Auswertungslisten: Parameter "Volumen" passt sich der Wert Automatisch
der Größenänderung an; Wie baut man das für zb. Preis oder Artikelnummer

Danke im Voraus für die Hilfe
15 ANTWORTEN 15
Anonymous
Nicht anwendbar
zu1)
Parameter sperren (mit grauer Darstellung):
Im Parameterskript hinzufügen:
lock "x" (x=der zu sperrende Parameter)

Parameter sperren und unsichtbar:
Im Parameterskript hinzufügen:
lock "x" (x=der zu sperrende Parameter)
hideparameter "x"

zu2)
In einer Interaktiven Liste rechts oben "Schema Einstellungen" anklicken
dann im aufgehenden Fenster links unten "Hinzufügen" anklicken.
Dort können Parameter von GDL Objekten ausgewählt werden, die dann in der Interaktiven Liste erscheinen. Allerdings muss ich auch immer wieder probieren, um mit trial and error zu meinem Ziel zu gelangen. Aber es ist sehr viel möglich.
Vielleicht noch ein Tipp: Wenn eine Liste die gewünschten Ergebnisse bringt, kann sie als "Ausschnitt" gespeichert werden und in allen AC Dateien verwendet werden.
Anonymous
Nicht anwendbar
Danke für die Hilfe!

Punkt 1. hat perfekt funktioniert;
Punkt 2. ist mir nicht ganz klar was du mit " trial and error " meinst
aber wahrscheinlich ist mit " Eigner Text " gemeint das man den zwar zur Liste
hinzufügen kann , den Text aber dann eben selber schreibt; oder ?

Zu meiner letzten Frage hier ein Beispiel:
Im Parameterscript: zb.: IF A=900 THEN Artikelnummer = "123456"

Ich bekomme eine Warnmeldung:

Warnung:
Die Verwendung von realen Typen kann zu
Präzisionsproblemen führen


Wie muß ich da vorgehen damit so eine Art von IF-Bedingung funktioniert ?!

Bitte um Hilfe
Anonymous
Nicht anwendbar
trial + error = Versuch und Irrtum
soll heissen: immer wieder verschiedene Einstellungen probieren bis das gewünschte Ergebnis erreicht wird.

Die Warnmeldung kann kommen wenn Werte (Zahlen) angegeben werden, die bei bestimmten Berechnungen zu Ungenauigkeiten führen können. Ich würde mich von dieser Meldung vorerst nicht aufhalten lassen.
In deinem Fall dürfte 123456 die Ursache sein oder evt. 900.

A ist normalerweise der Wert für die Länge in X-Richtung.
Was ist A für ein Parameter bzw. was willst du mit der IF Anweisung erreichen ?
Anonymous
Nicht anwendbar
Im Parameterscript: zb.: IF A=900 THEN Artikelnummer = "123456"

Wenn die Variable "Artikelnummer" kein Parameter ist, gehört der Ausdruck ins Master-Script.
Wenn die Variable "Artikelnummer" ein Parameter ist, gehört der Ausdruck auch ins Master-Script und im Parameter-Script schreibst Du
PARAMETERS Artikelnummer = Artikelnummer.

Wegen der Fehlermeldung: A ist eine Gleitkommazahl, welche Du nicht mit dem = Operator vergleichen darfst (Das geht nur mit Ganzzahlen). Du musst folgendes schreiben:
eps = 0.00001 ! Das ist ein Hilfswert, der die Kommastellenungenauigkeit "ausgleicht"
IF ABS (A - 900) < eps THEN Artikelnummer = "123456"
(Der Rest sinngemäß wie oben)
Anonymous
Nicht anwendbar
Hallo Jochen,
Danke für deine Super Erklärung; jetzt ist mir alles klar.
Ich hab es sogar noch ein bissen verfeinert und hab statt ABS die Funktion INT verwendet
Zitat aus dem Buch:
INT(Zahl) ergibt den ganzzahligen Wert der Zahl (ohne Dezimale).
Der INT-Befehl rundet IMMER ab.
Verwenden Sie zum Aufrunden x=INT(Zahl + 0.5).
Beispiel: INT(8.56) = 8 (abgerundet) INT(8.56+0.5)=9 (aufgerundet)

Zusätzlich muß mann noch die Variable A mit 1000 multiplizieren!
( hat wahrscheinlich mit den Arbeitseinheiten: mm, cm, meter zu tun ?!)

Also schrieb ich im Masterscript:
IF INT (A*1000+0.5) = 900 THEN art= "Modell_900" ELSE art= "Sondermodell"
Im Parameter-script: PARAMETERS art = art

und jetzt geht alles Perfekt; DANKE

Ein Problem mit der IF THEN ELSE Bedingung hab ich leider noch:
Zur Erklährung: Ich baue einen Korpuss, der mit der Variable A in der
Breite ohne Einschränkung änderbar ist.
Bei einer breite von 600 soll die Variable: art ( Artikelnummer)
den Text: "Modell_600" haben; bei einer breite von 800 "Modell_800"
bei einer breite von 900 "Modell_900"
und bei allen anderen breiten "Sondermodell".
Meine nicht funktionierende Bedingung lautet:
IF INT (A*1000+0.5) = 600 THEN art= "Modell_600"
IF INT (A*1000+0.5) = 800 THEN art= "Modell_800"
IF INT (A*1000+0.5) = 900 THEN art= "Modell_900" ELSE art= "Sondermodell"

Wie muß die Bedingung richtig lauten damit sie funktioniert ????

Bitte um Hilfe
Anonymous
Nicht anwendbar
art= "Sondermodell"
IF INT (A*1000+0.5) = 600 THEN art= "Modell_600"
IF INT (A*1000+0.5) = 800 THEN art= "Modell_800"
IF INT (A*1000+0.5) = 900 THEN art= "Modell_900"
Anonymous
Nicht anwendbar
Hallo Wolfgang, um besser zu verstehen:

In deinem Skript vor dem ersten if-Befehl ist der Variablen art wahrscheinlich noch kein Inhalt zugewiesen.
Nach dem ersten if-Befehl ist nur bei A=600 der Variablen art ein Inhalt "Modell_600" zugewiesen, sonst noch kein Inhalt zugewiesen.
Nach dem zweiten if-Befehl ist nur bei A=800 der Variablen art ein Inhalt "Modell_800" zugewiesen, sonst noch kein Inhalt zugewiesen.
Nach dem dritten if-Befehl ist nur bei A=900 ist der Variablen art ein Inhalt "Modell_900" zugewiesen, sonst grundsätzlich ein Inhalt "Sondermodell".
Im Endeffekt ist art entweder "Modell_900" oder "Sondermodell"
Anonymous
Nicht anwendbar
funktioniert Super !!!!
Danke,danke
Anonymous
Nicht anwendbar
Hallo Forum,

Frage: gebauter Korpuss im Schnitt dargestellt ( Schnitt - Werkzeug) fließen die
Teile ineinander zusammen ( Boden, Rückwand, Fachboden)

Wie; bzw. kann man das überhaupt verhindern ?