Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi [Delphi 2010] Winsock API 2.2 - Filemanager (https://www.delphipraxis.net/146632-%5Bdelphi-2010%5D-winsock-api-2-2-filemanager.html)

DarkItachi 24. Jan 2010 00:14


[Delphi 2010] Winsock API 2.2 - Filemanager
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöchen!

Ich habe jetzt vor, für mein Netbook einen Client und für meinen PC einen Server zu programmieren!
Ein paar kleine Tests habe ich gemacht!

Also auf meinem Client sind bis jetzt 3 SpeedButtons! Der erste SpeedButton beendet JDownloader, der zweite soll eine Filemanager-Form öffnen und der dritte ist zum herunterfahren des Pc's!

Na gut, herunterfahren und Task beenden ist nun nicht schwer!
Für mich stellt sich nur die Frage, wie ich vom Server aus ganze Ordnerdaten zum Client sende, sodass der Client in einem ShelllistView die Daten nun anzeigen lassen kann!
Oder besser wäre es doch, wenn ich Daten anfordere!
Drücke ich beim Client z.B. über einen ShellListView auf meinem Downloadordner (bei PC), so soll der Server nun eine Ordnerliste senden!

Ich will dabei aber Winsock API benutzen und nicht irgendeine Komponente!
Wenn der Server abstürzt kann ich ihn nicht wieder starten!! (wenn ich mit meinem NetBook unterwegs bin!)

Hoffe jemand hat das verstanden und kann mir sagen, wie der Server nun eine Ordnerliste sendet und wie der Client sie dann in einen ShellListView einfügt? ^^
Am besten wäre ein kleiner Code für den Server!^^
Delphi-Quellcode:
program NetBookServer

uses Winsock

[function OrdnerlisteErstellen]
[function DatenSenden]
[function Verbindung herstellen]
[...]

begin
TNetBookServer.Connect;
MfG

Ps.: Anhang könnte mehr verständlich machen! :thumb:

Astat 24. Jan 2010 02:54

Re: [Delphi 2010] Winsock API 2.2 - Filemanager
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von DarkItachi
..Ich will dabei aber Winsock API benutzen und nicht irgendeine Komponente!...
... wie der Server .. Ordnerliste sendet und .. Client sie dann in einen ShellListView einfügt?
Am besten wäre ein kleiner Code für den Server!^^

Hallo DarkItachi, anbei Native Sample.

NetBookServer.dpr und NetBookClient.dpr

IpAdresse, Port, und die zu übertragenden Directory Listings, sind in untenstehenden Codeabschnitten änderbar.

Delphi-Quellcode:

    //-- Kommandos der Clients auswerten
    if sCommand = 'OrdnerlisteErstellen' then
      DoSearch('C:\lazarus\test\*.*') else
    if sCommand = 'FOO' then else
    if sCommand = 'BAR' then else
      _ms.Write(DEFAULT_RESPONSE, Length(DEFAULT_RESPONSE));

  with SyncServerStartUpStruct do begin
    Port         := 8088;        //-- Server Listening Port
    ThreadsPerCPU := 1;           //-- Threads pro CPU
    OnData       := OnDataProc;  //-- Callback für Daten
    OnError      := OnErrorProc; //-- Callback bei Errors
  end;

  with SyncClientStruct do begin
    Port   := 8088;
    Host   := PChar('127.0.0.1');
    ptrData := outBuffer;
    cbSize := outSize;
  end;
Die Daten nun einfach in eine TreeView Komponente einfügen.
Für einen Remote-Directory Browser ist eine ShelllistView nicht geeignet.

lg. Astat

DarkItachi 30. Jan 2010 12:51

Re: [Delphi 2010] Winsock API 2.2 - Filemanager
 
Danke für die schnelle Antwort und sorry, für das späte Dankeschön!

Ich bin leider noch nicht sehr erfahren!
Habe mir die Source ein paar mal durchgelesen aber kann nicht entnehmen!

Gibt es ein Source Code, der nur ein purer Fileman ist?
Oder wäre jemand so lieb, den ganz schnell zu machen!
Mit TTreeView und TListView am bestens, damit es am einfachsten ist !
Danke trotzdem!

MfG

DarkItachi 31. Jan 2010 16:58

Re: [Delphi 2010] Winsock API 2.2 - Filemanager
 
Ok, der Grund warum ich ShellListView verwenden wollte, war:

ICH WOLLTE EINFACH EIN SCHÖNERES INTERFACE :roll:


Dabei kann man doch ganz leicht PNGImagelist mit Treeview & Listview verknüpfen.. :shock:
Ok dass der Server Befehle auswerten muss, das ist ganz klar und einfach zu verstehen!

Jetzt muss ich nur noch wissen, wie der Server ( am besten ohne Form wegen Bruder ) ein Ordner-Inhalt an den Client sendet und der Client diese dann entsprechend auflistet!

Thx


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 Uhr.

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