Worauf IchSelbst vermutlich am Anfang hinauswollte, war, dass es vielleicht sinnvoller wäre ein VI zu haben, dass beliebige Vektorgrafiken (da die Formen relativ einfach sind könnte man dafür einfach sogar ein eigenes Format kreiren) in Steuerbefehle für den Roboter umsetzt. Dann braucht man nur noch die Vektorgrafikbeschreibung mehr oder weniger als Textfile zu hinterlegen. Das sollte eine spätere Erweiterung des Programms wesentlich begünstigen (statt am Code arbeiten zu müssen muss man dann nur noch Vektorgrafiken im entsprechend gewählten Format generieren).
Dummycode Beispiel für den Buchstaben H:
Code:
Line 10 10 10 70
Line 10 40 30 40
Line 30 10 30 70
Dabei dient das Line zur Definition der Form und definiert wie die dahinter folgenden Zahlen zu interpretieren sind (und wie viele das sind [sic!]).
Die Buchstaben sollte man aus einfachen Formen (Ellipsenbogen, Kreisbogen, Linie) zusammenbauen können. In jede Zeile würde man dann einfach die Eckdaten angeben (im Beispiel: H besteht aus einer Linie von Koordinate (10,10) nach (10,70), einer Linie von (10,40) nach (30,40) und einer von (30,10) nach (30,70). Das Vektorprogramm muss dann entsprechend nur Ellipsen(-bögen), Linien und Kreisbögen (achja, das sind ja eh spezielle Ellipsenbögen ^^) zeichnen können. Es würde dann automatisch einfach aus der Beschreibung den Buchstaben zeichnen - was denke ich auch einfacher ist, als wenn man für jeden Buchstaben ein eigenes VI macht (auch weil man schneller einen neuen Buchstaben hinzufügen kann - einfach das entsprechende File erstellen).
Die Verwaltungstechnisch einfachste Möglichkeit wäre noch alle Buchstaben in ein File zusammenzufassen und dieses File am Anfang einfach auslesen zu lassen. Dann braucht man während der weiteren Laufzeit noch nichtmal weitere Lesezugriffe und man spart sich nachzuprüfen ob die Files die man sucht (File Buchstabe A etc. pp.) auch wirklich vorliegen.
Intern bietet sich vermutlich die Speicherung entweder als 2D Array von Strings (1. Zeile / Spalte definiert das Zeichen, die folgenden enthalten die Zeichenkommandos) an oder eine Auftrennung nach nem Array von Clustern bei dem die Zeichen die dargestellt werden sollen als String gespeichert werden und die zugehörigen Befehle in einem Array von Strings (im Cluster wie gesagt).
In beiden Fällen würde man das ganze dann einfach einmal durchlaufen und nachprüfen ob der gesuchte Buchstabe gefunden ist und wenn ja einfach die Steuerungsbefehle an das ZeichenVi weitergeben.
Will man das ganze mit einzelnen VIs / Textfiles machen, würde sich anbieten diese durch das entsprechende Zeichen zu benennen und dann einfach entsprechend aufzurufen. ("A" ruft "A.vi" auf, "d" ruft "d.vi" auf, etc.) - wobei ich mir grade nicht sicher bin ob es reicht Dateinamen durch Groß- und Kleinschreibung zu unterscheiden; zur Not kann man auch auf die dem Zeichen entsprechende Nummer ausweichen (entsprechend der Fortlaufenden Numerierung im verwendeten Code; da hatte Labview soweit ich im Kopf hab auch ne Prozedur für die das ausgibt).
Gruß Kiesch
P.S: Mit ner Datenbankabfrage etc. draufzuhauen ist meiner Meinung nach unnötig, da man die auch mit einfachen Methoden umgehen kann ^^