[gelöst] 400SP2: Probleme mit Ordnern aus Navision

5. Dezember 2007 17:23

Hallo liebe Forengemeinde,

ich habe mal eine kurze Frage:
Ich möchte aus Navision heraus abtesten ob ein Ordner gefüllt ist oder ob er leer ist.
Leider gibt es ja Tausende von Automations und ich habe bisher bei solchen Sachen immer nur mit FileSystemObject aus "Microsoft Scripting Runtime" gearbeitet.
Vielleicht kann mir ja jemand sagen mit welcher Automation ich das abbilden kann.

Danke schonmal im voraus.
Steev
Zuletzt geändert von Steev am 10. Dezember 2007 14:53, insgesamt 1-mal geändert.

5. Dezember 2007 17:45

Hier einer meiner kläglichen Versuche:
vieleicht kann mir dann jemand Helfen.

DirectoryAutomation = Automation = 'Microsoft Scripting Runtime'.File

Code:
IF NOT VARIABLEACTIVE(DirectoryAutomation) THEN CREATE(DirectoryAutomation);
IF DirectoryAutomation.Size.ISINTEGER THEN BEGIN
  EVALUATE(temp, DirectoryAutomation.Size);
  IF temp<>0 THEN
    hasposDir := TRUE;
END;

6. Dezember 2007 13:14

Hast Du es schon mal mit der virtuellen Tabelle File probiert?

10. Dezember 2007 12:59

Ja, ich habe es schon mit der Tabelle File probiert. Das Problem ist warscheinlich das ich gucken will ob etwas in einem Ordner drin ist oder nicht.
Dazu habe ich einen Filter mit dem Pfad des Ordners auf die Tabelle File gesetzt. Er findet zwar den Ordner und gibt das Erstellungsdatum an, die Attribute Data und Size bleiben allerdings leer.

Ich hoffe mir kann jemand helfen da es jetzt eilt weil der Kunde die Anpassung haben will.

10. Dezember 2007 14:52

Vergesst es. Ich habe es selber hinbekommen.

@MrBurns Danke für deine Antwort

10. Dezember 2007 15:07

Hier der Quellcode.

Code:
// hk : Char
// FileSystemObject : Automation : 'Microsoft Scripting Runtime'.FileSystemObject
// TFile : Record : File
// isEmpty : Boolean
hk := 39;
isEmpty := TRUE;
aktPath := getAktPath(getAktPos());
IF NOT VARIABLEACTIVE(FileSystemObject) THEN CREATE(FileSystemObject);
IF FileSystemObject.FolderExists( aktPath ) THEN BEGIN
  TFile.INIT;
  TFile.SETRANGE( Path, aktPath );
  TFile.SETFILTER( Name, STRSUBSTNO('<>.&<>%1..%1',hk) );
  IF TFile.FIND('-') THEN
    isEmpty := FALSE;
END;