Hi,
ich habe einen String, der während der Eingabe interpretiert werden soll. Beispiel: "#120K15L25P250" Der String beginnt immer mit einer Raute, danach kommt eine beliebig lange Zahl, die solange geht, bis der erste Buchstabe kommt. Nach ein oder zwei Buchstaben folgt wieder eine Zahl. Die Buchstaben ordnen dabei die Zahlen einer bestimmten Stelle zu.
Einen fertigen String auszuwerten ist nicht weiter schwierig, eine Auswertung in Echtzeit scheint allerdings nicht ohne zu sein.
Bereits ausgewertete Elemente müssen angepasst werden, wenn diese erweitert werden (aus "F2" wird "F23" ). Zusätzlich kann es passieren, dass der Mittelteil geändert wird ("#120B25C11" -> "#120A25C11"). Auch kann der String gekürzt werden wodurch Elemente wegfallen oder mit anderen zusammengelegt werden können.
Mehr wie 30 Zeichen wird der String nicht haben.
Ich habe mir ein paar Lösungsansätze überlegt, aber mir ist bis jetzt immer ein Anwendungsfall eingefallen, bei dem die Lösung nicht gescheit funktioniert. Am einfachsten wäre es wohl den String bei jeder Änderung komplett neu zu interpretieren, aber das ist ziemlich unperformant.
Über Google etc. habe ich bis jetzt nichts gefunden, das in eine ähnliche Richtung geht, außer der "fast-colored-TextBox" deren Funktionsumfang allerdings der totale Overkill ist. Hat jemand eine Idee, wie ich mich dem Problem nähern kann?
ich habe einen String, der während der Eingabe interpretiert werden soll. Beispiel: "#120K15L25P250" Der String beginnt immer mit einer Raute, danach kommt eine beliebig lange Zahl, die solange geht, bis der erste Buchstabe kommt. Nach ein oder zwei Buchstaben folgt wieder eine Zahl. Die Buchstaben ordnen dabei die Zahlen einer bestimmten Stelle zu.
Einen fertigen String auszuwerten ist nicht weiter schwierig, eine Auswertung in Echtzeit scheint allerdings nicht ohne zu sein.
Bereits ausgewertete Elemente müssen angepasst werden, wenn diese erweitert werden (aus "F2" wird "F23" ). Zusätzlich kann es passieren, dass der Mittelteil geändert wird ("#120B25C11" -> "#120A25C11"). Auch kann der String gekürzt werden wodurch Elemente wegfallen oder mit anderen zusammengelegt werden können.
Mehr wie 30 Zeichen wird der String nicht haben.
Ich habe mir ein paar Lösungsansätze überlegt, aber mir ist bis jetzt immer ein Anwendungsfall eingefallen, bei dem die Lösung nicht gescheit funktioniert. Am einfachsten wäre es wohl den String bei jeder Änderung komplett neu zu interpretieren, aber das ist ziemlich unperformant.
Über Google etc. habe ich bis jetzt nichts gefunden, das in eine ähnliche Richtung geht, außer der "fast-colored-TextBox" deren Funktionsumfang allerdings der totale Overkill ist. Hat jemand eine Idee, wie ich mich dem Problem nähern kann?
Option strict = on
If it's stupid and it works it ain't stupid.
If it's stupid and it works it ain't stupid.