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

Delphi Sources



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

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

Добрый день))) Такой вопросик, можно ли к веткам TreeView прикрепить определенные файлы для скачивания?
Вот такой кодик
Код:
procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Memo1.Lines.Clear;
if (node.Text = '1') then Memo1.Lines.LoadFromFile ('c:\1.txt');
это при нажатии на ветку в мемо отображается содержимое текст файла. А есть кнопка
Код:
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
По умолчанию

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

Код:
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;


Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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