Autor Beitrag
tc4xe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: Do 15.02.07 21:13 
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: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.
tc4xe Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: Do 15.02.07 21:44 
Ob die Datei z.B. hier existiert: www.abcd.com/update.txt
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19276
Erhaltene Danke: 1741

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
ausblenden 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:
Grenzgaenger
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: 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>