tail funktion in einer dos konsole gesucht



  • Hallo AJ,

    vilen Dank für deinen Lösungsweg.
    Das wehre aufjedenfall ne gute Idee und ein ansatz.

    Ich habe mir auch ein wenig gedanken gemacht.
    Wie sieht es zum Beispiel aus, wenn in einer Enlosschleiffe ich mir immer das Datum der Datei ansehe, und wenn es sich geändert hat, lese letzten Datensatz aus der Datei ??
    Könnte allerdings sein, dass dann die Prozesorleistung auf 100% schnellt.

    Ich benötige halt immernoch so ein art live ticker...
    Deinen Ansatz werde ich mir dann gleich mal zu gemüte ziehen....

    Gruß
    Marc



  • Richtig, dass würde die Prozessorleistung auf 100% schnellen und das ständig. Das ist also keine so gute Idee. Das mit dem Datum ist schon eine gute Idee. Ich würde es allerdings nur alle paar Sekunden oder so abfragen. Während der Leerlaufzeit kann dein Programm ja andere Sachen machen, die es hald machen soll oder du lässt es einfach "schlafen" mit Sleep(). Das verursacht keine ständige Auslastung des Prozessors. Eigentlich brauchst du deine Schleife nur um Sleep() ergänzen. Musst hald selbst entscheiden wie oft das Datum abgefragt werden soll. Um so öffter, um so mehr Prozessorauslastung natürlich ;). Der Parameter für Sleep() ist eine Zeitangabe in Millisekunden und du brauchst die windows.h

    So und nun viel Spaß und Erfolg 🙂



  • jetzt muß ich dann doch noch einmal fragen.

    Wie frage ich den eigentlich dass Datum einer Datei ab ??

    Gruß
    andy_mann



  • Gute Frage. Ich weiß, dass es geht, nur weiß ich leider die Funktion nicht auswendig. Ich schau mal ob ich was finde...



  • Also ich hab jetzt schon mal eine Lösung für DOS bzw. für ältere Compiler gefunden:

    http://www.digitalmars.com/rtl/dos.html#_dos_getftime

    und noch ein Link

    http://www.delorie.com/djgpp/doc/libc/libc_369.html

    und noch einer für Win32

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getfiletime.asp
    (nicht vergessen die windows.h zu includieren!)

    Ich hoffe das reicht 😃



  • Hallo AJ,

    vilen Dank für die Infos.

    Hier fängt jetzt dann immer mein Problem an.
    Ich bekomme es einfach nicht gebacken, wie ich diese Funktion anwenden soll.

    Wenn ich GetFileTime(meinFile); eingebe kommt, function does not take 1 parameters.

    Wobei ich jetzt nicht weis ob er den Pfad oder den Inhalt der Datei benötigt ??

    Gruß
    andy_mann



  • Schau dir nochmal die Syntax an von GetFileTime(). Du hast da 4 Parameter und der 1. ist nicht der Pfad zu deiner Datei sondern ein handle, d. h. du musst erst ein handle öffnen. Ich glaub mit OpenFile() oder so bekommst du das handle. Such einfach selber mal in der MSDN (3. Link ;))



  • ich gebe dann langsam auf......

    ich drehe mich immer im kreis.

    meine Funktion:

    string filedatum(string u_file)
    {
    ifstream inputfile;
    string dasDatum;
    FILETIME ftAccess;

    inputfile.open(u_file.c_str());
    dasDatum = GetFileTime(inputfile, NULL, ftAccess, NULL);
    return dasDatum;
    }

    Bitte nicht auslachen, was besseres bringe ich momentan nicht hin 😡

    gruß
    andy_mann



  • Macht nichts, ist schon ganz gut so, nur musst du jetzt anstatt deiner Klasse ifstream inputfile ein Handle als 1. Parameter angeben. Leider kenn ich mich mit ifstream nicht gut genug aus, dass ich dir da konkret weiterhelfen kann. Möglicherweise enthält ifstream aber eine Methode, mit der du das Handle zur Datei bekommst oder du musst die Datei auf eine andere Weise öffnen mit der du gleich das handle bekommst. Unter ANSI-C muss man die Datei, glaub ich mit open() öffnen. Stellt sich nur die Frage ob das zurückgelieferte Handle von open() dem Handle entspricht, das GetFileTime() braucht. Sorry, dass ich dir nicht besser helfen kann.

    Leider hab ich auch momentan nichts da, womit ich es probieren könnte. Seit Ende Oktober muss ich mich mit meinem ganz alten Computer rumschlagen, weil mein neuerer nicht mehr funktioniert und der Hersteller es patout nicht zustande bringt ihn zu richten oder gar zu ersetzen. 😡

    Wenn du allein nicht mehr weiter kommst, dann frag am besten mal im C++-Forum nach. Die könnten wissen welche Klasse und Methode man braucht für das Handle.



  • Hallo AJ,

    ich danke Dir trotzdem.
    Ich werde es mal im c++ Forum probierenn.
    Das mit dem HANDLE ist mir nicht ganz klar.

    Viel Glück noch mit dem PC.
    Nicht unter kriegen lassn.

    Gruß
    andy_mann


Anmelden zum Antworten