Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 12 von 12

Thema: Ansatz zum löschen der Dateien nach einer bestimmten Zeitspanne

  1. #11
    lawkan ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.07.2014
    Beiträge
    18
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    also der Ansatz mit den Dir-Methoden war super, ich habs ausprobiert und es läuft super. Vielen Dank Harald.

    ich hab mir einen Array mit einer bestimmten Anzahl von strings definiert. und dann frag ich den Verzeichnis nach allen Dateien ab und liste sie in dem Array. im nächsten Schritt lese ich das Erstelldatum jede einzelne Datei und wenn die Zeit überschritten ist lösche ich die Datei.

    also vielen Dank an allen die sich hier mühe gegeben haben und geholfen haben.

  2. #12
    lawkan ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.07.2014
    Beiträge
    18
    Danke
    7
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Code:
    Deklaration:
    	(* Nach Datei suchen *)
    	dwDirHandle			: DWORD;
    	uRetRead				: UDINT;
    	DirInfo				: DIRECTORY_INFO;
    	Datei_Liste				: ARRAY [1..100] OF STRING;
    
    stDirEintrag : STRING;
    stDirName : STRING; pos : INT := 1; j : INT; (* Datei Löschen *) Fzeit : FILETIME; FTP_Zeit : DT; FileErstellZeit : DT; ist_FileGeloescht : BOOL; Code: IF Delete_aktiv THEN pos := 1; (* Laufvariable initialisieren *)
    dwDirHandle := SysDirOpen('S:\PLC\');
    IF dwDirHandle <> 0 THEN
    uRetRead := SysDirRead(hDir:= dwDirHandle, stDirEntry:= stDirEintrag, pDirInfo:= ADR(DirInfo));
    WHILE uRetRead <> 0 DO
    (* Suche nur nach csv-Dateien *)
    IF NOT DirInfo.bDirectory THEN
    IF FINDP(stDirEintrag,'.csv',1)<>0 OR FINDP(stDirEintrag,'.CSV',1)<>0 THEN
    Datei_Liste[pos] := stDirEintrag;
    pos := pos + 1;
    END_IF
    END_IF
    uRetRead := SysDirRead(hDir:= dwDirHandle, stDirEntry:= stDirEintrag, pDirInfo:= ADR(DirInfo));
    END_WHILE
    dwDirHandle := 0;
    END_IF
    FOR j:=1 TO pos-1 DO
    FTP_Zeit := SysRtcGetTime(TRUE); (* Systemzeit ermitteln *)
    IF SysFileGetTime(FileName:= Datei_Liste[j], ftFileTime:= ADR(Fzeit)) THEN
    FileErstellZeit := Fzeit.dtCreation;
    END_IF
    IF ABS(DAYS_DELTA(DT_TO_DATE(FTP_Zeit), DT_TO_DATE(FileErstellZeit))) >= FTP_FileZeitIntervall THEN
    ist_FileGeloescht := SysFileDelete(FileName:= Datei_Liste[j]);
    END_IF
    END_FOR
    END_IF

  3. Folgender Benutzer sagt Danke zu lawkan für den nützlichen Beitrag:

    PN/DP (05.11.2014)

Ähnliche Themen

  1. Antworten: 17
    Letzter Beitrag: 14.10.2014, 18:10
  2. MP370 15Zoll Touch; CF Dateien löschen
    Von themenstarter234 im Forum HMI
    Antworten: 3
    Letzter Beitrag: 01.04.2014, 08:08
  3. Daten auf der SD-Karte nach 30 Tagen löschen
    Von ukemnitz im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 12.04.2012, 11:13
  4. String ab bestimmten Zeichen löschen
    Von Roos im Forum Hochsprachen - OPC
    Antworten: 6
    Letzter Beitrag: 01.07.2011, 17:17
  5. flexible - Fehler nach Löschen der TEMP
    Von s.kraut im Forum HMI
    Antworten: 2
    Letzter Beitrag: 19.02.2009, 12:47

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •