Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Копирование 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.069 c
15-1336631511
jacksotnik
2012-05-10 10:31
2013.03.22
Корректное сохранение файла


3-1277112330
alexnauz
2010-06-21 13:25
2013.03.22
Как заставить IBQuery или OraQuery вернуть пустой результат


4-1257811332
MemoryLeak
2009-11-10 03:02
2013.03.22
Mime filter + ie8 + vista/win7.


15-1342379221
Просто ФАН
2012-07-15 23:07
2013.03.22
Работа с файлами


2-1348491706
Дениска
2012-09-24 17:01
2013.03.22
Кеширующий HTTP прокси сервер на основе IndyHTTPProxyServer





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский