[Gelöst] - Zeilenumbruche aus TXT löschen

13. Dezember 2006 14:00

Hi,
hoffe es kein mir jemand weiterhelfen. Und zwar möchte ich gerne beim Import die Zeilenumbrücke nicht mit aus der TXT in die DB schreiben.
So geht es leider nicht:

Code:
CONVERTSTR(equi.TextAnsiInASCII(Txt),'\n',' ');


Hat jemand ne Idee?

FR
Zuletzt geändert von roeming01 am 13. Dezember 2006 17:15, insgesamt 1-mal geändert.

13. Dezember 2006 14:08

Ich weiß jetzt gerade nicht, wie so ne Importdatei gefüllt ist, aber normalerweise wird der Zeilenumbruch in Navision mit "\" und nicht mit "\n" dargestellt....

Oder was genau klappt mit deinem Befehl nicht?

13. Dezember 2006 14:11

Du kannst den Text beim Importieren prüfen, ob dieser CHAR(13) enthält.

CHAR(13) steht für CR und CHAR(10) für LF

Schöne Grüße
Gerhard

13. Dezember 2006 14:13

Problem ist das ich Produktbeschreibungen importiere und in den produktbeschreibungen sind zeilenumbrüche enthalten. Diese Zeilenumbrüche möchte ich entfernen bevor ich die Daten in die Nav DB Schreibe.

Frederik

13. Dezember 2006 14:15

Wie würde der Code aussehen um CHAR(13) in einem String zu ersetzten?

FR

13. Dezember 2006 14:19

So (Beispiel):

Code:
CR := 13;
LF := 10;

TextCRLF := 'Hallo' + FORMAT(CR) + FORMAT(LF) + 'Welt';
MESSAGE(TextCRLF);

FOR i := 1 to STRLEN(TextCRLF) DO BEGIN
  IF NOT (TextCRLF[i] IN [CR, LF]) THEN
    NewText := NewText + FORMAT(TextCRLF[i]);
END;
MESSAGE(NewText);


P.S.: Bei einem normalen ASCII Zeilenumbruch werden i.d.R. CR (Carriage Return) und LF (Line Feed) verwendet.
Zuletzt geändert von stryk am 13. Dezember 2006 14:23, insgesamt 1-mal geändert.

13. Dezember 2006 14:21

Ich würde als ELSE-Teil noch ein
Code:
NewText += ' ';
hinzufügen.

13. Dezember 2006 17:14

Vielen Dank!

So geht es ...

FR