Prüfung ob Datei existiert



  • Habe folgendes Code:

    CFile fDatei;
    CString sKodHtml;
    
    //... hier generierung sKodHtml
    
    fDatei.Open("C:\\Datei.html", CFile::modeCreate | CFile::modeWrite);
    fDatei.Write(sKodHtml, sKodHtml.GetLength());
    fDatei.Close();
    
    m_web.Navigate("C:\\Datei.html",0,0,0,0);
    

    Problem ist, bei grossen "sKodHtml" ist die Schreibprocedur "fDatei.Write" noch nicht fertig und die m_web.Navigate zeigte Fehler dass die Datei "Datei.html" nicht gefunden wurde... 😞
    Jetzt möchte ich gerne dazwischen eine do-while schleife einsetzen die mir die ganze aktion so lange anhält bist diese Datei volständigt auf der Festplatte geschrieben wird...

    CFile fDatei;
    CString sKodHtml;
    
    //... hier generierung sKodHtml
    
    fDatei.Open("C:\\Datei.html", CFile::modeCreate | CFile::modeWrite);
    fDatei.Write(sKodHtml, sKodHtml.GetLength());
    fDatei.Close();
    
    do
    {
    }while(......  ??? )
    
    m_web.Navigate("C:\\Datei.html",0,0,0,0);
    

    aber... ich weiss es leider nicht wie 😕
    Kann mir jemmand helfen

    Danke in Voraus
    Adam 🙂



  • Hast du schonmal versucht die Datei zu flushen? ^^



  • ujjj.... keine Ahnung wo soll ich anfangen.... 😕
    Vielleicht einen kleinen Beispiel....

    Danke



  • vieleicht so

    CFile fDatei;
    CString sKodHtml;
    
    //... hier generierung sKodHtml
    
    fDatei.Open("C:\\Datei.html", CFile::modeCreate | CFile::modeWrite);
    fDatei.Write(sKodHtml, sKodHtml.GetLength());
    fDatei.Flush();
    fDatei.Close();
    
    m_web.Navigate("C:\\Datei.html",0,0,0,0);
    

    http://msdn.microsoft.com/en-us/library/3d65ch27(VS.80).aspx

    findest du alles was man mit CFile machen kann



  • Erlich zu sagen weiss ich nicht wie die "Flusch" Funktion funktioniert und was die wierklich macht ABER in meien Beispiel löst die Problematik in etwa 99% und dass ist schon ein Erfolg !!!

    Danke für die Hilfe
    Adam 🙂



  • Vielleicht hat jemmand eine Idee wie man die Prblematik in 100% lösen kann ?

    Grüsse
    Adam 🙂



  • Flush schreibt die Daten sofort in das File, sonnst bleibt es erstmal im Cash bis zeit is das raus zu schreiben.

    Wieso sind das nur 99% abhilfe?

    Wobei, wenn du die Datei nicht unbedingt noch mal brauchst, kannst du doch auch die Daten in den internen browser direkt laden ohne ein File zu benutzen, die Mehthode dazu heisst glaub ich GetHtmlDocument, damit kannst du dann die seite direkt bearbeiten, oder daten einfügen. Anleitungen wirste sicher im netz dazu finden.


Anmelden zum Antworten