[Gelöst] Daten fortlaufen in Datei schreiben

Bild Microsoft Dynamics NAV 3.xx
(ehem. Navision Attain)

[Gelöst] Daten fortlaufen in Datei schreiben

Beitragvon winkelsbr » 14. Januar 2010 09:20

Guten Morgen,

ich möchte verschiedene Daten in eine Textdatei forlaufend schreiben!

Code: Alles auswählen
umbruch := STRSUBSTNO('%1%2',CR,LF); // CR und LF sind als CHAR-Variable 10 und 13 deklariert

Datei.OPEN(ExportPathFile);
Datei.WRITE(Daten);
Datei.WRITE(umbruch);
Datei.CLOSE;


Soweit funktioniert das auch. Wenn ich jedoch erneut die Funktion aufrufe, wird die bestehende Zeile einfach ĂĽberschrieben und
nicht wie gewünscht "angehängt".

Danke vorab fĂĽr Eure Hilfe

GruĂź Wolfgang
Zuletzt geändert von winkelsbr am 14. Januar 2010 10:53, insgesamt 1-mal geändert.
Benutzeravatar
winkelsbr
 
Beiträge: 98
Registriert: 22. Januar 2008 17:11
Wohnort: Saarland
Realer Name: Wolfgang
Arbeitsort: Saarland
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.6

Re: Daten fortlaufen in Datei schreiben

Beitragvon mikka » 14. Januar 2010 09:38

Wenn TEXTMODE = TRUE ist, wird ein CR/LF automatisch angehängt (wenn TRUE), oder soll immer eine Leerzeile eingefügt werden?
Versuche es mit Datei.TEXTMODE(TRUE) und den Umbruch weglassen, ob dann die Daten "sauber" geschrieben werden.

Meinst du mit fortlaufend Scheiben, das pro DS eine Zeile geschrieben wird, oder das die Daten imer an die letzte Zeile fortlaufend angehängt werden (quasie Endlos)?
Wenn endlos, mĂĽsste mit POS(-2) immer zwei Zeichen zurĂĽckgegangen werden
z.B. Datei.SEEK(Datei.POS-2);

Sie auch die Befehle zu FILE in der Onlinehilfe.
GruĂź, Mikka

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
mikka
Microsoft Partner
Microsoft Partner
 
Beiträge: 1832
Registriert: 26. September 2005 11:54
Wohnort: Bremen
Realer Name: Michael
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.7, 4, 5, 2009/13/15

Re: Daten fortlaufen in Datei schreiben

Beitragvon winkelsbr » 14. Januar 2010 10:09

Hallo Mikka,

hier mal der komplette Code:
Code: Alles auswählen
Dateiname := 'test.txt';

ExportPathFile := FiBuEinrichtung."PfadControlling" + Dateiname;


OutputString := Rec_Kreditor."Nr." + ';' + Rec_Kreditor. Name + ';' + Rec_Kreditor."Name 2" +';' +
                Rec_Kreditor.Suchbegriff + ';' + Rec_Kreditor."USt-IdNr." + ';' + Rec_Kreditor.Adresse +
                ';' + Rec_Kreditor."PLZ Code" + ';' + Rec_Kreditor.Ort + ';' +
                Rec_Kreditor."Telefonnr." + ';' + Rec_Kreditor."Faxnr.";

OutputString := Ascii2Ansi(OutputString); //Ascii2Ansi => Ăśbersetzungsfunktion


Laenge := STRLEN(OutputString);
OutputString2 := COPYSTR(OutputString,1,Laenge);

Datei.TEXTMODE(TRUE);

IF NOT EXISTS(ExportPathFile) THEN BEGIN
   Datei.CREATE(ExportPathFile);
END ELSE BEGIN
   Datei.OPEN(ExportPathFile);

END;

Datei.WRITE(OutputString2);
Datei.CLOSE;


Der Code wird ĂĽber eine Codeunit aufgerufen. Teils manuell und teils automatisiert.
Die Zeilen sollen untereinander geschrieben werden.

GruĂź
Wolfgang
Benutzeravatar
winkelsbr
 
Beiträge: 98
Registriert: 22. Januar 2008 17:11
Wohnort: Saarland
Realer Name: Wolfgang
Arbeitsort: Saarland
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.6

Re: Daten fortlaufen in Datei schreiben

Beitragvon McClane » 14. Januar 2010 10:20

Ich denke, da fehlt vorab ein Datei.seek(Datei.Len), um den Curosr ans Ende zu stellen.

Btw:
winkelsbr hat geschrieben:
Code: Alles auswählen
Laenge := STRLEN(OutputString);
OutputString2 := COPYSTR(OutputString,1,Laenge);

Wozu soll das gut sein? :wink:

Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
McClane
Moderator
Moderator
 
Beiträge: 3864
Registriert: 2. April 2008 10:00
Realer Name: Stefan
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2009, 2016

Re: Daten fortlaufen in Datei schreiben

Beitragvon winkelsbr » 14. Januar 2010 10:53

Hallo McClane,

der Codeschnipsel
Code: Alles auswählen
Laenge := STRLEN(OutputString);
OutputString2 := COPYSTR(OutputString,1,Laenge);

stammt aus einer anderen Fuktion.

Dein Hinweis mit SEEK, war die Lösung.

Dank Dir

GruĂź
Wolfgang
Grüße aus dem schönen Saarland
Wolfgang
Benutzeravatar
winkelsbr
 
Beiträge: 98
Registriert: 22. Januar 2008 17:11
Wohnort: Saarland
Realer Name: Wolfgang
Arbeitsort: Saarland
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 2.6, 3.6


ZurĂĽck zu NAV 3.xx

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast