stdafx.h UND afxinet.h will nicht



  • Hallo Leute,

    mein Problem: Im Prinzip hab ich ein fertiges Code-Schnipsel welches den Quellcode einer Website downloaded und auf C speichert..dafür brauch ich allerdings die im Titel angeführten Lib!

    Die habe ich auch gefunden und hinzugefügt das Code:Blocks sie nicht erkannt hat.. nun zum Problem..beim Compil. stöst er immer wieder auf fehlende Lib, welche in stdafx und afxinet angeführt und included werden sollen. mühselig hab ich schon zig lib übers inet hinzugefügt nur es fehlen noch viele und die crtdbg.h findet er gar nicht, auch wenn ich sie hinzufüge... Nun zur Frage: Kennt wer vll ein fertiges Paket mit den zwei oben angeführten Lib inklusive aller Lib die diese benötigen ? Danke und LG



  • stdafx.h sind die vorcompilierten bibliotheken von visual studo. die kannst du nicht verwenden.

    einfach den Header entfernen.



  • otze schrieb:

    stdafx.h sind die vorcompilierten bibliotheken von visual studo. die kannst du nicht verwenden.

    einfach den Header entfernen.

    Danke für die schnelle Antwort.. trotzdem wirft er mir beim Comp. Fehler in dem Code-Schnipsel vor.. ich weiß, man sollte sich dass selber beibringen und ned irgendwas kopieren..aber da ich erst vor ner Woche angefangen habe und ich dass jetzt brauche ..habe ich die Funktion einfach mal übernommen..bei einem anderen im Forum, vonwo ichd as Schnipsel herhabe hats funktioniert..

    BOOL GetSourceHtml(CString theUrl)
    {
     // this first block does the actual work
     CInternetSession session;
     CInternetFile* file = NULL;
     try
     {
      // try to connect to the URL
      file = (CInternetFile*) session.OpenURL(theUrl);
     }
     catch (CInternetException* m_pException)
     {
      // set file to NULL if there's an error
      file = NULL;
      m_pException->Delete();
     }
    
     // most of the following deals with storing the html to a file
     CStdioFile dataStore;
    
     if (file)
     {
      CString somecode;
    
      BOOL bIsOk = dataStore.Open(_T("C:\\rawHtml.txt"),
                                  CFile::modeCreate
                                  | CFile::modeWrite
                                  | CFile::shareDenyWrite
                                  | CFile::typeText);
    
      if (!bIsOk)
       return FALSE;
    
      // continue fetching code until there is no more
      while (file->ReadString(somecode) != NULL)
      {
       dataStore.WriteString(somecode);
      }
    
      file->Close();
      delete file;
     }
     else
     {
      dataStore.WriteString(_T("Could not establish a connection with the server..."));
     }
    }
    

    Er sagt zB error: BOOL does not name a type.. Danach sind dass für mich nur typische Alarme, welche dahergehen..dass er die Funktion nicht erkennt. LG Mike



  • #include <Windows.h>
    


  • nwp3 schrieb:

    #include <Windows.h>
    

    hallo nwp3,

    es funktioniert trotzdem nicht.. ich rufe in der main Funktion die Funktion dann zB so auf: GetSourceHtml(_T("http://www.google.at")); und er gibt mir wieder Errors.
    Muss ich nicht sonst noch irgendwas in der Funktion ändern zB

    BOOL GetSourceHtml(CString theUrl)
    

    Das ist doch keine normale Variablendeklaration zur Variablenübergabe.. Hab das theUrl weggenommen dann sagt er mir error:
    CInternetSession session - first use in this function.. also erkennt er sie nicht..

    kann mir wer helfen..ich will einfach nur eine website downloaden..ob in ein textfile oder in ein STring ist mir egal... brauche nur das funktionierende Codeschnipsel dafür. Danke !!



  • Hallo,

    der Code ist für MFC, d.h. ich glaube kaum, daß es diese Lib für Code:Blocks gibt.

    P.S: Probiere mal die Funktion URLDownloadToFile aus.
    Unter http://stackoverflow.com/questions/18361328/download-file-to-temp-dir-in-c gibt es ein Beispiel für die Benutzung (auch hier <windows.h> includen und evtl. händisch urlmon.lib dem Linker mitgeben).



  • Th69 schrieb:

    Hallo,

    der Code ist für MFC, d.h. ich glaube kaum, daß es diese Lib für Code:Blocks gibt.

    P.S: Probiere mal die Funktion URLDownloadToFile aus.
    Unter http://stackoverflow.com/questions/18361328/download-file-to-temp-dir-in-c gibt es ein Beispiel für die Benutzung (auch hier <windows.h> includen und evtl. händisch urlmon.lib dem Linker mitgeben).

    Hallo, dass mit urlmon.h hatte ich auch schon..da hatte er dann auch etliche Lib nicht erkannt... und wie kann ich die urlmon.lib händisch hinzufügen lg mike



  • Th69 schrieb:

    Hallo,

    der Code ist für MFC, d.h. ich glaube kaum, daß es diese Lib für Code:Blocks gibt.

    P.S: Probiere mal die Funktion URLDownloadToFile aus.
    Unter http://stackoverflow.com/questions/18361328/download-file-to-temp-dir-in-c gibt es ein Beispiel für die Benutzung (auch hier <windows.h> includen und evtl. händisch urlmon.lib dem Linker mitgeben).

    Hallo, dass mit urlmon.h hatte ich auch schon..da hatte er dann auch etliche lib (in form von xxx.h) nicht erkannt... und wie kann ich die urlmon.lib händisch hinzufügen lg mike



  • Ich glaube,du bist noch nicht weit genug für sowas.



  • otze schrieb:

    Ich glaube,du bist noch nicht weit genug für sowas.

    Bin ich sicher nicht otze ! Aber ich wüerde das jetzt gern Umsetzen..alles andere habe ich schon geschrieben mir fehlt nur dieser Teil und ich wollt mich jetzt ned 4 Wochen einlesen für etwas was ich jetzt brauche, vll verstehst du das. LG Mike



  • Niemand eine Idee? LG Mike



  • So wie ich das einschätze ist das nicht soooo kompliziert. Schau dir mal die Internet Funktionen der Windows API an:

    InternetOpen , InternetOpenUrl , InternetReadFile und InternetCloseHandle



  • DocShoe schrieb:

    So wie ich das einschätze ist das nicht soooo kompliziert. Schau dir mal die Internet Funktionen der Windows API an:

    InternetOpen , InternetOpenUrl , InternetReadFile und InternetCloseHandle

    Dafür brauch ich aber Visual Studio richtig ? LG Mike Habe ich nicht.. hab derzeit nur Code:Blocks und keine guten Erfahrungen mich Visual Studio downloads



  • Nee, geht auch mit Code::Blocks.
    Enfach windows.h includen - oder einen anderen Header, in dem die drinstehen.



  • Ok, aber warum kann ich die Funktion die ich ganz am Anfang gepostet habe nicht einfügen ?? Bei

    BOOL GetSourceHtml(CString theUrl) 
    { 
     // this first block does the actual work
    ...
    

    Bool gibt er mir einen Error aus, obwohl ich das richtige Übergebe..

    er sagt error: CSTRING was not declared in this scope.. LG Mike



  • Es gibt ja auch nichts, was CString heißt.



  • Nathan schrieb:

    Es gibt ja auch nichts, was CString heißt.

    Was soll ich denn stattdessen einfügen, ich versteh nicht.. bei dem USER in einen anderen Forum(gefunden per google) hats auch funktioniert und er hat das so reinkopiert nur leicht abgeändert... ich dachte dass ist der Übergabeparameter der Funktion nur halt durch eine bestimmte LIB sieht er anders aus als, ich denke da jetzt banal an int summe(int a, int b)... Kannst du mir erklären wie ich mein Problem löse und die funktion zum Laufen bringe ? LG Mike



  • Verwende const char* oder std::string.



  • Ich glaube ich verstehe.. habe ihm jetzt char theUrl übergeben:

    BOOL GetSourceHtml(char theUrl)
    

    doch dann schreit er bei:

    CInternetSession session;
    CInternetFile* file = NULL;
    

    dass er die Funktion nicht kennt, also fehlt ihm eine oder mehrere Libaries.. welche ? Ist es stdafx.h und afxinet.h? Und wo bekomme ichd as komplett-paket für die beiden lib her.. LG



  • Ach so.
    Der Code ist für die MFC gedacht.
    Die brauchst du wohl. Oder du nimmst die WinAPI.


Log in to reply