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

Symbol-Etiketten

andreaszeike
Newcomer
den ersten Beitrag habe ich gelöscht...

az

[ 09. Januar 2004, 18:42: Beitrag editiert von: Andreas Zeike ]
42 ANTWORTEN 42
Anonymous
Nicht anwendbar
</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif"> schade... rrr ist übrigens immer =6 Soweit ich mich erinnere bei mir nicht. rrr ist bei mir 0, wenn der Request kein Ergebnis hatte.

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"> REQUEST ("matching_properties", type, name1, name2, ...) Ist doch eindeutig, oder? Dieser Request-Befehl gibt die, dem Objekt assoziierten Eigenschaftsobjekte zurück.
Bei Etiketten kann man keine Eigenschaften zuweisen. Also gibt dieser REQUEST dann nichts, oder aber, wenn das Etikett an ein anderes Objekt geheftet ist, dessen Eigenschaftsobjektnamen zurück. Steht das so nicht im deutschen Handbuch?

Am Rande bemerkt: 'AC_TextSize_1' beschreibt die Texthöhe. Wenn Du die Textbreite haben willst, solltest Du STW() verwenden, sonst paßt das nicht mit allen Schriftarten und Texten.

Ich konnte Deinen Code bisher nur kurz durchsehen und nicht testen, doch solltest Du allgemeine Parameternamen wie 'name, type,
flags, dim1, dim2, value' vermeiden, da diese evt. geschütze Parameter/Befehlsnamen sind. Durch ein Voranstellen eines Undescores werden sie 'entschärft'.
andreaszeike
Newcomer
Hallo Ove,

nein, im deutschen Handbuch steht was anderes: </font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Zitat:</font><hr /><font size="2" face="Verdana, Helvetica, sans-serif">Wenn typ = 1, werden in den vorgegebenen Variablen individuell assoziierte Namen von Beschreibungs-Bibliothekselementen übergeben, sonst Namen von Beschreibungs-Bibliothekselementen, die durch Kriterien verbunden sind. Wenn sie in einem assoziativen Etikett verwendet wird, übergibt die Funktion die Beschreibungen der Elemente, mit denen das Etikett assoziiert ist.
...Beschreibungs-Bibliothekselementen sind also Eigenschafts-Objekte. Gut, dann ist mir auch halbwegs klar, was der Befehl macht.

Mit rrr= immer 6 meinte ich, dass ich mit REQUEST ("ASSOCLP_PARVALUE", "parameter_"...) scheinbar immer ein Ergebnis bekomme, sobald der Parameter im Objket vorhanden ist. (Etikett in AC getestet - in der Vorschau bekommst Du tatsächlich 0!)

Ich möchte aber, das mir das Etikett nur dann etwas auflistet, wenn ein Wert für den Parameter vorhanden ist. Das macht Deine Routine leider noch nicht (...oder ich habe etwas übersehen???).

Dank für Deinen Hinweis bez. STW, das werde ich noch einbauen. Im Original Fenstemarker wurde es auch so gemacht.
Dann habe ich mir noch die Textformate angesehen:
rrr=REQUEST ("Sill_height_dimension", "", format) übergibt das Format der Brüstungshöhe des Objektes. Meine Brüstungshöhe im Marker sieht daher jetzt so aus:

</font><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">Code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">rrr=REQUEST ("Sill_height_dimension", "", format)

extra=""
AC_SillPrefix= "BRH"
AC_MarkerText= str{2} (format, WIDO_OPRSIDE_SILL_HEIGHT, extra)

w_pfx = stw (AC_SillPrefix) ! Stringweite Prefix
w_shei = stw (AC_MarkerText) ! Stringweite SILL_HEIGHT

posX1=-(w_pfx +w_shei)/2
posX2=w_pfx /2-w_shei/2

CALL "NOTE2" PARAMETERS a=posX1, b=0,
note=AC_SillPrefix, note2=extra,
style2="extraStyle", notesize=AC_TextSize_1,
angle=textAngle, enabled=AC_Readable

CALL "NOTE2" PARAMETERS a=posX2, b=0,
note=" "+AC_MarkerText, note2=extra,
style2="extraStyle", notesize=AC_TextSize_1,
angle=textAngle, enabled=AC_Readable

ADD2 0, -3*AC_TextSize_1
Das mit den allgemeinen Parameternamen ist mir eigentlich bekannt - da war ich mal wieder faul - klappte ja auch so... ich werde sie aber ersetzen, versprochen...

😉

Gruß, az

[ 15. Januar 2004, 10:15: Beitrag editiert von: Andreas Zeike ]
andreaszeike
Newcomer
folgendes Problem: Alle Fenster in der AC80/81 lib haben bei "gs_list_cost" als StandardType "natürliche Zahl" stehen. Dadurch kann ein Preis mit mehr als 4 Stellen vor dem Komma nicht mehr vollständig im Etikett dargestellt werden, wenn das Etikett einen rahmen hat. Wäre es ein String, würde sich der Rahmen anpassen.

Leider lässt sich value_ nicht mit STW auswerten, und veträgt sich nicht mit einem Stringformat, sonst würde ich einfach ein +" " hinter value setzen. Hast Du vielleicht eine Idee dazu?

So sieht mein Etikett jetzt aus:

<img src="http://mitglied.lycos.de/archicadforum/bilder/Fensteretikett.gif" alt=" - " />

Gruß, az


Man könnte den StandardType der Fenster natürlich ändern - die Fenster in der 80er lib haben einen bug bei "Hersteller" - da müsste der TYPE auf jeden Fall geändert werden! (habe mir für mein Beispiel ein eigenes Fenster hergestellt...)

[ 19. Januar 2004, 10:51: Beitrag editiert von: Andreas Zeike ]