0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 32
1
Delphi 6-7

Выбор нескольких файлов сразу и их обработка в одной процедуре

13.08.2018, 18:17. Показов 1716. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
На данный момент написана программа, с помощью которой:
1)Производится выбор txt файла(одного) из любой директории по нажатию на Button1 на форме.
2)Данные с файла обрабатываются и заносятся в одномерный численный массив, с которым можно работать.
3)Расчет и получение необходимых параметров по данным из одномерного численного массива.

Возник такой вопрос:
Можно ли каким-нибудь образом организовать выбор нескольких txt файлов сразу, и чтобы данные с этих файлов заносились в численный массив (в таком случае,как я понимаю,переходим к двумерным массивам)? Чтобы это осуществлялось по нажатию на кнопку Button,выбиралось несколько необходимых файлов, и процедура Button обрабатывала их,занося данные в двумерный массив?

Есть реализация данной программы на фортране, где для решения поставленной задачи я перешел к двумерным массивам, и осуществил внешний цикл, который проходит программу столько раз,сколько файлов надо мне выбрать,и данные со всех файлов заносятся в двумерный массив. Могу приложить,если необходимо.

Добавлено через 33 минуты
Забыл упомянуть,что порядок выбора файлов важен. Т.е, чтобы когда я выбрал несколько файлов, они не раскидались как попало в массиве,и я знал, под каким именно номером какой файл.
Т.е если я выбираю файлы 1.txt,2.txt,3.txt,4.txt то в массиве они были бы расположены так:
1.txt - a[:,1]
2.txt - a[:,2]
3.txt - a[:,3]
4.txt - a[:,4]

Возможен вариант,когда диалоговое окно выбора файла вызывается несколько раз, и каждый раз выбираешь один файл,потом снова диалоговое окно и выбираешь следующий,и т.д, пока не выберешь необходимое число файлов. Думаю, в таком случае, порядок файлов в массиве сохранится, но как реализовать,пока не очень понимаю.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2018, 18:17
Ответы с готовыми решениями:

Обработка нескольких классов исключений сразу
Всем привет! Сделал блок для обработки исключений: try ... except on EInOutError do begin...

Обработка сразу нескольких переменных методом TryParse()
можно ли в TryParse записывать сразу несколько переменных? или только одну можно?

Выборка сразу нескольких значений с одной таблицы
Добрый день. Нужна помощь. Есть ужасная таблица с кучей информации. Хочу вытянуть определенные...

Combobox и выбор сразу нескольких значений
Есть Combobox в нём есть имена, как сделать выбор нескольких имён сразу и как с этим работать?...

6
Нарушитель
8990 / 4844 / 1118
Регистрация: 12.03.2015
Сообщений: 22,933
13.08.2018, 18:54 2
Цитата Сообщение от pda95 Посмотреть сообщение
Возможен вариант,когда диалоговое окно выбора файла вызывается несколько раз, и каждый раз выбираешь один файл
Я надеюсь, что это ты шутишь. Да?

Выбор нескольких файлов сразу и их обработка в одной процедуре


Выбор нескольких файлов сразу и их обработка в одной процедуре
1
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 32
13.08.2018, 19:08  [ТС] 3
Цитата Сообщение от Verevkin Посмотреть сообщение
Я надеюсь, что это ты шутишь. Да?
Разве в таком случае сохранится порядок, о котором я писал? Мне важно заранее знать,под каким номером в массиве будут данные с конкретного файла,а не узнавать это потом самому.
0
Нарушитель
8990 / 4844 / 1118
Регистрация: 12.03.2015
Сообщений: 22,933
13.08.2018, 19:29 4
Цитата Сообщение от pda95 Посмотреть сообщение
Разве в таком случае сохранится порядок, о котором я писал?
При закрытии диалога у тебя в памяти будет список имён выбранных файлов. Переставляй на здоровье в нужном порядке, какие проблемы-то?
1
0 / 0 / 0
Регистрация: 09.05.2011
Сообщений: 32
13.08.2018, 20:27  [ТС] 5
Цитата Сообщение от Verevkin Посмотреть сообщение
При закрытии диалога у тебя в памяти будет список имён выбранных файлов. Переставляй на здоровье в нужном порядке, какие проблемы-то?
Я,возможно,себе не таким образом это представляю,если что,то поправьте мысль. Но я думал,что по выбору определенного числа файлов,при закрытии диалогового окна,начнется расчет,который программно заложен в этой самой процедуре при нажатии Button. Программа написана для одного файла, при выборе которой, в другом окне уже выдается нужный результат.
Каким образом,кроме как в самой процедуре,я буду переставлять,как мне нужно? Нужно,чтобы я выбрал файлы,которые мне нужны, и на выходе получил результат обработки. Извините,если где-то не понимаю.
0
Нарушитель
8990 / 4844 / 1118
Регистрация: 12.03.2015
Сообщений: 22,933
13.08.2018, 20:32 6
Цитата Сообщение от pda95 Посмотреть сообщение
Каким образом,кроме как в самой процедуре,я буду переставлять,как мне нужно?
Каким тебе удобнее и нужнее, таким и переставляй. Тебя никто не ограничивает.
Цитата Сообщение от pda95 Посмотреть сообщение
Нужно,чтобы я выбрал файлы,которые мне нужны, и на выходе получил результат обработки.
Ну и в чём проблема-то, ёмаё? Ты выбрал файлы в диалоге, получил их список в руки и делай с ними, чо хош.
Цитата Сообщение от pda95 Посмотреть сообщение
Извините,если где-то не понимаю.
Я тебя прощаю.
0
Модератор
9042 / 5840 / 2333
Регистрация: 21.01.2014
Сообщений: 24,984
Записей в блоге: 3
15.08.2018, 05:08 7
Лучший ответ Сообщение было отмечено pda95 как решение

Решение

pda95, первым делом Вас должно волновать не то, в каком порядке будут открыты файлы, а то обстоятельство, что в файлах может быть разное количество данных. В этом случае ни о каком массиве речи быть не может...
Цитата Сообщение от pda95 Посмотреть сообщение
что по выбору определенного числа файлов,при закрытии диалогового окна,начнется расчет
Расчет начнется только тогда,когда Вы укажете его начинать. Сразу после закрытия диалогового окна не произойдет ничего, кроме заполнения списка OpenDialog.Files именами выбранных файлов. Что Вам мешает сначала отсортировать этот список так, как Вам необходимо (по имени файла, по номеру в имени, по дате создания файла, как-то еще...), и только потом приступать к обработке этих файлов?
0
15.08.2018, 05:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.08.2018, 05:08
Помогаю со студенческими работами здесь

Как сделать так, чтобы обработка нажатия происходила только в одной определённой процедуре?
Как сделать так, чтобы обработка нажатия не происходила в определённой процедуре? Допустим чтобы...

Обработка сразу нескольких фотографий. Есть ли такие редакторы?
Добрый день Вам! Посоветуйте, плиз, есть ли такие программы, в которых можно отредактировать сразу...

Добавление сразу нескольких файлов
Здравствуйте. В приложенной базе все файлы (word, excel, txt и др) добавляются по одному. Как...

Выбор сразу нескольких элементов в поле со списком
К примеру, имеется, уже готовое, поле со списком районов. Как сделать так, чтобы одновременно можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru