Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Копирование TTreeView   Найти похожие ветки 

 
homeknight   (2012-04-02 11:32) [0]

Здравствуйте, в делфи новичек. Стоит задача копирования 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
Хочу просто записать в цикл копирование по индексу. Подскажите, пожалуйста, как это организовать.


 
Cobalt ©   (2012-04-02 12:54) [1]

пишешь рекурсивную функцию обхода дерева TTreeView
обходишь дерево исходного контрола, и добавляешь во второе дерево новые TTreeViewItem , копируя содержимое элементов методом Assign


 
Cobalt ©   (2012-04-02 13:12) [2]

Ой, че-то я вообще заумничал :)
TreeView1.Items.Assign(Form2.TtreeView2.Items);

полная замена всех элементов дерева


 
homeknight   (2012-04-02 13:45) [3]

Ясно... а если передать это дерево в локальной сети из программы-клиента на программу-сервер, то функцию обхода вставлять в передачу строки сокетом?
Я мож че путаю... опыт работы с сокетом = 0. Буду рад помощи... А пока спасибо и за это. Ща буду тестить.


 
Cobalt ©   (2012-04-02 14:15) [4]

У элемента TreeView1.Items есть иные методы, как-то SaveToStream/LoadFromStream


 
homeknight   (2012-04-02 14:16) [5]

Вобщем вопрос в следующем: как передать Item по сети. Какими компонентами пользоваться?


 
homeknight   (2012-04-02 14:17) [6]


> Cobalt ©   (02.04.12 14:15) [4]
> У элемента TreeView1.Items есть иные методы, как-то SaveToStream/LoadFromStream


Начинаю допирать)


 
DimaBr ©   (2012-04-02 22:27) [7]

Внимание! Здесь обсуждаются вопросы, связанные с разработкой компонентов, редакторов свойств, редакторов компонентов и экспертов IDE.
Вопросы по поиску и использованию готовых компонентов, редакторов или экспертов являются нарушением тематики и могут быть удалены.


 
homeknight   (2012-04-02 23:00) [8]

Извиняюсь, не сообразил где создать топик. Вопрос с Передачей Items. Вобще, как можно сокетами передать TreeView? В сообщениях с итемами или можно как-то проще?


 
homeknight   (2012-04-02 23:01) [9]

Извиняюсь, не сообразил где создать топик. Вопрос с Передачей Items. Вобще, как можно сокетами передать TreeView? В сообщениях с итемами или можно как-то проще?


 
homeknight   (2012-04-02 23:01) [10]

-_- сорри за дабл


 
Cobalt ©   (2012-04-03 09:44) [11]

Так ты же начал допирать?
По сети данные передавать научился?
Сохранять TreeView в стрим?
ну и все, передавай стрим.


 
bibip   (2012-04-03 11:57) [12]

procedure TForm1.Button1Click(Sender: TObject);
begin
 TreeView1.SaveToFile("123");
 Form2.TreeView2.LoadFromFile("123");
end;


 
bibip   (2012-04-03 12:00) [13]

procedure TForm1.Button1Click(Sender: TObject);
var
 st: TMemoryStream;
begin
 st:= TMemoryStream.Create;
 TreeView1.SaveToStream(st);
 st.Position:= 0;
 Form2.TreeView2.LoadFromStream(st);
end;


 
Юрий Зотов ©   (2012-04-03 12:56) [14]


> 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;



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
15-1345581002
Юрий
2012-08-22 00:30
2013.03.22
С днем рождения ! 22 августа 2012 среда


15-1351492587
Olga.Duplenko
2012-10-29 10:36
2013.03.22
Работа для классных профессионалов-разработчиков


15-1346063472
>|<
2012-08-27 14:31
2013.03.22
Локализация утечки памяти


15-1348730620
Jeer
2012-09-27 11:23
2013.03.22
Приподнимая завесу..


2-1339398926
Handler
2012-06-11 11:15
2013.03.22
сравнение строк