![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
подскажите пожалуйста как можно из папки текстовые файлы загрузить в RichEdit, Memo ListBox(в принципе во что угодно!!! не имеет значения), для дальнейшей обработки и занесения в бд, причем эта папка каждый час обновляется, т.е. все должно в цикле проходить..
нашла подобный пример, но разобраться не смогла в нем( вот пример:
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
Martisha, все достаточно проще. Есть метод у этих компонентов - LoadFromFile()
|
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
я делала так
но ведь это каждый текстовый файл отдельно загружать надо Это сообщение отредактировал(а) Martisha - 25.11.2008, 13:40 |
|||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
ну да, поэтому и цикл, просто в функции, котороая в первом примере звется EditFile() при открытии файла указываешь адрес не вручную, а подставляешь Dir+SearchRec.name. как и куда этот файл загружать -- в вопросе не уточнялось можно чуть подробней -- что конкретно нужно? |
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
есть папка, в которую загружаются раз в час текстовые файлы..их нужно для дальнейшей обработки загрузить ListBox например. Т.е. каждый текстовый файл по очереди загружаем туда, обрабатываем, выгружаем обработанный в базу данных, затем то же самое со следующим.. вот в принципе и все Это сообщение отредактировал(а) Martisha - 25.11.2008, 13:51 |
|||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
хотя тут подумал, может так проще
повторюсь, пример перебирает содержимое папки, включая вложенные директории, и передает, по очереди, функции EditFile() адреса и имена всех файлов rtf еще вопросы? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
Martisha, ну и в чем проблема.
есть структура TSearchRec, функции FindFirst(), FindNext() и FindClose(). Поиск организуем в цикле. Если файл удовлетворяет условиям, грузим его через LoadFromFile(). собственно это в примере и показано. я пример могу написать, но он будет в Builder C++. Пойдет? |
|||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
вопрос в том, успеем ли мы обработать и выгрузить в бд файл до появления нового, если да, то в EditFile() достаточно прописать LoadFromFile, и что-то, что привлечет внимание, например вывести форму вперед, если нет -- надо думать над организацей очереди
еще вопрос -- таких вот фалов, которые загружать надо, их сколько может найтись за раз? их загружать все вместе, или по очереди? обработка, вроде как, будет делаться ручками, правильно? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
на всякий случай выложу вариант в Билдере.
|
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
делаю так, ошибок не выдает, но и не загружает
Добавлено через 3 минуты и 41 секунду нет, не пойдет( по одному за час, только они добавляются, т.е. нужно обрабатывать только новый файл нет, не ручками |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
||||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
||||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
mrbrooks, спасибо, только я и в Delphi то слабак
|
|||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
для бд да, но мы же видим пример, из которого следует, что находит файл, грузит в листбокс, потом человек его правит или просто смотрит и отдает на запись, а если в это время найдется еще один файл, или несколько? |
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
это как? наверное нет Добавлено через 2 минуты и 19 секунд
а если загружать, обрабатьвать, выгружать в бд, а текстовый файл из папки, после обработки удалять? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
точно камрад - проворонил. правда как-то это все своеобразно - редактировать в ListBox честно говоря не совсем понятно что нужно править юзверю и не проще ли эту правку делать автоматически при парсинге строки до записи в БД. А автор? |
|||
|
||||
| aleksh |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
тогда зачем заморачиваться с листбокс? есть хороший класс, tstringlist, думается, он вполне подойдет а попробуй так
тогда в лист боксе будут имена всего, что он хотел загрузить, согласно твоему примеру, в конце должно было показываться содержимое последнего найденного файла Добавлено через 3 минуты и 44 секунды
если это все в editfile, то никаких проблем, но прогрмма будет недоступна, во время работы с файлами, и файл, по-хорошему, никому нельзя трогать, это же не критично? и еще эти файлы -- они все в одной папке, или будут и в вложенных? от этого зависит сложность цикла |
||||
|
|||||
| Martisha |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
это как?
я еще не так хорошо классы знаю, вот и заморачиваюсь( |
||||
|
|||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
парсить -- значит обрабатывать а по поводу TStringList, рекомендую заглянуть в справку, ведь листбокс, это всего лишь визуализация работы с данным классом, свойства листбокса, те, что после items -- это свойства стринглиста выяснилось, что он там находит и передает? |
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
все в одной да нет, не критично в общем в папку заносятся текстовые файлы(по одному в час), статистика траффика..нужно обработать эти файлы, т.е. разбить на поля(в виде таблицы) и занести в бд, вот собственно и все Добавлено через 2 минуты и 25 секунд обработка файлов будет не в программе происходить, мне просто нужно вытащить из папки файлы, по одному загружать в бд и там уже я буду их обрабатывать |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
||||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
Martisha, да. без всякого визуального отображения содержимого файлов.
|
|||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
тогда можно так:
а потом файл загружаем в стринглист и так далее, но для начала надо убедится, что он хоть что-то находит |
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
||||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
по разному можно, например дописать строчку, первой в editfile()
тогда, когда что-то найдется, перед обработкой появится сообщение с именем файла, если имя корректно, то проблемы не с поиском, если не корретно, то надо смотреть, что пишет, а если ничего не находит, хоть и должно, то надо прошагать поиск. известно как это делать? |
|||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
||||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
||||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
||||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 1 Всего: 13 |
||||
|
||||
| Martisha |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 15.10.2008 Где: казань Репутация: нет Всего: 1 |
в общем все получилось вот так:
в итоге в ListBox1 загружаются все названия имеющихся текстовых файлов в проверяемой папке, затем я добавила ListBox2, в котором по очереди из списка ListBox1 открываю текстовые файлы, обрабатываю и помещаю в бд.. спасибо за помощь!!! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |