Texte aufteilen

Manchmal kann man sich mit kleinen Tools das Leben erheblich erleichtern. In diesem Beispiel geht es um die Vereinfachung der Bearbeitung importierter Daten. Dabei liefert die Quelle eine Zeichenkette in einem Feld, die eigentlich auf zwei Felder aufgeteilt sein sollte – allerdings ohne die Möglichkeit, dies komplett zu automatisieren. Sei es drum: Eine kleine Arbeitserleichterung ist besser als keine.

Beispiel

Als Anregung für den Bau der hier beschriebenen Hilfe dient die Bücherverwaltung aus dem gleichnamigen Beitrag (Shortlink 633). Die dort beschriebene Anwendung liest unter anderem Buchdaten vom Webservice von Amazon ein. Dieser hat die unangenehme Eigenart, Buchtitel und Untertitel in einem zu liefern. Die beiden Eigenschaften liefert Amazon zwar durch einen Doppelpunkt getrennt, da viele Bücher aber bereits einen Doppelpunkt im Titel und/oder Untertitel tragen, wäre eine automatische Aufteilung von Titel und Untertitel nicht besonders zuverlässig.

Lösung

Wie also kann man dies vereinfachen Normalerweise würde man wohl die komplette Zeichenkette, also Titel und Untertitel, in eines der Zieltextfelder, vorzugsweise in den Titel kopieren und die Zeichenkette dann manuell auf Titel und Untertitel aufteilen. Dazu markiert man dann den Untertitel innerhalb der Zeichenkette, schneidet diesen entweder per Tastenkombination Strg + X oder über den entsprechenden Kontextmenüeintrag aus und fügt ihn mit Strg + V in das Untertitel-Feld ein.

Im Beispiel sieht das wie in Bild 1 aus. Der Text im Feld Titel enthält nicht nur den Titel, sondern auch noch den Untertitel. Das Formular enthält direkt eine Schaltfläche, die das Formular zum Aufteilen des Titels auf Titel und Untertitel öffnet. Dieses sieht wie in Bild 2 aus.

pic001.tif

Bild 1: Buchdetails mit einem Titeltext, der noch auf Titel und Untertitel aufgeteilt werden muss

pic002.tif

Bild 2: Dieses Formular teilt Texte einfach auf.

Das Formular zeigt direkt den kompletten im Feld Titel enthaltenen Text an. Platziert der Benutzer die Einfügemarke irgendwo im Text, erscheint der Teil vor der Einfügemarke im ersten, der Teil hinter der Einfügemarke im zweiten Ergebnisfeld.

Falls sich zwischen den beiden Teilen Zeichen befinden, die weder dem ersten noch dem zweiten Teiltext zugeordnet werden sollen, markiert man diesen Teil einfach. Dann zeigt das erste Ergebnisfeld den Teil vor Beginn der Markierung an und das zweite den Teil hinter der Markierung. Ein Klick auf OK genügt, um das Formular zu schließen und den aufgeteilten Text zurückzuschicken.

Lösung verwenden

Der Einsatz der Lösung erfordert nur ein paar Zeilen Code, die einen Funktionsaufruf beinhalten und diesem den Originaltext übergeben sowie zwei leere Variablen, die mit den beiden Textfragmenten gefüllt werden sollen (s. Listing 1).

Außerdem müssen Sie der Zieldatenbank das Modul mdlTextAufteilen und das Formular frmTextAufteilen hinzufügen.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar