AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ordner datum ermittel

Ein Thema von SaFu · begonnen am 5. Jun 2007 · letzter Beitrag vom 7. Jun 2007
Antwort Antwort
Seite 2 von 3     12 3   
NicoDE
(Gast)

n/a Beiträge
 
#11

Re: ordner datum ermittel

  Alt 5. Jun 2007, 21:00
Ohne abschließendes '\' suchen, dann geht's auch.
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#12

Re: ordner datum ermittel

  Alt 5. Jun 2007, 22:21
wieso auch?
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: ordner datum ermittel

  Alt 5. Jun 2007, 22:49
Ok stimmt so gehts

aber bekomme ich jetzt nicht das datum zurück vom VertretungsplanOrdner

Delphi-Quellcode:
procedure TForm7.Button11Click(Sender: TObject);
begin
  datord:= GetDirDate((ExtractFilePath(ParamStr(0)))+'Vertretungspläne');
end;
Ich würde gerne alle Ordner auslessen im Verzeichniss unter dem vertretungsplanordner und sie dann verschieben lassen wenn sie kleiner sind als das aktuelle datum ungefähr so

Delphi-Quellcode:
 if (datord) <= (date) Then
begin
.
.
.
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: ordner datum ermittel

  Alt 6. Jun 2007, 07:18
Guten Morgen Sascha,

vielleicht liege ich ja falsch, aber aus dem, was ich von dir hier und an anderer Stelle gelesen habe, weiß ich, dass du in einem Ordner "Vertretungspläne" Unterordner anlegst, deren Namen aus einem Präfix "KW", der Kalenderwoche und der Jahreszahl gebildet werden.

Eine kleine Änderung der Bildungsregel für die Ordnernamen wäre hilfreich: Verbaue zuerst die Jahreszahl und dann die Kalenderwoche und achte auf führende Nullen:

Delphi-Quellcode:
function GetFolderName(dt: TDateTime): string;
begin
  Result := Format('KW%.4d%.2d', [YearOf(dt), WeekOfTheYear(dt)]);
end;
So kannst du die Ordnernamen über einen String-Sort chronologisch sortieren. Hole dir die Unterordner einfach in eine StringList:

Delphi-Quellcode:
procedure GetSubFolders(folder: string; s: TStrings);
var
  sr: TSearchRec;
begin
  folder := IncludeTrailingPathDelimiter(folder);
  if FindFirst(folder + '*.*', faDirectory, sr) = 0 then
  try
    repeat
      if (sr.Name = '.') or (sr.Name = '..') then
        Continue
      else
      if (sr.Attr and faDirectory) = faDirectory then
        s.Add(sr.Name);
    until FindNext(sr) <> 0;
  finally
    FindClose(sr);
  end;
end;

// ...

const
  BASE_FOLDER = 'C:\Daten\Vertretungspläne';
var
  fn: TFileName;
  folders: TStringList;
begin
  folders := TStringList.Create;
  GetSubFolders(BASE_FOLDER, folders);
  folders.Sort;
  // ...
end;
Jetzt kannst du einfach durch die Liste iterieren und alles, was zu alt ist, verschieben. Wozu brauchst du das Datum der Ordner aus dem Dateisystem, wenn es bereits im Ordnernamen enthalten ist? Wenn aber doch, dann bedenke, dass es dort ein CreationDate und ein LastWriteDate gibt.

Alles nur getippt und nicht getestet.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: ordner datum ermittel

  Alt 6. Jun 2007, 14:06
Ja genau das habe ich vor ich lasse mir die Ordner in einem ShellTreeView anzeigen, und alle die älter sind als die Aktuelle KW werden verschoben.

Zitat:

Wozu brauchst du das Datum der Ordner aus dem Dateisystem, wenn es bereits im Ordnernamen enthalten ist?

Ich Habe halt gedacht es wäre einfacher darüber weil ich ja die Ordner vergleichen wollte und hätte somit anstatt einen String mit einem Integer einen Integer mit integer verglichen?

Aberr w enn es so geht soll es mir auch recht sein muss mich halt nur jetzt etwas reinarbeiten um das ganze auch zu verstehn.

Zitat:
Verbaue zuerst die Jahreszahl und dann die Kalenderwoche und achte auf führende Nullen:
Ja das ist mir auch aufgefallen wenn ich nämlich einen ordner erstelle mit 2008 und der KW2 und es existiert ein Ordner mit 2007 KW2 ist es nicht mehr nach jahren geordnet.


Wie gesagt werde mir das von dir mal genau anschauen
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#16

Re: ordner datum ermittel

  Alt 6. Jun 2007, 14:24
Also wenn ich erhlich bin verstehe ich den code nicht ganz
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: ordner datum ermittel

  Alt 6. Jun 2007, 14:30
Hab noch mal eine genauere Version erstellt.
Delphi-Quellcode:
type TZeit = (zCreation, zLastAccess, zLastWrite); //Erstellt, letzter Zugriff, letzte Änderung

function GetDirDate(const s: string;Zeit: TZeit = zCreation): TDateTime;
var Data: TWin32FindData;
    sTime: TSystemTime;
    h: THandle;
begin
  Result := 0;
  ZeroMemory(@Data,SizeOf(Data));
  h := FindFirstFile(PChar(s),Data);
  if h <> INVALID_HANDLE_VALUE then
    begin
      if (Data.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) > 0 then
        begin
          case Zeit of
            zCreation : FileTimeToSystemTime(Data.ftCreationTime,sTime);
            zLastAccess: FileTimeToSystemTime(Data.ftLastAccessTime,sTime);
            zLastWrite : FileTimeToSystemTime(Data.ftLastWriteTime,sTime);
          end;
          Result := SystemTimeToDateTime(sTime);
        end;
    end;
  Windows.FindClose(h);
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#18

Re: ordner datum ermittel

  Alt 7. Jun 2007, 20:32
Hi

Jetzt bin ich total verwirt welcher code macht was, welcher ist besser und wie gehe ich mit dem um, um ein brauchbares ergebnis zu erziehlen

sorry das ich so bescheuert frage kannmir nicht einer den Code erklären??
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#19

Re: ordner datum ermittel

  Alt 7. Jun 2007, 20:47
Hallo Sascha,

du schreibst, dass du meinen Code nicht ganz verstehst. Was genau bereitet dir Schwierigkeiten?

Hast du dich denn inzwischen entschieden, ob du die Zeitangaben aus dem Ordnernamen zurückgewinnen oder doch lieber auf den Zeitstempel des Dateisystem zurückgreifen möchtest?

Grüße nach Bad Offenbach
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#20

Re: ordner datum ermittel

  Alt 7. Jun 2007, 20:55
Also Praktischer wäre natürlich denn zeitstempel dem ich den Ordner selber gebe wie du ja bereits erwähnt hast(wenn es einfacher ist).

naja ich weis nicht genau wie ich das anwenden soll.

Es nutzt mir auch teilweise nichts wenn ich was kopiere und es dann nichteinmal versteh das meiste wissen was ich über delphi habe, habe ich hier im forum gelernt.

kann man das nicht einfacher gestallten das man alle Ordner in dem Shelltreeview die einen kleinere KW alls das aktuelle datum einfach verschiebt oder muss das so "aufwendig" sein
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:13 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