[Gelöst] Text suchen und ersetzen

11. Juni 2012 15:37

Hallo beisammen,
ich habe aktuell ein Problem, bei dem ich nicht mehr weiter komme:

in unserer Firma haben wir eine Tabelle mit ergänzenden Artikelinformationen, die per Fließtexteditor befüllt wird. In diesem Editor können auch Formatierungen wie bspw. Anzeige in roter Schrift gewählt werden. Diese werden dann vom Editor per Code wie bspw. <FONT color=#ff0000> für roten Font in die NAV-Tabelle zurückgegeben.

Das funktioniert auch alles prima – nur:
ich bräuchte jetzt eine Möglichkeit, alle hinterlegten Font-Farben-Werte ("<FONT color=xxxxxxx>") auf Knopfdruck aus der Tabelle zu löschen – ausser der Font-Farbe rot ("<FONT color=#ff0000>").

Da die Texte je Artikel teilweise um einiges länger sind als 1024 Zeichen und bedingt durch den autom. generierten Umbruch durch den Fließtext-Editor die Werte "<FONT color=xxxxx>" auch in unterschiedlichen Zeilen als Teil vorhanden sein können wie z.B. Zeile 105: "<FONT col" und Zeile 106: "or=#xxxxx>", bin ich gerade komplett überfragt, wie ich diese Abfrage und Löschung hinbekommen kann.

Hilfe..!!!!
Zuletzt geändert von HeiBai am 7. Juli 2012 18:51, insgesamt 2-mal geändert.

Re: Text suchen und ersetzen

11. Juni 2012 15:39

Hi,

wie sind den die gesplitteten Textbausteine verknüpft?
Also woher weisst du das Zeile 106 noch zu Zeile 105 gehört?

Re: Text suchen und ersetzen

11. Juni 2012 15:44

HeiBai hat geschrieben:Das funktioniert auch alles prima – nur:
ich bräuchte jetzt eine Möglichkeit, alle hinterlegten Font-Farben-Werte ("<FONT color=xxxxxxx>") auf Knopfdruck aus der Tabelle zu löschen – ausser der Font-Farbe rot ("<FONT color=#ff0000>").


Daten exportieren, sodass die Trennung innerhalb des Wortes (Zeichenkette mit den Farbinfos) wieder rückgängig gemacht wird, extern bearbeiten und dann wieder einlesen?

Re: Text suchen und ersetzen

11. Juni 2012 15:51

Hallo Danjo,

die Tabelle ist wie folgt aufgebaut (Primärschlüssel ist Artikelnr. und Zeile):

Zeile Text
101 mit erweiterten Befestigungsmöglichkeiten für d
102 ie externe Halterung der <FONT color=#ff0000>nicht tragenden</FONT
103 >Einzelteile. Hierbei darf nur der abgewandte Teil
105 des Maschinenabschnitts für die Behandlung mit<FONT color=#f
106 f0080>genormten</FONT> Teilen bestückt werden..

Hier sieht man ganz gut, daß die "Font"-Info zwischen Zeile 105 & 106 aufgeteilt ist und nicht mehr so einfach filterbar...
@Markus:
Das mit dem Aus- und Einlesen habe ich auch schon überlegt, aber ich weiß dann nicht, wie ich die Artikel-/Zeilenzuordnung wieder korrekt hinbekomme... :-(

Liebe Grüße,
Heidi

Re: Text suchen und ersetzen

11. Juni 2012 16:43

HeiBai hat geschrieben:Das mit dem Aus- und Einlesen habe ich auch schon überlegt, aber ich weiß dann nicht, wie ich die Artikel-/Zeilenzuordnung wieder korrekt hinbekomme... :-(


Was ich meinte: beim Export alle Textzeilen zusammenfassen und erst bei einem neuen Artikel eine neue Zeile.

D.h. art.no; textzeile1textzeile2...

Beim Einlesen dann halt den Text wieder nach 80 Zeichen (oder wie breit das Fled ist) wieder aufteilen.

Re: Text suchen und ersetzen

11. Juni 2012 17:02

hallo markus,

stimmt, das wäre was, aber ich habe mittlerweile erfahren, daß dies zum einen für einzelne artikel und zum anderen auch für ganze artikelgruppen recht häufig von den usern der zuständigen abteilung angestossen werden soll.

da können wir jetzt leider doch nicht mit ex- und import arbeiten - da bräuchte ich doch eine funktion als aufruf...

geht denn das ÜBERHAUPT in nav?!?!

liebe grüße,
eure verzweifelte
heidi

Re: Text suchen und ersetzen

11. Juni 2012 17:11

Einfache Methode:

Eine Suchroutine, die nach dem ersten Zeichen des gesuchten Textes in der Tabelle sucht (geht über filtern), danach einen String bauen aus der gefundenen und der nächsten Zeile, mit STRPOS schauen, ob der gesuchte Text drin ist, falls ja, bearbeiten, sonst nächstes erstes 1. Zeichen in der Tabelle.

Gruß, Fiddi

Re: Text suchen und ersetzen

11. Juni 2012 17:17

hallo fiddi,

das klingt ja super - ich glaube, das wäre das, was ich brauche..!!

aber wie gucke ich denn hier nach der aktuellen bzw. der nächsten zeile - ich bin hier leider nicht so der vollprofi...wenn du mir hier noch einen hinweis hättest, wäre das echt klasse..!!!

liebe grüße,
heidi (nicht mehr ganz so verzweifelt)

Re: Text suchen und ersetzen

12. Juni 2012 15:39

Ein wenig Pseudo- NAV- Code
Code:
Rec1 Record TABELLE
Rec2 Record TABELLE
Str   Text  250

REC1.Setfilter(TextSpalte,'%1','*@'+copystr(Suchstr,1,1)+'*');
if Rec1.findset then
  repeat
     if Rec2.get(REC1.PRIMÄRSCHLÜSSELFELDER) then begin
       Str := Rec2.TextSpalte;
       if Rec2.next <> 0 then
         str +=Rec2.TextSpalte;
       if Strpos(Str,SuchStr) <> 0 then begin
          'Tuwas mit Str und verteile die Daten wieder auf Rec1 und Rec2, und danach speichern'
       end;
     end;
  until Rec1.next =0;


Falls dein Suchstring über mehr als zwei Textfelder geht, musst du evtl. noch eine dritten Datensatz einlesen.

Gruß, Fiddi

Re: Text suchen und ersetzen

7. Juli 2012 18:50

hallo fiddi,

von wegen "pseudo-navcode" - du hast mich total gerettet, mein chef denkt hier immer: geht nicht gibts nicht...

hat jetzt ein wenig länger gedauert, aber: danke danke danke!!!! :-P :-D

liebe grüße,
deine heidi