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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.10.2010, 19:58   #1
nevru1bphp
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 11
По умолчанию Сохранение в listbox результата

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure ScanDir(StartDir: string; Mask: string; List: TStrings);
var
  SearchRec: TSearchRec;Edit1: TEdit;
begin
StartDir:='C:\';
  if Mask = '' then
    Mask := '*.*';
  if StartDir[Length(StartDir)] <> '\' then
    StartDir := StartDir + '\';
  if FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
  begin
    repeat Application.ProcessMessages;
      if (SearchRec.Attr and faDirectory) <> faDirectory then
        List.Add(StartDir + SearchRec.Name)
      else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')then
      begin
        List.Add(StartDir + SearchRec.Name + '\');
      ScanDir(StartDir + SearchRec.Name + '\', Mask, List);
  end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;





end.
Хотелось бы не в лист сохранять, а в листбокс1. Пробовал по разному, ошибок нет, но не сохраняет.. Подскажите кто столкнулся
Редактировать/Удалить сообщение Ответить с цитированием
nevru1bphp вне форума Ответить с цитированием
Старый 08.10.2010, 20:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Пробовал по разному
Как пробовал?

Вызови эту процедуру, передав ей ЛистБокс:
Код:
ScanDir('c:\','*',ListBox.Items);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.10.2010, 20:06   #3
nevru1bphp
Пользователь
 
Регистрация: 30.03.2009
Сообщений: 11
По умолчанию

попробовал так:
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure ScanDir(StartDir: string; Mask: string; List: TStrings);
var
  SearchRec: TSearchRec; ListBox1: TListBox;
begin
ScanDir('c:\','*',ListBox1.Items);

end;
- не работает, ошибок нет, но и листбокс1 пустой((
nevru1bphp вне форума Ответить с цитированием
Старый 08.10.2010, 21:26   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Код:
procedure ScanDir(StartDir: string; Mask: string; List: TStrings);
var
  SearchRec: TSearchRec;Edit1: TEdit;
begin
StartDir:='C:\';
  if Mask = '' then
    Mask := '*.*';
  if StartDir[Length(StartDir)] <> '\' then
    StartDir := StartDir + '\';
  if FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
  begin
    repeat Application.ProcessMessages;
      if (SearchRec.Attr and faDirectory) <> faDirectory then
        List.Add(StartDir + SearchRec.Name)
      else if (SearchRec.Name <> '..') and (SearchRec.Name <> '.')then
      begin
        List.Add(StartDir + SearchRec.Name + '\');
      ScanDir(StartDir + SearchRec.Name + '\', Mask, List);
  end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;

//И по нажатию кнопки (к примеру) вызывай:
Procedure Button1Click (sender);
Begin
  ScanDir('c:\','*',ListBox.Items);
end;
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 09.10.2010, 11:56   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
не работает, ошибок нет, но и листбокс1 пустой((
if FindFirst(StartDir + Mask, faAnyFile or faDirectory, SearchRec) = 0 then

если надо сканировать вложенные
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение результата расчетов макроса Stanislav D Помощь студентам 1 15.08.2009 15:13
загрузка массива и сохранение результата в файл Ferghost Общие вопросы C/C++ 2 03.06.2009 20:24
сохранение результата запроса в таблицу БД stepchild БД в Delphi 11 13.06.2008 11:20
сохранение результата выборки из DBF файла в DBF файл с такой же структурой таблицы GazimagomedovM БД в Delphi 5 06.11.2007 17:58