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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2012, 23:00   #1
ZverBlin
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 10
По умолчанию Как загрузить в Memo 20+ текстовых файлов?

Как загрузить в Memo сразу несколько десятков текстовых файлов которые в папке с программой?
ZverBlin вне форума Ответить с цитированием
Старый 17.03.2012, 23:09   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В цикле каждый файл читать в StringList и Memo.Lines.Text:=Memo.Lines.Text+St ringList.Text
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 17.03.2012, 23:09   #3
AlexKhol
Пользователь
 
Регистрация: 04.02.2012
Сообщений: 15
По умолчанию

можно назвать файлы,например 1.txt,2.txt....и тд. И с помощью 2-х циклов ,1-й будет для названий файлов,а второй будет до тех пор пока файл не дошел до конца.
var a:string;
i:integer;
T:TextFile;
for i:=1 to 20 do begin
AssignFile(T,Inttostr(i)+'.txt');
Reset(T);
While not SeekEof(T) do begin
readln(T,a);
Memo1.Lines.Add(a);


end;
CLoseFile(T);
end;

Последний раз редактировалось AlexKhol; 17.03.2012 в 23:14.
AlexKhol вне форума Ответить с цитированием
Старый 17.03.2012, 23:23   #4
ZverBlin
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 10
По умолчанию

все файлы названы по разному
и просто при нажатии на кнопочку надо из них всех всё в Memo показать
ZverBlin вне форума Ответить с цитированием
Старый 18.03.2012, 11:00   #5
AlexKhol
Пользователь
 
Регистрация: 04.02.2012
Сообщений: 15
По умолчанию

Цитата:
Сообщение от ZverBlin Посмотреть сообщение
все файлы названы по разному
и просто при нажатии на кнопочку надо из них всех всё в Memo показать
Тогда делайте поиск с помощью FindNext.С маской *.txt,и записывайте пути файлов в LIstBox например.
AlexKhol вне форума Ответить с цитированием
Старый 18.03.2012, 11:09   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

openDialog Options ofAllowMultiSelect =True

Код:
r:=TstringList.Cretae;
for j:=0 to opendialog.Files.Count-1 do begin
  r.LoadFromfile(opendialog.files.strings[j]);
  memo.lines.add(r);
end;
r.Free;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 18.03.2012, 11:19   #7
AlexKhol
Пользователь
 
Регистрация: 04.02.2012
Сообщений: 15
По умолчанию

Код:
procedure GetAllFiles1(mask: string;List:TLIstBox);
var
  search: TSearchRec;
  directory: string;
  i,n,j:integer;

begin
    n:=0;
  directory := ExtractFilePath(mask);

  // find all files

  if FindFirst(mask, $23, search) = 0 then
  begin
    repeat
      // add the files to the listbox

form18.ListBox1.Items.Add(directory + search.Name);

    until FindNext(search) <> 0;
  end;

  // Subdirectories/ Unterverzeichnisse
  if FindFirst(directory + '*.*', faDirectory, search) = 0 then
  begin
    repeat
      if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> '.') then
 GetAllFiles1(directory + search.Name + '\' + ExtractFileName(mask),list);
    until FindNext(search) <> 0;
    FindClose(search);
  end;
end;

procedure TForm18.Button1Click(Sender: TObject);
var
directory,mask:string ;
begin
  directory := ExtractFilePath  (Application.ExeName);
  mask :='*.txt';
  GetAllFiles1(directory+mask,Listbox1);
end;

procedure TForm18.Button2Click(Sender: TObject);
var
T:TextFile;
a:string;
i,j:integer;
   begin
for i:=1 to Listbox1.Items.Count do begin
AssignFile(T,Listbox1.Items[i-1]);
Reset(T);
While not SeekEof(T) do begin
readln(T,a);
Memo1.Lines.Add(a);


end;
CLoseFile(T);
end;
end;

Новая папка.rar

Последний раз редактировалось AlexKhol; 18.03.2012 в 11:22.
AlexKhol вне форума Ответить с цитированием
Старый 18.03.2012, 21:37   #8
ZverBlin
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
openDialog Options ofAllowMultiSelect =True

Код:
r:=TstringList.Cretae;
for j:=0 to opendialog.Files.Count-1 do begin
  r.LoadFromfile(opendialog.files.strings[j]);
  memo.lines.add(r);
end;
r.Free;
можно написать с переменными
var ..... ?
ZverBlin вне форума Ответить с цитированием
Старый 18.03.2012, 21:38   #9
ZverBlin
Пользователь
 
Регистрация: 08.08.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от AlexKhol Посмотреть сообщение
Код:
procedure GetAllFiles1(mask: string;List:TLIstBox);
var
  search: TSearchRec;
  directory: string;
  i,n,j:integer;

begin
    n:=0;
  directory := ExtractFilePath(mask);

  // find all files

  if FindFirst(mask, $23, search) = 0 then
  begin
    repeat
      // add the files to the listbox

form18.ListBox1.Items.Add(directory + search.Name);

    until FindNext(search) <> 0;
  end;

  // Subdirectories/ Unterverzeichnisse
  if FindFirst(directory + '*.*', faDirectory, search) = 0 then
  begin
    repeat
      if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> '.') then
 GetAllFiles1(directory + search.Name + '\' + ExtractFileName(mask),list);
    until FindNext(search) <> 0;
    FindClose(search);
  end;
end;

procedure TForm18.Button1Click(Sender: TObject);
var
directory,mask:string ;
begin
  directory := ExtractFilePath  (Application.ExeName);
  mask :='*.txt';
  GetAllFiles1(directory+mask,Listbox1);
end;

procedure TForm18.Button2Click(Sender: TObject);
var
T:TextFile;
a:string;
i,j:integer;
   begin
for i:=1 to Listbox1.Items.Count do begin
AssignFile(T,Listbox1.Items[i-1]);
Reset(T);
While not SeekEof(T) do begin
readln(T,a);
Memo1.Lines.Add(a);


end;
CLoseFile(T);
end;
end;
Вложение 48673
ругается на [Error] Project9.dpr(11): Undeclared identifier: 'MainFormOnTaskbar'
ZverBlin вне форума Ответить с цитированием
Старый 19.03.2012, 12:25   #10
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

Цитата:
можно написать с переменными
var ..... ?
Код:
var
  r: TStringList;
  j: integer;
на форме компоненты TOpendialog (вкладка Dialog) c именем Opendialog
Tmemo (вкладка standart) c именем Memo
если имена другие, то соответвенно надо менять эти имена.

все это должно быть после вызова вызова диалога

Код:
if Opendialog.execute then begin
 ....// здесь код заполнения
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как загрузить в Мemo список файлов в каталоге g00dhash Общие вопросы Delphi 7 23.01.2015 10:32
Как загрузить файл из интернета в memo? darvin232 Работа с сетью в Delphi 4 19.06.2011 08:56
как в memo загрузить файл с расширением *.doc Азамат Казанчев Помощь студентам 17 13.05.2011 14:51
Народ как загрузить текст в Memo из готового фала, который указан в ListBox?) OPF_Nik Общие вопросы Delphi 7 09.11.2009 23:13
как загрузить в ListBox несколько текстовых файлов? One.Love Общие вопросы Delphi 5 14.01.2008 11:54