2. Juni 2010 16:51
2. Juni 2010 17:18
File.RESET;
File.SETRANGE(Path,SaleSetup."Dateiverzeichnis Import"); // hier Ordnerpfad
File.SETRANGE("Is a file",TRUE); // muss
File.SETFILTER(Name,'*.txt'); // kann
IF File.FINDSET THEN
REPEAT
// v
UNTIL File.NEXT = 0;
9. Juni 2010 15:03
16. Juni 2010 14:09
11. August 2010 11:49
Kowa hat geschrieben:Bei UNC Netzwerkpfaden ( \\Server\Ordner\) steht aber gar nichts in der Tabelle.
25. August 2010 16:33
IF ISSERVICETIER THEN BEGIN
ImportFolder := <Import-Ordner>;
IF ISCLEAR(FileSystemObject) THEN
CREATE(FileSystemObject,FALSE,TRUE);
IF NOT FileSystemObject.FolderExists(ImportFolder) THEN BEGIN
MESSAGE(<Text:Isnixda>,ImportFolder);
CLEAR(FileSystemObject);
EXIT;
END;
IF ISCLEAR(FilesDict) THEN
CREATE(FilesDict,FALSE,TRUE);
IF ISCLEAR(ScriptControl) THEN
CREATE(ScriptControl,FALSE,TRUE);
WSHFolder := FileSystemObject.GetFolder(ImportFolder);
WSHFiles := WSHFolder.Files;
ScriptControl.Language := 'VBScript';
ScriptControl.AddObject('FilesByName',WSHFiles);
ScriptControl.AddObject('FilesById',FilesDict);
txtCR := '';
txtCR[1] := 13;
txtCode :=
'dim f1' + txtCR +
' For Each f1 in FilesByName' + txtCR +
' FilesById.Add (FilesById.Count+1), f1' + txtCR +
' Next' + txtCR;
ScriptControl.AddCode(txtCode);
txtCode :=
'function GetItem(i)' + txtCR +
' GetItem = FilesById(i)' + txtCR +
'end function' + txtCR;
ScriptControl.AddCode(txtCode);
ScriptControl.ExecuteStatement(txtCode);
FOR i := 1 TO WSHFiles.Count DO BEGIN
ImportFileName := ScriptControl.Eval('GetItem(' + FORMAT(i) + ')');
ImportFileName := UPPERCASE(ImportFileName);
FileName := DELCHR(ImportFileName,'<');
WHILE STRPOS(FileName,'\') <> 0 DO
FileName := COPYSTR(FileName,STRPOS(FileName,'\') + 1);
<Datei vielleicht noch abfiltern (z. B. anhand der Endung), ob sie bearbeitet werden soll oder nicht>
<Irgendwas mit der Datei machen>
…
END;
…
END;
CLEAR(FilesDict);
CLEAR(FileSystemObject);
CLEAR(ScriptControl);
END ELSE BEGIN
...
21. Februar 2012 10:44