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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 20:53   #1
alekstav
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 13
По умолчанию Вывод данных из массива

Здравствуйте. У меня есть массив, в нем записаны названия файлов (полный путь).
Я не могу сделать так, чтоб программа последовательно брала из массива название файлов и открывала каждый файл из списка массива.
Файлы будут открываться для поиска в них ключевого слова (этот модуль есть) и те, которые отвечают требованиям поиска, будут отсортировываться (записываться в другой массив).
Заранее спасибо.
alekstav вне форума Ответить с цитированием
Старый 22.12.2010, 06:08   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

закинь в цикл чтение из фаила, а вместо пути постав содержимое ячеики из матрици
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 22.12.2010, 06:09   #3
MaxNik2009
Форумчанин
 
Аватар для MaxNik2009
 
Регистрация: 17.09.2009
Сообщений: 294
По умолчанию

1. Конкретно что не получается сделать?
2. Где наработки?
принимаю благодарности в письменном виде( весы слева)...
MaxNik2009 вне форума Ответить с цитированием
Старый 24.12.2010, 07:00   #4
alekstav
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 13
По умолчанию

Добрый день.
Я все пытаюсь сделать так, чтоб программа открывала последовательно файлы txt из указанного каталога, пути которых предварительно были внесены в массив и искала в них введенное мной ключевое слово.
Но при выполнении процедуры редактор пишет:
Project raised exception class EFOpenError with message 'Cannot open file "". Системе не удается найти указанный путь.
Т.е. я не могу извлечь эти пути из массива… Пробовал создать глобальный массив, но что то не получается наверно.
Выкладываю свой проект.
Очень надеюсь, что вы мне поможете.
Вложения
Тип файла: rar Проект.rar (170.7 Кб, 14 просмотров)
alekstav вне форума Ответить с цитированием
Старый 26.12.2010, 07:51   #5
alekstav
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 13
По умолчанию

Который день бьюсь, не могу сделать так чтоб из ячейки
массива брался путь к файлу!
Прямой командой, когда указываешь путь
в листинге все открывает - f:=('c:\3\1.txt').
А когда присваиваю не прямой путь к файлу, а ячейку массива,
например f := ('a_mas[2]') уже не может найти файл.
При этом если просишь вывести содержимое ячейки через ShowMessage (a_mas[2]); показывает путь…
Что за дела?
Код:
 var
  myFile : TextFile;
  text   : string;
  f: string;

 begin

  // f:=('c:\2\2.txt');  // в таком варианте открывает файл

  f:=('a_mas[2]');  // а вот если так написать то уже не открывает файл

  AssignFile(myFile,f);

  ShowMessage (a_mas[2]); 

  Reset(myFile);
     while not Eof(myFile) do
        begin
           ReadLn(myFile, text);
           ShowMessage(text);
        end;
      CloseFile(myFile);

 end;
.......

Вот как задан массив:

const
     SIZE = 500;
var

   a_mas:array[1..SIZE] of string;   // 
   n_mas: integer; // 
   i_mas: integer; //


begin
   n_mas:= Memo1.Lines.Count;
   for i_mas := 1 to n do
              a_mas[i_mas] := Form1.Memo1.Lines[i_mas-1];

end;

Последний раз редактировалось alekstav; 26.12.2010 в 07:55.
alekstav вне форума Ответить с цитированием
Старый 26.12.2010, 08:36   #6
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Код:
 f:=('a_mas[2]');
У Вас на компе есть файл с названием 'a_mas[2]' ??? У меня лично нет, все файлы хранятся на дисках.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 26.12.2010 в 08:44.
Johnson вне форума Ответить с цитированием
Старый 26.12.2010, 09:38   #7
alekstav
Пользователь
 
Регистрация: 16.12.2010
Сообщений: 13
По умолчанию

Тут разобрался кавычки надо было убрать!
f:=('a_mas[2]');
f:=(a_mas[2]);
alekstav вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
СИ, вывод массива символов ray13 Помощь студентам 7 16.09.2020 07:49
вывод массива из подпрограммы nomi Помощь студентам 2 13.05.2010 08:20
Вывод массива по спирали coNsept Общие вопросы C/C++ 1 15.12.2009 20:20
Вывод массива в текст valeologiya Общие вопросы C/C++ 0 06.11.2009 11:58
Вывод двумерного массива pancho Общие вопросы Delphi 10 25.01.2009 23:31