Announcement

Collapse
No announcement yet.

Mit Winsock.Dll in das Internet?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Mit Winsock.Dll in das Internet?

    Hallo, alle zusammen.
    Hier sollten die Web-Profis ans Werk gehen: Komme ich mit mit einem völlig normalen Delphi oder C++ über die Winsock.Dll in das Internet?
    Oder ist es nur für interne Netze gedacht? Wie komme ich in das Web, wenn nicht mit Winsock?
    Jeden Tag im Web, natürlich mit populären Browsern, ist keine Kunst. Nachdem Netscape die Quelltexte freigegeben hat (im Buchhandel nicht lieferbar, vergriffen) sollten wir endlich Browser schreiben, die ncht jedem Hacker unsere Festplatten und Netzwerke kostenlos auf seinen PC liefern.
    Und bitte, keine superteuren Enterprise-Geschichten. Ich fahre auch nicht mit dem Porsche zum Zigarreten holen...

  • #2
    Hallo,

    ja - eine erfolgreiche TCP/IP-Verbindung und eine Delphi-Version ab 2.0 reicht vollständig aus. Beispiele dazu sind auf den Web-Seiten von Borland zu finden (Beitrag von <i>Charlie Calvert</i>)

    Comment


    • #3
      Zu "mit Winsock.dll ins Internet"
      Andreas Kosch schreibt, Beispiele dazu sind auf den Borland-Webseiten.

      Wo denn ? Ich lande immer nur auf Sites, die irgendwelche Tools oder VCL-Komponenten (ohne Source) verkaufen wollen.
      Hat vielleicht jemand einen Buchtip

      Comment


      • #4
        Zum Thema "mit Winsock.dll ins Internet"
        Die genannten Beispiele im Delphi Beispiele-Dir fehlen leider in meiner Delphi 5 Version. Zwar sind die Internet-Komponenten integriert, aber nicht die hierzu gehörenden Hilfedateien.
        Habe ich die falsche Delphi-Version

        Comment


        • #5
          Hallo,

          auf den Borland-Webseiten gibt es prinzipiell drei Stellen, an denen mit der Suche begonnen werden kann: <br>
          a) Developer Support (http://www.inprise.com/devsupport/delphi)<br>
          b) Borland Community (http://community.borland.com/homepage)<br>
          c) Code Central (über b erreichbar)

          An allen drei Stellen sind <b>TechDocs</b> zu finden, die folgenden Beispiele gehen auf WinInit detaillierter ein: <br>
          a) TechDoc <i>"Integrating Delphi and Windows NT"</i><br>
          b) TechDoc <i>"The freshest bits"</i> (Untertitel "WinInet to the rescue")

          Das folgende Minimalprojekt demonstriert, wie eine Anwendung über die Funktionen des <b>Internet-API</b> eine Datei von einem FTP-Server herunterladen kann. Allerdings ist das nur dann erfolgreich, wenn mindestens der Internet Explorer 3 auf dem Rechner installiert ist:
          <pre>
          unit FTPTestFrm;

          interface

          uses
          Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
          StdCtrls;

          type
          TForm1 = class(TForm)
          Button1: TButton;
          procedure Button1Click(Sender: TObject);
          private
          { Private-Deklarationen }
          public
          { Public-Deklarationen }
          end;

          var
          Form1: TForm1;

          implementation

          {$R *.DFM}

          uses WinInet;

          procedure TForm1.Button1Click(Sender: TObject);
          resourcestring
          cFTPSRV = 'Localhost'; // FTP-Server
          cFTPUSR = 'anonymous'; // FTP-Benutzername
          cUSRPWD = ''; // FTP-Benutzerpasswort
          cFTPFILE = 'Test.txt'; // Download-Datei auf dem FTP-Server
          cSAVEAS = 'C:\Temp\FTPTest.txt'; // Speichern unter
          var
          hSession : HInternet;
          hConnect : HInternet;
          begin
          hSession := InternetOpen('FTPDownload', INTERNET_OPEN_TYPE_DIRECT,
          nil, nil, 0);
          if hSession = nil then
          begin
          Showmessage('hSession = nil !');
          Abort;
          end;
          try
          hConnect := InternetConnect(hSession, PChar(cFTPSRV),
          INTERNET_DEFAULT_FTP_PORT,
          PChar(cFTPUSR), PChar(cUSRPWD),
          INTERNET_SERVICE_FTP,
          INTERNET_FLAG_PASSIVE, 0);
          if hConnect = nil then
          begin
          Showmessage('hConnect = nil !');
          Abort;
          end;
          if FtpGetFile(hConnect, PChar(cFTPFILE), PChar(cSAVEAS), False,
          INTERNET_FLAG_RELOAD, FTP_TRANSFER_TYPE_BINARY, 0)
          then
          begin
          Showmessage('Download erfolgreich abgeschlossen!');
          end
          else
          begin
          Showmessage('Download ist fehlgeschlagen!');
          end;
          InternetCloseHandle(hConnect);
          finally
          InternetCloseHandle(hSession);
          end;
          end;

          end.
          </pre&gt

          Comment

          Working...
          X