Entwickler-Ecke
Internet / Netzwerk - if FileExists('http://.../datei.dat') then tuewas;
cbs - Di 02.07.02 17:44
Titel: if FileExists('http://.../datei.dat') then tuewas;
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 - 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
Steffer - So 07.07.02 23:50
Lies doch einfach die Grösse der Datei. Hast du einen positiven Wert, ist die Datei vorhanden.
b.brecht - So 14.07.02 23:37
ich würde es so machen :
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 (
http://www.google.com/intl/de/images/home_title.gif)
und das Zeilverzeichnis passend machen (c:\temp\google-image.gif).
So funktioniert es auf jeden Fall!
DeCodeGuru - Mo 15.07.02 09:39
Hi,
guck dir mal folgendes an:
http://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:
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!!
cbs - 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: )
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!