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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 00:40   #1
g00dhash
 
Регистрация: 15.07.2011
Сообщений: 4
По умолчанию Как загрузить в Мemo список файлов в каталоге

Всем привет.
Кто подскажет как реализовать загрузку всех txt файлов из папки в компонент memo.

были идеи сделать при помощи компонента listbox:

Код:
SendMessage(ListBox1.Handle,LB_DIR,0,integer(pchar('папка\*.txt')));
//получаем список txt файлов в listbox
g00dhash вне форума Ответить с цитированием
Старый 28.10.2011, 01:14   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Так что загружаем ? Файлы или их имена ? Или для вас это одно и то же ?
Если список файлов, то правильнее будет так:
Код:
ListBox1.Perform(LB_DIR, 0, LParam(PChar('*.txt')));
Добавьте конкретный каталог, как у вас в коде, если нужно...

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

Цикл по списку файлов, методом поиска по расширению в каталоге
Функции:
TSearchRec,
FindFirst,FindNext,FindClose.

процедура TMomo.loadFromFile('ПУТЬ ДО ФАЙЛА');
Человек_Борща вне форума Ответить с цитированием
Старый 28.10.2011, 02:38   #4
Хамяг
Форумчанин
 
Аватар для Хамяг
 
Регистрация: 22.08.2008
Сообщений: 105
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  SR: TSearchRec;
  S: TStrings;
begin
  if FindFirst('папка\*.txt',faAnyFile,SR) = 0 then
  repeat
    S:=TStringList.Create;
    S.LoadFromFile('папка\'+SR.Name);
    Memo1.Text:=Memo1.Text+#13+S.Text;
    S.Free;
  until FindNext(SR) <> 0;
  FindClose(SR);
end;
Хамяг вне форума Ответить с цитированием
Старый 28.10.2011, 14:21   #5
g00dhash
 
Регистрация: 15.07.2011
Сообщений: 4
По умолчанию

благодарю, получилось)
g00dhash вне форума Ответить с цитированием
Старый 24.01.2012, 12:43   #6
Marinesku
Пользователь
 
Регистрация: 01.12.2009
Сообщений: 13
По умолчанию

var
sr: TSearchRec;

begin
Memo1.Clear;
if FindFirst(Path + '*.txt', faAnyFile, sr) = 0 then
begin
repeat

Memo1.Lines.Add(sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;


Таким же образом можно собрать названия файлов любых расширений, тупо заменив txt на любое другое. Да, и собирает он из текущей папки.

http://www.delphi-vsem.ru/009.html

Здесь описано подробнее.
Marinesku вне форума Ответить с цитированием
Старый 25.01.2012, 09:55   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Marinesku, во-первых, код на форуме нужно оформлять тегами.
а во-вторых, Вас не смутило то, что было описано в пост #4 ?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.01.2015, 10:32   #8
Shinobi3456
 
Регистрация: 03.09.2012
Сообщений: 7
Хорошо Решение есть

Легко...
Код:
procedure GetAllFiles( Path: string; Lb: TListBox);
var
sRec: TSearchRec;
isFound: boolean;
begin
isFound := FindFirst( Path + '\*.*', faAnyFile, sRec ) = 0;
while isFound do
begin
if ( sRec.Name &lt;&gt; '.' ) and ( sRec.Name &lt;&gt; '..' ) then
begin
if ( sRec.Attr and faDirectory ) = faDirectory then
GetAllFiles( Path + '\' + sRec.Name, Lb );
Lb.Add( Path + '\' + sRec.Name );
end;
Application.ProcessMessages;
isFound := FindNext( sRec ) = 0;
end;
FindClose( sRec );
end;
Ну это собственно основа..,Эту функцию можно модернизировать что выбирала определенный тип файлов. Вот статья на эту тему:
http://myshinobi.ru/kak-poluchit-spi...-papke-delphi/

Последний раз редактировалось Stilet; 23.01.2015 в 11:04.
Shinobi3456 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переименование всех файлов в каталоге calugin PHP 3 14.05.2011 12:05
Delphi idftp загрузить все файлы в каталоге Plexdeath Работа с сетью в Delphi 0 25.04.2011 14:07
Как узнать список файло и папок на ФТПв неактивном каталоге? Slavka8800 Работа с сетью в Delphi 2 21.05.2009 08:58
как посчитать количество файлов в каталоге? помогите плиз older Общие вопросы Delphi 5 23.05.2008 14:22
как загрузить в ListBox несколько текстовых файлов? One.Love Общие вопросы Delphi 5 14.01.2008 11:54