Autor Beitrag
cbs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207
Erhaltene Danke: 1



BeitragVerfasst: Di 02.07.02 17:44 
Tag auch,

sagt mal gibbed eine möglichkeit festzustellen ob eine Datei im internet existiert ohne zu testen ob man die datei runterladen kann (also z.B. auf Error 404 reagieren)? die url ist bekannt (ich will kein blödsinn damit anfangen, eben nur testen ob eine bestimmte datei existiert).

wäre toll wenn da jemand ne idee hat.

nen schönen tag noch, cbs

PS: die Themenüberschrift soll sich eben nur auf das thema beziehen, ich weiß das das so nicht geht :)
crip
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 24



BeitragVerfasst: Do 04.07.02 14:06 
Kannn jetzt hard was dazu sagen, aber ich glaube du wirst nie sicher sein koennen, dass die Datei nit gibt, denn es werden bestimmt nicht alle dateien angezeigt wegen der Berechtigung. Obwohl wahrscheinlich moechtest du legale Sachen mit dem Prog machen :lol: Ich glaub ich kann dir da helfen guck ma morgen noch mal hier vorbei

_________________
MfG
Crip :arrow: Was ist "Real Life" und wo zur Hoelle kann ich es runterladen!! :D
Steffer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 299



BeitragVerfasst: So 07.07.02 23:50 
Lies doch einfach die Grösse der Datei. Hast du einen positiven Wert, ist die Datei vorhanden.

_________________
Keine Signatur ...
b.brecht
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81



BeitragVerfasst: So 14.07.02 23:37 
ich würde es so machen :

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
uses 
  URLMon, ShellApi; 

function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
  try 
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0; 
  except 
    Result := False; 
  end; 
end; uses 
  URLMon, ShellApi; 

function checkit(url,dest:string):boolean;
begin
if DownloadFile(url,dest) then
  begin
  Result:=true;
  DeleteFile(dest);
  end
  else
  Result:=false;
end;


Bitte für url eine URL wählen (www.google.com/intl/...ages/home_title.gif)
und das Zeilverzeichnis passend machen (c:\temp\google-image.gif).
So funktioniert es auf jeden Fall!
DeCodeGuru
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1333
Erhaltene Danke: 1

Arch Linux
Eclipse
BeitragVerfasst: Mo 15.07.02 09:39 
Hi,

guck dir mal folgendes an: www.auq.de/viewtopic.php?t=195

Dort habe ich Quellcode gepostet, wie man eine Datei mit URLDownloadToFile (mit Fortschrittsanzeige runterladen kann).

Guck dir vor allem folgende Quellcodestelle an:

ausblenden volle Höhe Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
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;


Achte dabei besonders auf BINDSTATUS_FINDINGRESOURCE. Wie man sieht tritt das Ereignis auf, wenn die Datei gefunden wurde. Also kannst du dementsprechend reagieren.

Ich hoffe ich konnte dir helfen!!

_________________
Viele Grüße
Jakob
cbs Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 207
Erhaltene Danke: 1



BeitragVerfasst: Mi 17.07.02 21:40 
tag auch,

danke für die tollen antworten, sorry das ich nicht geantwortet habe ich war im urlaub, ich werts gleich mal ausprobieren (aber jetzt heißt es erstma koffer auspacken und emails lesen :lol: )