Forum: Projekte & Code Flexible SplitText() Klasse (Anfänger)


von Uli (uiimcn)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

nachdem mein letzter thread 
Beitrag "Anfänger-Entwicklung einer Gärbox Steuerung" zu Recht völlig in 
die Hosen ging (so wie ich das vorhatte, geht das eben nicht ...) und 
mir der Beitrag von Manfred 
Beitrag "Re: Anfänger-Entwicklung einer Gärbox Steuerung" schwer zu denken 
gab, hatte ich hier erst mal Pause gemacht.

Vor Kurzem wieder häufiger daran weitergebastelt und jetzt ist als etwas 
Sichtbares und ggfs. Brauchbares die erste Arbeitsversion einer 
flexiblen SplitText() Klasse dabei herausgekommen (ich denke, das ist 
das passende Unterforum hierfür).

Vielleicht kann das ja jemand gebrauchen - es gibt davon natürlich grob 
geschätzt Tausende davon...

Das Grundlegende:
- Eingabe von Text, Delimiter, geschützt oder ungeschützt (die Bytefolge 
zwischen den Delimitern incl. der Delimiter selbst)
- Text max. Länge auf 250 Byte definiert
- Textspeicherung in reserviertem Arduino-String, der nur gelesen wird
- Return-Wert lediglich als Integer Paar für nachfolgende lesende 
SW-Elemente. Das Integer Paar enthält zwei Indizes, Start und Ende des 
gefuundenen 'Wortes'.
- Der Aufruf von splitText.getNextSplitPositions() wird so oft 
durchgeführt, bis kein Wort (Indices) mehr zurückkommt.
Die korrekte Rückgabe von (-1, -1) für "nichts mehr zu holen" checke ich 
noch genauer.
- Falls geschützte Delimiter verwendet werden, um irgendwelche 
Bytefolgen als zusammenhängende Einheit zu schützen, ist ein zwei-Phasen 
Durchgang erforderlich. 1) Für ungeschützt / geschützte Bereiche 2) Für 
jeden Bereich dann nach Bedarf das Splitten.

Der Sketch ist in der aktuellen Version nicht vollstädig ausgetestet und 
wird bei nächster Gelegenheit etwas optimiert.

Er sollte laufen (bei mir auf WIN10), wenn die Dateien Arduino-korrekt 
in ./sketches und ./sketches/defaults_user_settings kopiert sind.

Grüße
Uli

Ganz vergessen: Jegliche Anregung ist willkommen!

: Bearbeitet durch User
Beitrag #7894104 wurde vom Autor gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.