Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.05.2009, 14:19
Sveta22 Sveta22 вне форума
Прохожий
 
Регистрация: 29.10.2008
Сообщения: 31
Репутация: 10
По умолчанию TreeView)))

Добрый день))) Такой вопросик, можно ли к веткам TreeView прикрепить определенные файлы для скачивания?
Вот такой кодик
Код:
1
2
3
4
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Memo1.Lines.Clear;
if (node.Text = '1') then Memo1.Lines.LoadFromFile ('c:\1.txt');
это при нажатии на ветку в мемо отображается содержимое текст файла. А есть кнопка
Код:
1
2
3
4
5
6
7
procedure TForm1.Button1Click(Sender: TObject);
var
  TargetFileName: String;
begin
  if SaveDialog1.Execute then
    TargetFileName:= SaveDialog1.FileName;
end;
Это для копирования файла
Как прикрепить к ветки файл допустим exe или rar, что бы выбрав определенную ветку и нажав кнопку копировался этот файл?
Ответить с цитированием
  #2  
Старый 13.05.2009, 15:34
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

как вариант, может быть примерно такой подход :

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Type
  PRec_Attr = ^TRec_Attr; //Атрибуты узла в дереве         
  TRec_Attr = packed record
                FileName : string;
                .. и если что-то еще, что надо ...                                                                                                                                                                 
              end;
 
function ???.Tree_InsertThis_Node(NodeParent : TTreeNode; sNodeName : string; sFileName : string) : boolean
//Вставка узла :                  
Var
  PRec  : PRec_Attr;
begin
  ...       
  if NodeParent<>NIL then begin
     New(PRec);
     PRec^.FileName := sFileName;
     MyTree.Selected:=MyTree.Items.AddChildObject(NodeParent,sNodeName,PRec);
     ...       
     ...       
  end;
end;
 
function ???.Tree_DeleteThis_Node(Node : TTreeNode) : boolean;
//Удалить узел дерева
Var
  sFileName : string;
begin
  Result:=false;
  if Assigned(Node) then begin
      
     sFileName:=Get_FileName(Node);
     if FileExists(sFileName) then begin
        //что-то делаем с файлом и др.атрибутами, если надо                                                                        
     end;
 
     if Node.Data<>NIL then begin
        //освобождаем ресурсы (занятые под атрибуты узла дерева)                                                                                                                                                  
        PRec_Attr(Node.Data)^.FileName:='';
        Dispose(PRec_Attr(Node.Data));
        Node.Data:=NIL;
     end;
        
     MyTree.Items.Delete(Node); //удаляем узел
     Result:=true;                              
  end;
end;
     
 
function ???.Get_FileName(Node: TTreeNode) : string;
//Прочитать имя файла (в контексте данного узла)                                                                           
begin
  Result:='';
  if Assigned(Node) then begin
     if Node.Data<>NIL then begin
        Result:=Trim(PRec_Attr(Node.Data)^.FileName);
     end;
  end;
end;
 
 
               
 
Освободить ресурсы (если дерево уничтожается) :                                                           
   for i:=0 to (MyTree.Items.Count-1) do
    begin
      if MyTree.Items[i]<>NIL then begin
         if MyTree.Items[i].Data<>NIL then begin
            PRec_Attr(MyTree.Items[i].Data)^.FileName:='';
            Dispose(PRec_Attr(MyTree.Items[i].Data));
            MyTree.Items[i].Data:=NIL;
         end;
      end;
   end;
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:18.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025