[Gelöst] Fehlermeldung (87) bei TIME

8. Juli 2010 16:48

Hallo!

Relativ simples Konzept: Dataport soll mit Echtzeit als Name ausgegeben werden.

Code:
StrFilename := STRSUBSTNO('csv-%1.txt',TODAY);
CurrDataport.FILENAME(StrFilename);

funktioniert tadellos!
-----

Code:
StrFilename := STRSUBSTNO('csv-%1-%2.txt',TODAY,TIME);
CurrDataport.FILENAME(StrFilename);

kommt die Fehlermeldung, die meldet:
Das Betriebssystem hat Fehlermeldung (87) ausgegeben: Falscher Parameter.

Nach 87 gegoogelt, Lösung offen. Es liegt an der TIME-Function, das steht wohl fest.
Zuletzt geändert von tortelinski am 8. Juli 2010 17:05, insgesamt 1-mal geändert.

Re: Fehlermeldung (87) bei TIME

8. Juli 2010 16:57

Das liegt wohl eher an den Doppelpunkten in der Ausgabe von Time. Doppelpunkte in Dateinamen verträgt Windows nicht.

Re: Fehlermeldung (87) bei TIME

8. Juli 2010 17:04

Danke, jetzt ist es klar, dann muss ich die TIME umformatieren.

Habe mich für folgende Lösung entschieden, erst aus dem Datum alle ":" und "." und Leerzeichen gefeuert ein "-" reingebaut, Fileendung dran. Und es tut.

Code:
StrFilename := STRSUBSTNO('csv1-%1',CURRENTDATETIME);
StrFilename := CONVERTSTR(StrFilename,':. ','---');
StrFilename := STRSUBSTNO('%1.txt',StrFilename);
CurrDataport.FILENAME(StrFilename);


Nehme aber gerne Kritik entgegen ob es guter Stil ist und vor allem die eine Variable ständig zu überschreiben.

Re: [Gelöst] Fehlermeldung (87) bei TIME

9. Juli 2010 14:07

Naja, man hätte es mit Format in einer Zeile lösen und den Filenamen so anlegen können, dass sie im Ordner chronologisch untereinander stehen, ohne die Sortierung auf Datum umstellen zu müssen, aber gegen die Sache mit der einen Variable ist nichts einzuwenden.