Hallo Jungs,
ich bräuchte mal einen Tip von euch:
Ich hab zwei Programme die mit TServerSocket und TClientSocket kommunizieren.
Das Hauptprogramm (Prog1) dient als Server, das Andere (Prog2) als Client.
Prog1 kann bei dem Prog2 eine Dateien-Liste erfragen.
Prog2 sendet dann einen String mit allen Datei-Namen (+ Version der einzelnen Dateien) des Ordners von Prog2.
Das ist der Code zum Auslesen aller Dateien:
Code:
function TForm1.GiveAllDirFiles(Directory: String): String;
var
SearchRec: TSearchRec;
FileName, Version: String;
begin
Result := '';
Version := '';
Directory := IncludeTrailingPathDelimiter(Directory);
if (FindFirst(Directory + '*.*', faAnyFile, SearchRec) = 0) then
try
repeat
If (SearchRec.Attr and faDirectory) = 0 then
begin
FileName := SearchRec.Name;
Version := GetFileVersion(Filename);
Result := Result + FileName + '/' + Version + '|';
end;
until FindNext(SearchRec) <> 0;
finally
FindClose(SearchRec);
end;
end;
Im Prog1 wird dieser String in seine Einzelteile zerpflügt und in eine ListView (ViewStype := vsReport) eingetragen.
Das funktioniert auch ohne Probleme (also ich hab bisher noch keine festgestellt).
Nur kann dieser Code leider keine Ordner darstellen.
Ich möchte nun in der ListView (ähnlich wie im Win-Explorer) die Ordner und die Dateien des Clients sehen und wenn ich auf einen Ordner klicke dann soll dieser geöffnet und dessen Inhalt angezeigt werden.
Ist das denn überhaupt möglich?
Wenn ja, Wie kann ich das über TServerSocket und TClientSocket übertragen? - und wie bring ich das in eine ListView??
Viele Fragen, ich hoffe es gibt Antworten dafür.
Danke im Vorraus.
mfg
Helmi