Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2010, 22:08   #1
KWNlnc
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 39
Печаль виртуальные файлы и папки по текстам

делаю уделеный доступ.

получаю адреса к файлам и папкам. примерно так...

C:\
Documents and Settings\
Program Files\
WINDOWS\

как мне это все реализовать в вируальных папках.

скажем чтобы это было так... как будто я копаюсь у себя в компьютере. (проводник) а не путями в memo1

??? помогите....
KWNlnc вне форума Ответить с цитированием
Старый 07.04.2010, 23:08   #2
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Поддержую, хотел бы узнать как такое зделать...
W0LF вне форума Ответить с цитированием
Старый 07.04.2010, 23:30   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Мои мысли:
взять TreeView ..
читать каталоги на клиенте(где-то там)...
первое название это имя каталога в дереве..
Все что после / это подкаталоги..
инфу на сервере в обработку...

к примеру так..
Клиент забирает пути каталогов..
те же
C:\
Documents and Settings\
Program Files\
WINDOWS\

посылает на сервер в обработчик..
Обрабатывет..
Первое это имя ветки..
на примере C:\Windows
C:\ становиться иминем ветки...
все что после \ становится под каталогами...
и частями ветви..
так можно сформировать проводник на сервере...

а при переходе по ветви формировать строковые ссылки..
из
С:\ --|
|-Windows

в c:\windows и посылать на клиент..

это мои мысли...
Но думаю это реально.

Последний раз редактировалось Человек_Борща; 07.04.2010 в 23:58.
Человек_Борща вне форума Ответить с цитированием
Старый 08.04.2010, 00:15   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...это возможно ...пробуйте, UDP файловый менеджер ...сервер-клиент (собственно, различия нет) ...функционал определения размера файлов-каталогов не добавлен, реализация на начальном уровне, руки так и не дошли делалось для работы со второй машиной по радиоканалу, пока не появился anyplacecontrol

Цитата:
реализовано:
. навигация по удаленному ПК, при наличии второй такой-же
. перекидывание файлов туда-сюда
. индикация включения удаленной машины
. дополнительный icmp пинг (делалось для проверки доступности роутера прова)
. и т.д. и т.п.

в файле <fm.ini> указать host=ip удаленной машины
Вложения
Тип файла: zip UDP FM.ZIP (212.5 Кб, 14 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.04.2010, 00:36   #5
KWNlnc
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 39
По умолчанию

народ. я не вижу этого! ((( как сделать это примерно как в ShellListView1 ??? помогите. скиньте исходник.
KWNlnc вне форума Ответить с цитированием
Старый 10.04.2010, 14:33   #6
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Перевод списка файлов и каталогов из TStringList в TreeView с построением дерева каталогов.

Автор: Радионов Алексей
WEB-сайт: http://delphibase.endimus.com


Код:
{ **** UBPFD *********** by delphibase.endimus.com ****
>> Перевод списка файлов/каталогов из TStringList в
TreeView с построением "дерева каталогов"

Иногда бывает нужно построить "дерево каталогов" по
заданному списку файлов и папок (причем физически
эти файлы и каталоги могут не существовать).
Представляемый здесь код занимается именно этим.

Зависимости: sysutils, classes, comctrls
Автор:       Радионов Алексей (Alx2), alx@argo.mv.ru, ICQ:113442587, Ульяновск
Copyright:   Alx2
Дата:        3 июля 2002 г.
***************************************************** }

procedure FillTreeViewWithFiles(TreeView1: TTreeView; Strs: TStringList);
var
  CachedStrs: TStringList; // CachedStrs вводится для ускорения поиска
  // в уже готовом дереве.

  procedure AddItem(Lev: Integer; ParentNode: TTreeNode; S: string);
    function FindNodeWithText(AParent: TTreeNode; const S: string): TTreeNode;
    var
      K: Integer;
      fStr: string;
      tmpNode: TTreeNode;
    begin
      Result := nil;
      fStr := S + IntToStr(Integer(AParent));
      K := CachedStrs.IndexOf(fStr);
      if K > -1 then
        Result := Pointer(CachedStrs.Objects[K])
      else
      begin
        if AParent <> nil then
          tmpNode := AParent.getFirstChild
        else
          tmpNode := TreeView1.Items.GetFirstNode;
        while tmpNode <> nil do
        begin
          if tmpNode.Text = S then
          begin
            Result := tmpNode;
            CachedStrs.AddObject(fStr, Pointer(tmpNode));
            break;
          end;
          tmpNode := tmpNode.getNextSibling;
        end;
      end
    end;

  var
    prefix: string;
    ID: Integer;
    aNode: TTreeNode;
  begin
    if S = '' then
      Exit;
    ID := Pos('\', S);
    prefix := '';
    if ID > 0 then
      prefix := Copy(S, 1, ID - 1)
    else
    begin
      prefix := S;
      S := '';
    end;

    aNode := FindNodeWithText(ParentNode, prefix);

    if aNode = nil then
    begin
      aNode := TreeView1.Items.AddChild(ParentNode, prefix);
    end;

    AddItem(Lev + 1, aNode, Copy(S, ID + 1, Length(S)));

  end;

var
  K: Integer;
begin
  CachedStrs := TStringList.Create;
  CachedStrs.Duplicates := dupIgnore;
  CachedStrs.Sorted := True;
  try
    TreeView1.Items.BeginUpdate;
    TreeView1.SortType := stNone;
    for K := 0 to Strs.Count - 1 do
      AddItem(0, nil, Strs[K]);
  finally
    TreeView1.Items.EndUpdate;
    CachedStrs.Free;
  end;
end;

Пример использования: 
// Построим, например, "дерево каталогов" по трем файлам:
procedure TForm1.Button1Click(Sender: TObject);
var
  Strs: TStringList;
begin
  Strs := TStringList.Create;
  try
    Strs.Add('D:\Program Files\Borland\Delphi6\Source\Vcl\Printers.dcu');
    Strs.Add('D:\Program Files\Borland\Delphi6\Source\Vcl\WinHelp.dcu');
    Strs.Add('C:\WINNTS\system\BORLNDMM.DLL');
    FillTreeViewWithFiles(TreeView1, Strs);
  finally
    Strs.Free;
  end;
end;
W0LF вне форума Ответить с цитированием
Старый 13.04.2010, 08:30   #7
KWNlnc
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 39
По умолчанию

А как это сделать именно в папка а не в трее... в трее это уже известно. please help
KWNlnc вне форума Ответить с цитированием
Старый 13.04.2010, 08:48   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я что-то не понял что такое виртуальная папка...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.04.2010, 09:19   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...обычный бэкдур ваяют
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 13.04.2010, 18:19   #10
KWNlnc
Пользователь
 
Регистрация: 22.03.2010
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я что-то не понял что такое виртуальная папка...
вообщем это должно выглядить как будто это "файлы или папки"
скажем

C:\delphi\
C:\delphi\Папка\
C:\delphi\Блокнот.txt
Изображения
Тип файла: jpg delphi.jpg (15.0 Кб, 92 просмотров)
KWNlnc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
удалить файлы и папки Viten2 Общие вопросы Delphi 31 08.09.2011 13:18
Некотрые папки и файлы не открываются в Windows XP x64 Альбертъ Windows 1 03.05.2009 01:40
Как обработат файлы из папки? ne4aJIb Помощь студентам 3 04.10.2008 14:34
Скрытые файлы и папки в OpenDialog Veiron Общие вопросы Delphi 6 05.03.2008 09:03