Mam taki problem iż piszę aplikację sieciową i muszę zrealizować przesłanie zawartości komponentu Treeview z serwera do klienta za pomocą komponentów ServerSocket i ClientSocket. Próbowałem przesłać tą zawartość za pomocą polecenia SendBuff ale się nie udało. :-( Mam nadzieję że uda się to jakoś zrealizować.
0
0
Poniższym sposobem zgrasz drzewko TreeView do łańcucha, z którego potem możesz je odtworzyć:
Var
Lancuch: String; //przechowuje zawartość drzewka TreeView
//procedura zapisująca drzewko TreeView w łańcuchu
Procedure ZapiszTreeView (TV: TTreeView; Var S: String);
Var
SS: TStringStream;
Begin
SS:=TStringStream.Create('');
try
TV.SaveToStream(SS); //zgranie drzewka TreeView do Stream'u
S:=SS.DataString; //przekształcenie Stream'u do stringa
finally
SS.Free;
end;
End;
//procedura odtwarzająca drzewko z łańcucha
Procedure CzytajTreeView (S: String; TV: TTreeView);
Var
SS:TStringStream;
begin
SS:=TStringStream.Create(S); //przekształcenie stringa z powrotem do Stream'u
try
TV.LoadFromStream(SS); //odtworzenie drzewka TreeView ze Stream'u
finally
SS.Free;
end;
end;
// użycie obu procedur
procedure TForm1.ButtonZapiszClick(Sender: TObject);
Begin
ZapiszTreeView (TreeView_Zrodlo, Lancuch);
End;
procedure TForm1.ButtonCzytajClick(Sender: TObject);
Begin
CzytajTreeView(Lancuch, TreeView_Docelowe);
End;
Pzdr.
Marogo
0
taka drobna uwaga - stream to nie łańcuch tylko źródło
0
Stream:
1 potok; strumień (np. danych)
2 strumień; rzeczka; potok
3 fala (np. fala protestów)
4 seria
0
miało być strumień nie źródło... Muszę przestać pisać posty o takich późnych godzinach