Entwickler-Ecke
Internet / Netzwerk - Datei auf Verfügbarkeit prüfen
tc4xe - Do 15.02.07 21:13
Titel: Datei auf Verfügbarkeit prüfen
Hallo liebe Mitglieder!
Ich möchte bei einer Datei z.B. update.txt auf Verfügbarkeit prüfen.
z.B. sollte der Pfad so aussehen:
http://www.abcd.com/update.txt
Wie kann ich am besten die Datei auf Verfügbarkeit prüfen und den Inhalt in eine String varieble schreiben?
jaenicke - Do 15.02.07 21:16
Sieh dir mal TStringStream an...
Ob das das Sinnvollste für dein Problem ist, weiß ich nicht, aber da bekommst du auf jeden Fall den gesamten Inhalt als String.
tc4xe - Do 15.02.07 21:24
Danke, werde ich mir mal ansehen.
Hast du eine Iddee wie ich auf Verfügbarkeit prüfen könnte?
jaenicke - Do 15.02.07 21:25
Ich weiß nicht genau, was du meinst. Meinst du ob die Datei existiert?
--> FileExists
Oder ob du drauf zugreifen kannst?
Das bekommst du dann beim Zugriffsversuch mit.
Delete - Do 15.02.07 21:46
propier es mal via FTP, da kannste prüfen ob eine datei existiert.
ob fileexists, auch das HTTP protokoll unterstützt oder nur local läuft, kann ich dir nicht sagen.
<HTH>
jaenicke - Do 15.02.07 21:51
:oops: Entschuldigung, ich war nicht ganz bei der Sache. Ich hab das gar nicht als Internetadresse wahrgenommen.
Das geht am besten mit den Indy-Komponenten. Falls du die bereits installiert hast (bei neueren Delphi-Versionen sind die schon dabei), dann sollte das hier gleich gehen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| uses IdHttp;
var uIndy: TIdHttp; tmpString: String; begin uIndy := TIdHTTP.Create(Form1); uIndy.AllowCookies := False; uIndy.HandleRedirects := True; uIndy.HTTPOptions := [hoForceEncodeParams]; uIndy.ProxyParams.BasicAuthentication := False; uIndy.Request.Accept := 'text/html, */*'; uIndy.Request.BasicAuthentication := False;
tmpString := uIndy.Get('http://www.xa.com/update.txt'); ShowMessage(tmpString);
uIndy.Free; end; |
Wenn die Datei nicht existiert ist glaube ich der String einfach leer.
FTP ist nicht passend, weil dann Benutzername und Passwort in der Exe stehen müssen.
Und FileExists geht genauso wenig wie TFileStream. Wie gesagt: Ich war nicht bei der Sache und hab nicht gesehen, dass es ums Internet geht...
Tut mir leid. :oops:
Delete - Fr 16.02.07 00:19
bei anonymous ftp braucht man kein passwort und keinen account. aufrufen kann man das ganze z.b. über indy oder man nimmt 'n externes FTP programm (shellexecute) zu hilfe. der unterschied ist, dass FTP über port 21 und http über port 80 läuft.
PS: bei einem httpget, wird bei fehlen der quelldatei die fehlermeldung abgespeichert, da müsstest du 'n loopback installieren, damit du mitbekommst, dass etwas schiefgelaufen ist. oder du wertest die heruntergeladene datei dann entsprechend aus, viel spass dabei ;-) . wie man das mit http, sonst prüfen kann, kann ich dir leider nicht sagen. bei FTP gibts jedenfalls 'n entsprechendes commando, wenn es beim server zugelassen wurde. <HTH>
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!