[ZE...] Posted March 23, 2018 Share Posted March 23, 2018 Hallo zusammen, laut der PCM-Dokumentation kann auf Listenelemente nicht zugegriffen werden. Dies scheint nicht ganz richtig zu sein. Ein begrenzter Zugriff scheint möglich zu sein. Nachdem eine Liste z.B. mit folgendem Befehl erstellt wurde, ... EineListe = list("Element 1", "Element 2", "Element 3", "Element 4") ... kann mit EineListe.first das Erste und mit EineListe.last das letzte Element ausgelesen werden. Zudem kann mit... EineListe.removeFirst EineListe.removeLast ... das erste beziehungsweise das letzte Element entfernt werden. Somit kann man mit einer Schleife in welcher man z.B. das erste Element ausliest und es dann entfernt, die komplette Liste durchgehen. .first und .last funktioniert sogar bei normalen String Variablen. Es wird dann das Erste beziehungsweise das letzte Zeichen der Zeichenkette ausgegeben. Nur das entfernen Selbiger funktioniert nicht. Jetzt frage ich mich, ob es vielleicht noch zahlreiche weitere undokumentierte Funktionen in PCM gibt? Kennt ihr vielleicht noch weitere Funktionen? Und warum steht sowas nicht in der Anleitung / Referenz? Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Es kann sein, daß die undokumentierten Funktionen für irgendwelche internen Aufgaben oder als Hilfsfunktion für Tests geschrieben wurden und nicht auf fehlerfreiheit getestet wurden, da eben keine offiziellen Features. Ein Beispiel für eine interne Spezialfunktion findet man auf den O-Inspect Maschinen: Dort gibt es einen Prüfplan, der den Versatz zwischen Kamera und taktilem Taster misst und die ermittelten Werte dann dauerhaft abspeichert, so daß dann künftig der Versatz in allen Prüfplänen automatisch verrechnet wird. Das Speichern der Werte wird mit einem speziellen PCM-Befehl gemacht (Name weiss ich gerade nicht). Falls jemand eine Funktion findet, mit der man Messelemente, Prüfmerkmale und ähnliches auflisten lassen kann, bekommt er/sie von mir den Nobelpreis 😉 Das wäre nämlich die eine Funktion, die zum Schreiben prüfplanunabhängiger flexibler PCM-Funktionen noch notwendig wäre. Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Eine sehr nützliche Abfrage, die ich gerade entdeckt habe: getActual("XYZ").numberOfPoints Gibt die tatsächliche Anzahl von Istpunkten eines Messelements aus. Derselbe Wert, der im Fenster des Messelements rechts unten unter Anz.Pkt. steht, also die Punktezahl nach allen Ausreisser- und sonstigen Filterungen. Ich finde das unendlich nützlich für die Auswertung von gescannten Punktemengen in einer Schleife, denn beim Scannen bekommt man ja fast nie genau die eingestellte Puunktezahl raus. Sind es weniger, dann brechen solche Auswertungen oft mit einem Fehler ab. Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Hallo, dein Beitrag wird nicht angezeigt, laß mal besser die fetten unterstrichenen Zeichen weg. Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Eine Abfrage-Option für die Funktion getActual(), die sich tief in der Onlinehilfe versteckt: getActual("NAME").inTolerance Gibt aus, ob das angegebene Prüfmerkmal toleranzhaltig ist (true/false). Aber Vorsicht: In Version 5.8 hängt sich bei mir Calypso auf, wenn ich die Funktion in der Parameter-Sektion (Option PCM) eines Prüfmerkmals verwende. Bei mir funktioniert sie nur in einer Formel in einem Eingabefeld einwandfrei. Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Hallo Hier noch eine Idee wie man sich eine dynamische Auswahlliste basteln kann, so habe ich es geschafft die Listen in der userfield.ini in PCM verfügbar zu machen: selectionlist="inquireList("+chr(34)+"Bitte auswählen:"+chr(34) selectionlist=selectionlist+chr(44)+chr(34)+"Test1"+chr(34) selectionlist=selectionlist+chr(44)+chr(34)+"Test2"+chr(34) selectionlist=selectionlist+chr(44)+chr(34)+"Test3"+chr(34) selectionlist=selectionlist+")" selection=getParameterNamed(selectionlist) Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Was auch geht ist die goto Funktion: goto weiter message("hallo") weiter: message("hallo33") sehr praktisch Link to comment Share on other sites More sharing options...
[ZE...] Posted March 23, 2018 Author Share Posted March 23, 2018 Da geht noch eine Menge mehr 🙂 Tip: Mal im englischen Forum stöbern... Link to comment Share on other sites More sharing options...
[Kr...] Posted November 6, 2018 Share Posted November 6, 2018 Hallo, zum Thema Liste habe ich noch Infos. EineListe = list("eins","zwei","drei") for A = 1 to 3 ZweiteListe[A] = EineListe.first EineListe.removeFirst next A so lassen sich die Werte "eins", "zwei", "drei" mit ZweiteListe[1], ZweiteListe[2], ZweiteListe[3] wiedergeben Link to comment Share on other sites More sharing options...
[Kr...] Posted February 20, 2019 Share Posted February 20, 2019 list auslesen: eee = list("AA", "BB", "CC", "DD") getTechnologySegment(eee, 4) 😉 Gruß Jens Link to comment Share on other sites More sharing options...
[Is...] Posted March 8, 2019 Share Posted March 8, 2019 Please sign in to view this quote. Wenn vorhanden goto existiert möglicherweise on Error GoTo ❓ ❓ ❓ Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in