![]() |
Iso Datei über Lan downloaden - Programm?
Hallo zusammen,
hab per Suche nix in der art gefunden, was mich weiter bringen könnte, sorry wenn ich eine ähnliche Frage übersehen hab. Gleich mal im voraus, ich hab Null Ahnung vom programmieren mit Delphi. Wollte euch fragen ob folgendes Programm schwierig wäre zu erstellen: Ich möchte das auf klick von „Download.exe“ eine Datei mit immer gleich bleibendem Pfad und Namen (z.B. ![]() Schwierig sowas zu machen? Wenns nicht arg zu viel Arbeit macht wäre es auch net wenn ihr mir ein klein wenig mit dem code helfen könntet. Also wie das ganze aufgebaut wird. Danke schon mal im voraus. Gruß Diedangel |
Re: Iso Datei über Lan downloaden - Programm?
Sollte realtiv einfach mit
![]() |
Re: Iso Datei über Lan downloaden - Programm?
Hi,
danke für die schnelle Antwort. Wie gesagt bin ich totaler Neuling in Delphi. Hab mir das Programm auch noch nicht angeschaut und werd mir heut erst Abend die Testversion, welche es auf borland-delphi gibt, downloaden. Beantwortet sich da die Frage von selbst --> Wo welcher Quellcode hinkommt <-- oder braucht man doch ein wenig mehr Erfahrung? Danke Gruß Diedangel |
Re: Iso Datei über Lan downloaden - Programm?
|
Re: Iso Datei über Lan downloaden - Programm?
hey super, danke für den Link.
Das hilft mir auf alle fälle weiter. gruß Diedangel |
Re: Iso Datei über Lan downloaden - Programm?
Zitat:
ich nochmal. Von wegen einfach...wenn ich das nun so mache wie in diesem Beitrag beschrieben habe ich lauter ERRORS und besonders viele im Implementation-Teil :evil: Was mach ich falsch? Bitte um Hilfe :hello: |
Re: Iso Datei über Lan downloaden - Programm?
Wie lauten denn die Fehler genau ? Zeig am besten mal deinen Code.
|
Re: Iso Datei über Lan downloaden - Programm?
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, UrlMon, ActiveX; type cDownloadStatusCallback = class(TObject,IUnknown,IBindStatusCallback) private function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall; function _AddRef: Integer; stdcall; function _Release: Integer; stdcall; function OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; stdcall; function GetPriority(out nPriority): HResult; stdcall; function OnLowResource(reserved: DWORD): HResult; stdcall; function OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult; stdcall; function OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall; function GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall; function OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc: PFormatEtc; stgmed: PStgMedium): HResult; stdcall; function OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall; public { Public declarations } end; var Form1: TForm1; usercancel: Boolean = False; implementation function cDownloadStatusCallback._AddRef: Integer; begin Result := 0; end; function cDownloadStatusCallback._Release: Integer; begin Result := 0; end; function cDownloadStatusCallback.QueryInterface(const IID: TGUID; out Obj): HResult; begin if(GetInterface(IID,Obj)) then begin Result := 0 end else begin Result := E_NOINTERFACE; end; end; function cDownloadStatusCallback.OnStartBinding(dwReserved: DWORD; pib: IBinding): HResult; begin Result := S_OK; end; function cDownloadStatusCallback.GetPriority(out nPriority): HResult; begin Result := S_OK; end; function cDownloadStatusCallback.OnLowResource(reserved: DWORD): HResult; begin Result := S_OK; end; function cDownloadStatusCallback.OnStopBinding(hresult: HResult; szError: LPCWSTR): HResult; stdcall; begin Result := S_OK; end; function cDownloadStatusCallback.GetBindInfo(out grfBINDF: DWORD; var bindinfo: TBindInfo): HResult; stdcall; begin Result := S_OK; end; function cDownloadStatusCallback.OnDataAvailable(grfBSCF: DWORD; dwSize: DWORD; formatetc: PFormatEtc; stgmed: PStgMedium): HResult; begin Result := S_OK; end; function cDownloadStatusCallback.OnObjectAvailable(const iid: TGUID; punk: IUnknown): HResult; stdcall; begin Result := S_OK; end; function cDownloadStatusCallback.OnProgress(ulProgress, ulProgressMax, ulStatusCode: ULONG; szStatusText: LPCWSTR): HResult; begin case ulStatusCode of BINDSTATUS_FINDINGRESOURCE: begin Form1.Label1.Caption := 'Datei wurde gefunden...'; if (usercancel) then begin Result := E_ABORT; exit; end; end; BINDSTATUS_CONNECTING: begin Form1.Label1.Caption := 'Es wird verbunden...'; if (usercancel) then begin Result := E_ABORT; exit; end; end; BINDSTATUS_BEGINDOWNLOADDATA: begin Form1.Gauge1.Progress := 0; Form1.Label1.Caption := 'Der Download wurde gestartet...'; if (UserCancel) then begin Result := E_ABORT; exit; end; end; BINDSTATUS_DOWNLOADINGDATA: begin Form1.Gauge1.Progress := MulDiv(ulProgress,100,ulProgressMax); Form1.Label1.Caption := 'Datei wird heruntergeladen...'; if (UserCancel) then begin Result := E_ABORT; exit; end; end; BINDSTATUS_ENDDOWNLOADDATA: begin Form1.Label1.Caption := 'Download wurd beendet...'; end; end; Application.ProcessMessages; Result := S_OK; end; procedure TForm1.Button1Click(Sender: TObject); var cDownStatus : cDownloadStatusCallback; begin cDownStatus := cDownloadStatusCallBack.Create; try URLDownloadToFIle(nil,'http://www.google.de/index.html', 'C:\index.html',0,CDownStatus); finally cDownStatus.Free; end; end; end. |
Re: Iso Datei über Lan downloaden - Programm?
tu mal dein form um ein label erweitern und tu einen button hinzu.
|
Re: Iso Datei über Lan downloaden - Programm?
:roll: ähm wär net wenn erklären könntest wo ich das mach...also Button weiß ich...aber das mit der "Form" :?:
und der Button läßt sich ja zuvor nicht erstellen sorry bin wie oben schon erwähnt total neu im Delphi |
Re: Iso Datei über Lan downloaden - Programm?
Ich denk mal, lies Dir erst ein paar Tutorials durch, und stell dann deine konkreten Fragen. Bis dahin, klappt folgender Code sicherlich auch, als ALternative zu "DeCodeGuru":
uses shellapi ;
Delphi-Quellcode:
Aufruf durch:
procedure Download (URL : string) ;
begin ShellExecute (nil,'open',PChar(URL),nil,nil,SW_SHOWNORMAL) ; end ;
Delphi-Quellcode:
Download ('http://Server/DeineDatei.iso') ;
|
Re: Iso Datei über Lan downloaden - Programm?
Hallo,
ich habe das gleiche Programm und bin auch ein blutiger Anfänger auf dem Gebiet. Kann mir das bitte nicht jemand genau erklären wie das geht oder was noch besser wäre wenn mir jemand so ein Programm schreiben könnte. Danke schon mal im voraus |
Re: Iso Datei über Lan downloaden - Programm?
Zitat:
schreiben wird dir so ein Programm keiner ;) Wenn du aber genaue Fragen stellt, was du nicht verstehst, sind wir gerne bereit, dir zu helfen :) btw: Herzlich Willkommen in der DP :dp: :) |
Re: Iso Datei über Lan downloaden - Programm?
es wäre mir sehr geholfen wenn ich eine genaue Anleitung bekommen würde wo ich die ganzen cods hin schreiben soll und ob das egal ist ob ich erst das Design oder erst die Cods machen soll.
Wo ich die einzelnen Codes hin schreiben soll ? Was ich als neuen Unit öffnen soll also Win 32 oder Form usw. ? Es wäre auch net wenn mir jemand ein Erklärungs tutorial nen kann wo ich mal ein paar Grundkenntnise bekommen kann habe schon im Internet geschaut aber nichts Hilfreiches gefunden. Also auf gut deutsch gesagt am besten von 0 auf mir genau erklären was ich machen muss damit ich das Programm Programmieren kann. Oder was besimmt auch hilfrei ist wenn mir jemand ein kleinses Tutoeial geben kann wo ich ein ganz kleines Programm schreiben kann mit demm ich dann rum Experimentieren kamm Wie schon gesagt ich bin Anfänger mit keinen Programmier kenntnise. Danke |
Re: Iso Datei über Lan downloaden - Programm?
Hi Neophyte,
Zitat:
![]() Wenn du dann mal ein paar Sachen durchgelesen und auch verstanden hast, erübrigt sich deine Frage wahrscheinlich von alleine. Wenn nicht, kannst du einfach nochmal nachfragen (wäre dann aber gut, wenn du einen eigenen Thread aufmachen würdest) |
Re: Iso Datei über Lan downloaden - Programm?
Ich nehme an du hast einfach den Code aus dem Tutorial über deinen eigenen Kopiert? Das sollte man nicht machen!
Du könntest die datei über http downloaden. Du brauchst dafür die ![]()
Delphi-Quellcode:
//ausn fingern geschrieben keine garantie wegen fehlern
procedure TForm1.Timer1Timer(Sender: TObject);
var FileStream: TFileStream; begin FileStream := TFileStream.Create('D:\Arbeiten', fmCreate); IdHTTP1.Get('http://blahblah/Datei.iso', FileStream); FileSTreamStream.free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz