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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2010, 16:46   #1
Dimakat
 
Регистрация: 30.09.2009
Сообщений: 5
По умолчанию ListBox аля проводник

Добрый день.
У меня сейчас имеется ComboBox в котором идет выбор локального диска, после того как я выбрал диск в ListBox появляется все папки и файлы на этом диске. Вопрос: как сделать переход по директориям в ListBox , чтобы можно было ходить по папкам как в проводнике)
Dimakat вне форума Ответить с цитированием
Старый 07.09.2010, 17:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например так:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var  path:string;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 path:='c:\';
 SendMessage(ListBox1.Handle,LB_DIR,DDL_ARCHIVE	or DDL_DIRECTORY		,integer(pchar(path+'*')));
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
  path:=path+copy(ListBox1.Items[ListBox1.itemindex],2,length(ListBox1.Items[ListBox1.itemindex])-2)+'\';
  ListBox1.Clear;
  SendMessage(ListBox1.Handle,LB_DIR,DDL_DRIVES	,integer(pchar(path+'*')));
end;

end.
А если это отладить получится прикольный проводничек.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.09.2010, 19:24   #3
Dimakat
 
Регистрация: 30.09.2009
Сообщений: 5
По умолчанию

Нет, все равно не будет работать.. у вас в программе тоже самое что и у меня, нельзя переходить в директории...
Dimakat вне форума Ответить с цитированием
Старый 07.09.2010, 20:30   #4
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

вот так правильней

Код:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  path := path + copy(ListBox1.Items[ListBox1.itemindex], 2, length(ListBox1.Items[ListBox1.itemindex]) - 2) + '\';
  ListBox1.Clear;
  SendMessage(ListBox1.Handle, DDL_ARCHIVE or DDL_DIRECTORY, integer(pchar(path + '*')));
end;
ZuBy вне форума Ответить с цитированием
Старый 07.09.2010, 23:49   #5
Dimakat
 
Регистрация: 30.09.2009
Сообщений: 5
По умолчанию

Спасибо)) а вот так еще правильней:
Код:
procedure TForm1.ListBox1Click(Sender: TObject);
begin
  path := path + copy(ListBox1.Items[ListBox1.itemindex], 2, length(ListBox1.Items[ListBox1.itemindex]) - 2) + '\';
  ListBox1.Clear;
  SendMessage(ListBox1.Handle,LB_DIR,DDL_ARCHIVE	or DDL_DIRECTORY		,integer(pchar(path+'*')));
end;
Dimakat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TreeView и проводник Baaandit Общие вопросы Delphi 4 23.11.2009 18:37
Передача двумерного массива аля матрицы из функции bondik Общие вопросы C/C++ 1 20.05.2009 15:46
edit-фильтр аля Google 1sal1 Помощь студентам 2 07.07.2008 23:16
edit с фильтром аля Google 1sal1 БД в Delphi 1 07.07.2008 20:34
Проводник....... ZhekON Общие вопросы Delphi 9 10.02.2008 11:10