Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi nicht IE-APIs ?? (https://www.delphipraxis.net/2462-nicht-ie-apis.html)

Motzi 24. Jan 2003 12:23


nicht IE-APIs ??
 
Hi,

ich hab eigentlich noch nie irgendwas programmiert, das mit dem Internet arbeitet, ich bin also recht neu auf diesem Gebiet!

Ich will zwecks Versions-Kontrolle eine Datei aus dem Internet runterladen. Ich habe mir schon diverse APIs dazu angeschaut (UrlOpenBlockingStream, UrlDownloadToFile, InternetOpenFile, ....) nur benötigen die alle mindestens den IE 3.0! Ich will aber, dass mein Programm icht schon diesem sch*** IE abhängig ist (auch wenn normalerweise jeder den IE standardmäßig installiert hat).

Gibt es irgendwelche andere APIs oder anderweitige Möglichkeiten mit denen sich so etwas machen lässt?

Klabautermann 24. Jan 2003 12:33

Hallo,

gucke dir mal die INDY Komponenten an (in neueren Delphi Versionen enthalten). Da ist auch eine HTTP Kompo enthalten. Damit solltest du das hinbkommen.

Gruß
Klabautermann

Chewie 24. Jan 2003 12:33

Du könntest natürlich selbst die Socket-Verbindung aufbauen und die Daten vom Server direkt annfordern. In den RFCs für FTP und HTTP stehen die Befehle, um den entsprechenden Servern zu interagieren.

Edit: Mit einer Komponente spart man sich natürlich viel Arbeit :wink:

Christian Seehase 24. Jan 2003 12:38

Moin Motzi,

Du könntest das wahrscheinlich auch über die Windows Sockets 2 machen(Funktionspräfix meist WSA), oder mit Hilfe der Indy's.

Motzi 24. Jan 2003 13:41

Danke für die Tipps!

Nach langem gründlichem Studium der Sourcen von INDY und ICS bin ich zu dem Schluss gekommen, dass es viel zu aufwendig ist das alles selbst zu machn und daher lieber auf die Komponenten zurückgreif..! Mal schaun wie ich mit denen klarkomm...

Udo 24. Jan 2003 16:40

Schnapp dir TIdHTTP (Indy).

z.B.:
Delphi-Quellcode:
var SF: TFileStream;
begin
  SF:= TFileStream.Create('C:\bla.txt', fmCreate);
  IdHTTP1.Get('http://server.de/datei.txt', SF);
  SF.Free;
  // Datei auswerten
  DeleteFile('C:\blah.txt');
end;
oder so ähnlich :)

Motzi 24. Jan 2003 16:51

Zitat:

Zitat von Udo
Schnapp dir TIdHTTP (Indy).

z.B.:
Delphi-Quellcode:
var SF: TFileStream;
begin
  SF:= TFileStream.Create('C:\bla.txt', fmCreate);
  IdHTTP1.Get('http://server.de/datei.txt', SF);
  SF.Free;
  // Datei auswerten
  DeleteFile('C:\blah.txt');
end;
oder so ähnlich :)


Danke! Ich werds mal probiern! :)

jbg 24. Jan 2003 17:10

Zitat:

Zitat von Udo
Delphi-Quellcode:
var SF: TFileStream;
begin
  SF:= TFileStream.Create('C:\bla.txt', fmCreate);
  IdHTTP1.Get('http://server.de/datei.txt', SF);
  SF.Free;
  // Datei auswerten
  DeleteFile('C:\blah.txt');
end;

Also wenn die Datei danach gleich wieder gelöscht werden soll, dann braucht man gar keine Datei:
Delphi-Quellcode:
var s: string;
begin
  s := IdHTTP1.Get('http://server.de/datei.txt');
  // Mit <s> arbeiten
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz