daten über http laden
-
Hmm, also in den Forumregeln konnte ich darüber nichts finden.
Außer dass ich jetzt weiß, dass ich für meine soziale Absicherung nicht das Forum belangen kann.
Ich finde, du entmündigst den Fragesteller etwas zu sehr.
Ich denke mal eher, wer sich wirklich mit dem Problem auseinandersetzen will, der liest sich auch die entsprechenden Seiten in der MSDN durch.
Aber leider fehlt auch in der MSDN, so detailliert sie im einzelnen auch sein mag, viel zu oft einfach mal ein funktionierendes Beispiel.
Aber ich will mich hier jetzt auch nicht rechtfertigen müssen, ehrlich gesagt.
Ich sehe das jedenfalls nicht als Ausplaudern einer großen elitären Geheimwissenschaft an, wenn ich mal ne Antwort länger als 3 Worte gebe.PS: Mal von alledem abgesehen, hat der Threaderöffner sowieso nicht vor, davon allzuviel zu übernehmen. Schließlich handelt es sich bei meiner Lösung ja nicht um den Stein der Weisen. Aber er hat vielleicht doch eine Idee, mit welchem Weg er zu seinem konkreten Ziel kommt.
Und außerdem ist nicht jeder Neuangemeldete hier gleichzeitig ein 12-jähriger Programmiernoob.So das war mein Gegenstatement...
-
[--> Sorry flenders, wenn es hier jetzt Offtopic läuft <--]
@SeppSchrot
Du hast mich Falsch verstanden. Ich will weder dich Angreifen noch den Fragenden Entmündigen. Desweiteren meinte ich nicht eine direkte Regel , sondern einen Sinn, deine Gästig den Code zu versenden ist in Freundschaftlicher Hinsicht auch OK, aber Unüberlegt ob er es nicht anders selbst lernen und Verstehen kann, die MSDN hällt einiges dazu gut Dokumentiert (auch Exsamples) dazu bereit, wenn man das nicht finden kann, fragt man danach und wir posten den Link, wenn er dann selbst mal was gemacht hat, aber dies nicht richtig Funktioniert, könnte dein Code zum Abgleich dienen, aber jetzt hat er eine Lösung, aus die er nicht, oder wenig lernen wird.
Ich Verstehe ja auch wenn du die Lösung parat hast und jemand es stolz Übergeben kannst, was das selbstwertgefühl steigt, aber der Zeitpunkt sollte abgeschätzt werden, bevor du es presentierst, glaub mir damit hilfst du mehr als schnell Code posten (senden). Deine Gästig ist OK und Gut, aber der Zeitpunkt ist Falsch in meiner Ansicht.PS: lese mal einige Beiträge im Forumbereich "Spiele...", dann kannst du auch meine Ansicht Verstehen und erkennst die Gefahr vor Trolle und somit die versaung des WinAPI Forums. Immer mehr Anfänger wollen schnell zum Ziel, ohne zu lernen, das beziehe ich jetzt nicht auf den Fragenden, aber es ist so und dieses wie andere Forum wird immer Wertloser.
-
Wobei man dazu noch anmerken muß:
Wenn jemand in einem Jahr eine Lösung für selbiges Problem sucht, findet er hier keine Lösung.Er müßte Dich anmailen, um die vermeintliche Lösung zu bekommen.
Was, wenn Deine eMail-Adresse nicht mehr stimmt?
Was, wenn Du den Quelltext nicht mehr hast?Das ist nicht der Sinn eines Forums...
-
Hepi schrieb:
Wobei man dazu noch anmerken muß:
Wenn jemand in einem Jahr eine Lösung für selbiges Problem sucht, findet er hier keine Lösung.*ROFL*
Ich glaube, nicht wenige Leute hier finden nicht mal die Lösung, wenn sie am selben Tag gegeben wurde.
Dann dürfte man ja wohl auch keine Links posten...Vielleicht hat MiC++ha ja Recht mit der Dreistigkeit mancher z.B. im Spieleforum.
Trozdem glaube ich, dass ihr die Sache hier etwas zu dramatisch seht.
-
na hier geht ja was los,
wusste ja gar nicht dass so etwas solch eine diskussion auslösen kann!
also zum einen hab ich bislang nur mal eben in den code reingesehen. musste das mit dem http-download auch erstmal ein wenig zurückschieben.bin aber trotzdem dankbar, dass ich beispielcode bekommen habe da man wenn man in einer richtung noch so gut wie gar nicht gemacht hat, natürlich schon froh ist wenn man bsp. code bekommt. und diesen werde ich ganz bestimmt nicht übernehmen wie ich ihn bekomme!
aber ich bekomme dadurch schonmal anhaltspunkte was ich in etwa alles zu beachten habe. und ich kann anhand der signifikanten befehle in der hilfe schmökern gehen.
wobei mir hier natürlich auch schon einzelne befehle und tipps natürlich genauso ausgereicht hätten.
-
hab im übrigen noch was zum filedownload gefunden!
URLDownloadToFile Function
Internet Development IndexDownloads bits from the Internet and saves them to a file.
Syntax
HRESULT URLDownloadToFile(
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
DWORD dwReserved,
LPBINDSTATUSCALLBACK lpfnCB
);siehe
http://msdn.microsoft.com/workshop/networking/moniker/reference/functions/urldownloadtofile.asp
-
Ach es giebt so viele einfache Funktionen dafür, aber kaum einer kennt die,
z.B. IPicture aus der Ole, mit der kann man locker und einfach Bilder (JPEG,GIF,BMP,PNG,etc..) aus dem Internet oder Festplatte laden und anzeigen, so wie zicht andere tolle Funktionen. Andere nehmen Socket,LibJpeg etc. ich nur eins "Ole"
Und das mit nur paar Codezeilen.
-
mit IPicture kann man doch mit Sicherheit keine Bilder aus dem Internet laden.
-
DOCH
Der IE macht es auchMit folgender Funktion kannst du Bilder in einer HBITMAP schreiben, als Dateipfad kannst du local "c:\\Bilder\\uschi.jpg" oder aus dem Internet "http://www.meinserver.de/bilder/uschi.jpg" angeben und er schreibt es ins HBITMAP.
/* Achtung auch die Libs mit einbinden!!!! */ #include <olectl.h> /* ..... */ /* Aufrufbeispiel */ char szBild[ ] = "http://winapi.michamedia.de/toplogo.gif"; HBITMAP bild; if (LoadImage(szBild, bild)) { /* Wenn das Laden erfolgreich */ /* Code um das Hbitmap z.B. im Fenster zu blitten */ } else { /* Fehler Ausgeben */ } /* Die Funktion (Undocumentiert, aber werde ich demnächst mal machen) */ bool LoadImage(char *szPath, HBITMAP &pbild) { HDC hdcTemp; IPicture *pPicture; OLECHAR wszPath[MAX_PATH+1]; long lWidth; long lHeight; long lWidthPixels; long lHeightPixels; MultiByteToWideChar(CP_ACP, 0, szPath, -1, wszPath, MAX_PATH); HRESULT hr = OleLoadPicturePath(wszPath, 0, 0, 0, IID_IPicture, (void**)&pPicture); if(FAILED(hr)) return false; hdcTemp = CreateCompatibleDC(GetDC(0)); if(!hdcTemp) { pPicture->Release(); return false; } pPicture->get_Width(&lWidth); lWidthPixels = MulDiv(lWidth, GetDeviceCaps(hdcTemp, LOGPIXELSX), 2540); pPicture->get_Height(&lHeight); lHeightPixels = MulDiv(lHeight, GetDeviceCaps(hdcTemp, LOGPIXELSY), 2540); BITMAPINFO bi = {0}; DWORD *pBits = 0; bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER); bi.bmiHeader.biBitCount = 24; bi.bmiHeader.biWidth = lWidthPixels; bi.bmiHeader.biHeight = lHeightPixels; bi.bmiHeader.biCompression = BI_RGB; bi.bmiHeader.biPlanes = 1; pbild = CreateDIBSection(hdcTemp, &bi, DIB_RGB_COLORS, (void**)&pBits, 0, 0); if(!pbild) { DeleteDC(hdcTemp); pPicture->Release(); return false; } SelectObject(hdcTemp, bild); pPicture->Render(hdcTemp, 0, 0, lWidthPixels, lHeightPixels, 0, lHeight, lWidth, -lHeight, 0); DeleteDC(hdcTemp); pPicture->Release(); return true; }
-
MiC++ha schrieb:
DOCH
Der IE macht es auchMit folgender Funktion kannst du Bilder in einer HBITMAP schreiben, als Dateipfad kannst du local "c:\\Bilder\\uschi.jpg" oder aus dem Internet "http://www.meinserver.de/bilder/uschi.jpg" angeben und er schreibt es ins HBITMAP.
[/cpp]WOW
Ich muss da schon staunen.
Das grosste Problem fur ein C++ Noob wie mich ist nicht das Coden an sich, aber die richtigen Libs zu verwenden.
*frustriet*