Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  Indizierbare Variablen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Creo
Autor Thema:  Indizierbare Variablen (885 / mal gelesen)
ME10-Faultier
Mitglied



Sehen Sie sich das Profil von ME10-Faultier an!   Senden Sie eine Private Message an ME10-Faultier  Schreiben Sie einen Gästebucheintrag für ME10-Faultier

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 13. Sep. 2016 14:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo in die Runde!

In einem Makro habe ich die Variablen
  index_jt_1
  index_jt_2
  index_jt_3
  index_jt_4
  index_jt_5
  index_jt_6
  index_jt_7
  index_jt_8
  index_jt_9, die jeweils den Wert 'J' oder 'N' zugewiesen bekommen.
Damit ich nicht alles 9x programmieren muß bei Abfragen, möchte ich die Variablen in einer WHILE-Schleife von 1 - 10 abfragen:

Code:
  LET zaehl_er 1
  WHILE ( zaehl_er < 10 )
      IF ( ( 'index_jt_' + ( TRIM ( STR zaehl_er ) ) ) = 'J' )
  ...
      END_IF
  END_WHILE

Das funktioniert aber nicht. Ich dachte immer, daß ich in den Variablennamen die Zahlen automatisiert bearbeiten könne. Bin ich da auf dem Holzweg? Und wie kann man das sonst lösen? Igrendwie stehe ich gerade auf dem Schlauch.

Vielen Dank schon einmal im voraus für Eure Hilfe.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Walter Geppert
Ehrenmitglied V.I.P. h.c.
Frank und Frei



Sehen Sie sich das Profil von Walter Geppert an!   Senden Sie eine Private Message an Walter Geppert  Schreiben Sie einen Gästebucheintrag für Walter Geppert

Beiträge: 2143
Registriert: 12.12.2000

erstellt am: 13. Sep. 2016 21:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ME10-Faultier 10 Unities + Antwort hilfreich

Du könntest statt der neun Variablen eine logische Tabelle mit neun Zeilen definieren und dort die Werte reinschreiben und auslesen

------------------
meine LISP-Makros sind auf osd.cad.de Disclaimer
Grüße aus Wien

Walter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

thomas.h
Mitglied
Konstrukteur Maschinenbau


Sehen Sie sich das Profil von thomas.h an!   Senden Sie eine Private Message an thomas.h  Schreiben Sie einen Gästebucheintrag für thomas.h

Beiträge: 222
Registriert: 13.04.2001

ME10 13.20B
SWX 2015 SP5.0
WIN 7 64-bit

erstellt am: 14. Sep. 2016 13:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ME10-Faultier 10 Unities + Antwort hilfreich

Anderer Ansatz:


LET zaehl_er 0

  REPEAT
    LET zaehl_er (zaehl_er + 1)
    LET index (VAL ('index_jt_' + STR zaehl_er))

    IF (index = 'J')
      display 'Variable = J'
    ELSE
      display 'Variable = N'
    END_IF

  UNTIL (zaehl_er = 9)


Gruß
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ME10-Faultier
Mitglied



Sehen Sie sich das Profil von ME10-Faultier an!   Senden Sie eine Private Message an ME10-Faultier  Schreiben Sie einen Gästebucheintrag für ME10-Faultier

Beiträge: 25
Registriert: 30.03.2015

Direct Drafting 18.1

erstellt am: 30. Sep. 2016 09:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke an euch Beibe.

Es wird jetzt eine Mischung aus Euren beiden Vorschlägen: die Inhalte der Variablen index_jt_1 ... 0 werden einer anderen Variable zugewiesen und dann in eine logische Tabelle eingetragen, mit der dann weitergearbeitet wird.
Da ich bisher noch nie logische Tabellen verwendet habe, wollte ich ursprünglich nur mit Thomas seiner Variante weiterarbeiten. Das Zuweisen der Werte von index_jt_1 ... 9 an andere Variablen funktionierte damit, nicht jedoch das Zuweisen an index_jt_1 ... 9, wenn man eine Variable für 1 ... 9 in den Namen einbaut. Dann erkennt er den Variablenbezeichner immer nur als zusammengesetzten String, nicht jedoch als Variablennamen. Darum habe ich nun doch mit den logischen Tabellen angefangen.

Gruß

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

neuimforum
Mitglied



Sehen Sie sich das Profil von neuimforum an!   Senden Sie eine Private Message an neuimforum  Schreiben Sie einen Gästebucheintrag für neuimforum

Beiträge: 23
Registriert: 21.09.2004

erstellt am: 09. Jan. 2017 16:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ME10-Faultier 10 Unities + Antwort hilfreich

Hallo, Du müsstest mit execute_string arbeiten um den Befehl, den Du in den eine Variable als Strein schreibt dann auszuführen.
z.B.
Code:
LET Stringvariable ('LET Index_'+(STR Zaehler)+' '+Inhalt)
EXECUTE_STRING Stringvariable

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz