Datumsanzeige



  • Hallo,
    mit dem nachfolgenden Code fülle ich meine ListBox mit den Dateinamen, die sich im angegebenen Pfad befinden (ch1)

    HANDLE fHandle;
    WIN32_FIND_DATA wfd;
    
    fHandle=FindFirstFile(ch1,&wfd);
    do
    {
    
        if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' &&               wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) ))
        {
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            {
    
                // Hier könnte man dasselbe nochmal machen, um auch die
                // Unterverzeichnisse zu scannen ;-)
    
            }
            else
            {
                //ListBox wird mit den Dateinamen gefüllt
                ListBox1->Items->Add(wfd.cFileName);
                //hier sollen weitere Dateiinformationen folgen      
            }
    
        }
    }
    
    while (FindNextFile(fHandle,&wfd));
    FindClose(fHandle);
    
          int Zahle = ListBox1->Items->Count;
    
            if(Zahle >0)
              {
              ListBox1->Visible = true;
    
              }
              else
              {
              Beep();
              ErrorBoxText = "Es sind keine Einträge vorhanden !";
              //Hier wird die ErrorBox Routine aufgerufen
              ErrorBox();
              }
    

    Ich arbeite mit dem Borland C++ Builder 6 auf WIN 2000.

    Meine Frage:
    ich möchte die in wfd.dwFileAttributes sich befindenden Dateiinformationen wie z.B LastWriteTime, LastAccessTime, etc. auslesen und in einem AnsiString (Label) mit dem Format dd🇲🇲yyyy anzeigen. Alle Versuche schlugen bisher fehl.

    Wer kann hier helfen ?????

    mfg

    Mod-Edit: Bitte die Code-Tags verwenden.



  • Vermutlich bist du noch auf der Suche nach FileTimeToSystemTime.
    Wahrscheinlich wird dir schon das weitere Vorgehen ersichtlich werden, wenn du die SYSTEMTIME-Struktur siehst.
    Wie das mit dm Borland-Compiler und dem AnsiString geht, weiß ich nicht, ein sonst übliches Vorgehen wäre es, eine Klasse alles machen zu lassen:

    class SysTime
    {
    public:
    	SysTime(const SYSTEMTIME& s) : mt(s) {}
    	friend ostream& operator<<(ostream& o, const SysTime& stime);
    private:
    	SYSTEMTIME mt;
    };
    

    und dann mittels des <<-operators bspw. in einen std::stringstream zu schreiben.

    Edit: Ich habe den operator << nur deklariert, da ich mir gut vorstellen kann, dass du it dem BC++ (richtig abgekürzt ?) auch andere, vielleicht geschicktere (?) Wege gehen kannst.



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum VCL (C++ Builder) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten