-
Здравствуйте, в делфи новичек. Стоит задача копирования Items строк из одного TTreeView в другой. Код типа procedure TForm1.Button1Click(Sender: TObject);
var itindex:integer;
begin
itindex:=0;
TreeView1.Items.Item[itindex]:=Form2.TtreeView2.Items.Item[itindex];
end; выдал ошибку Unit1.pas(34): Cannot assign to a read-only property Хочу просто записать в цикл копирование по индексу. Подскажите, пожалуйста, как это организовать.
-
пишешь рекурсивную функцию обхода дерева TTreeView обходишь дерево исходного контрола, и добавляешь во второе дерево новые TTreeViewItem , копируя содержимое элементов методом Assign
-
Ой, че-то я вообще заумничал :) TreeView1.Items.Assign(Form2.TtreeView2.Items); полная замена всех элементов дерева
-
Ясно... а если передать это дерево в локальной сети из программы-клиента на программу-сервер, то функцию обхода вставлять в передачу строки сокетом? Я мож че путаю... опыт работы с сокетом = 0. Буду рад помощи... А пока спасибо и за это. Ща буду тестить.
-
У элемента TreeView1.Items есть иные методы, как-то SaveToStream/LoadFromStream
-
Вобщем вопрос в следующем: как передать Item по сети. Какими компонентами пользоваться?
-
> Cobalt © (02.04.12 14:15) [4] > У элемента TreeView1.Items есть иные методы, как-то SaveToStream/LoadFromStream
Начинаю допирать)
-
Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE. Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.
-
Извиняюсь, не сообразил где создать топик. Вопрос с Передачей Items. Вобще, как можно сокетами передать TreeView? В сообщениях с итемами или можно как-то проще?
-
Извиняюсь, не сообразил где создать топик. Вопрос с Передачей Items. Вобще, как можно сокетами передать TreeView? В сообщениях с итемами или можно как-то проще?
-
-_- сорри за дабл
-
Так ты же начал допирать? По сети данные передавать научился? Сохранять TreeView в стрим? ну и все, передавай стрим.
-
procedure TForm1.Button1Click(Sender: TObject); begin TreeView1.SaveToFile('123'); Form2.TreeView2.LoadFromFile('123'); end;
-
procedure TForm1.Button1Click(Sender: TObject);
var
st: TMemoryStream;
begin
st:= TMemoryStream.Create;
TreeView1.SaveToStream(st);
st.Position:= 0;
Form2.TreeView2.LoadFromStream(st);
end;
-
> bibip (03.04.12 12:00) [13]
procedure TForm1.Button1Click(Sender: TObject);
var
st: TMemoryStream;
begin
st:= TMemoryStream.Create;
try
TreeView1.SaveToStream(st);
st.Position:= 0;
Form2.TreeView2.LoadFromStream(st);
finally
st.Free;
end;
end;
|