AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Prism Ordner auf Dateien überprüfen mit Timer
Thema durchsuchen
Ansicht
Themen-Optionen

Ordner auf Dateien überprüfen mit Timer

Ein Thema von ZeroQool007 · begonnen am 20. Mär 2006 · letzter Beitrag vom 21. Mär 2006
Antwort Antwort
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#1

Ordner auf Dateien überprüfen mit Timer

  Alt 20. Mär 2006, 09:18
Hallo, habe nichts über die Suchfunktion gefunden oder ich habe vllt die falschen Begriffe eingetrage. Ich hoffe ihr könnt mir helfen. Ich möchte das jede Sekunde ein bestimmter Pfad überprüft wird, ob sich darin eine neue Datei beeinhaltet. Bei D7 gab es eine Filelistbox aber bei D2006 habe ich nichts gefunden.
  Mit Zitat antworten Zitat
marlem

Registriert seit: 10. Mär 2006
59 Beiträge
 
Delphi 6 Personal
 
#2

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 20. Mär 2006, 10:12
nach dateien suchen geht generell findfirst.... findnext!
guckst du hier:
Delphi-Quellcode:
//Sucht nach der angegeben Dateimaske im Verzeichnis vom angegeben Pfad
//und gibt das Ergebnis in einer stringliste zurück.
//Beispielaufruf: ListeTemp := SearchFilesInDirectory(quellpfad+'\GBW*.*');

function SearchFilesInDirectory(mask: string): Tstringlist;
var
  search: TSearchRec;
  directory: string;
begin
  result := tstringlist.create;
  directory := ExtractFilePath(mask);
  // Alle Dateien im angegebenen Verzeichnis suchen
  if FindFirst(mask, $23, search) = 0 then
  begin
    repeat
    result.Add(directory + search.Name);
    until FindNext(search) <> 0;
  end;
end;
gruß und danke

Markus
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 20. Mär 2006, 10:22
Und falls du Klassen des .NET Frameworks nutzen möchtest schaut das ungefähr so aus (Aus der .NET Framework Hilfe)

Code:
using System;
using System.IO;

public class NameTest
{
    public static void Main()
    {
        // Create a reference to the current directory.
        DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory);
        // Create an array representing the files in the current directory.
        FileInfo[] fi = di.GetFiles();
        Console.WriteLine("The following files exist in the current directory:");
        // Print out the names of the files in the current directory.
        foreach (FileInfo fiTemp in fi)
            Console.WriteLine(fiTemp.Name);
    }
}
Musst du halt noch entsprechend in Delphi-Syntax bringen
  Mit Zitat antworten Zitat
ZeroQool007

Registriert seit: 30. Aug 2004
127 Beiträge
 
#4

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 20. Mär 2006, 12:30
@ marlem

thx....

Deine Funktion ist gut und sehr einleuchtend, aber wieso bekomme ich immer als Rückgabewert

Zitat:
Borland.Vcl.TStringList

Textbox1.text:= SearchFilesInDirectory('D:\Daten\Kunden\*.txt').ToString; das sollte doch so funktionieren, oder stehe ich gerade auf dem Schlauch???
  Mit Zitat antworten Zitat
marlem

Registriert seit: 10. Mär 2006
59 Beiträge
 
Delphi 6 Personal
 
#5

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 20. Mär 2006, 12:46
Zitat:
Textbox1.text
das ist ein string mein bester! du brauchst eine stringlist!!!

Delphi-Quellcode:
Var
VStrL : TStringlist;
begin
VStrL := TStringlist.create;
try
VStrL := SearchFilesInDirectory(quellpfad+'\GBW*.*');
....

finally
VStrL.destroy;
end;
end;
gruß und danke

Markus
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 21. Mär 2006, 07:24
Zitat von ZeroQool007:
Hallo, habe nichts über die Suchfunktion gefunden oder ich habe vllt die falschen Begriffe eingetrage. Ich hoffe ihr könnt mir helfen. Ich möchte das jede Sekunde ein bestimmter Pfad überprüft wird, ob sich darin eine neue Datei beeinhaltet. Bei D7 gab es eine Filelistbox aber bei D2006 habe ich nichts gefunden.
dieser Ansatz ist sehr ressourcen-fressend.
bei Windows gibt es eine Möglichkeit, sich benachrichtigen zu lassen, wenn sich Dateien in einem Verzeichnis ändern.
Dazu gibt es jede Menge Komponenten (DirMonitor, FolderMonitor, usw), musst halt mal bei torry.net suchen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Schrammel

Registriert seit: 21. Jan 2006
Ort: Koblenz
29 Beiträge
 
Delphi 2006 Architect
 
#7

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 21. Mär 2006, 11:21
Versuche es mal mit der .NET-Klasse 'System.IO.FileSystemWatcher'.

Ich habe auf Codeproject einen Artikel dazu gefunden:

http://www.codeproject.com/csharp/directorymirror.asp

Gruß

Stefan
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

Re: Ordner auf Dateien überprüfen mit Timer

  Alt 21. Mär 2006, 11:55
Kleiner Tip: Ich würde es in einem Thread programmieren, habe mit den Timern schon meine Erfahrungen gemacht...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz