|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.06.2010, 20:24 | #1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
Процедура поиска НЕ ищет файлы вне "своей" папки
Всем снова привет!
Суть проблемы: Есть процедура, которая ищет файлы в указанной папке, чекает хеш-суммы, и формирует результат.: Код:
Код:
Код:
Код:
Код:
Игнорирует написание папок где лежат файлы... т.е. Есть папка f:\1 с подпапками. Код:
Код:
Код:
Если указать другую папку то выводит всякий бред.. как показыно где-то выше=) Помогите подкорректировать. =) |
06.06.2010, 20:59 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
не проверял, но, если Вы уберёте вот эту строчку:
Код:
|
06.06.2010, 21:13 | #3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
это строка обрезает все что выше каталога StartDir
К примеру если я укажу папку f:\papka1\papka2\ то мне выводит все что есть в papka2 Вид будет такой: Код:
Так надо для работы программы. так что проблема не сдесь=) |
06.06.2010, 23:10 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
1) удалите из процедуры ListFileAndHash var Dir: string; и, соответственно Dir := ExtractFilePath(ParamStr(0)); 2) добавьте глобальную переменную Dir (например, в описание формы, или просто, через VAR 3) измените вызов ListFileAndHash (там, где Вы её вызываете - (по какому-о событию...) вызов осуществите так: Код:
|
|
07.06.2010, 11:42 | #5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
нет , проверил не работает...
|
07.06.2010, 13:17 | #6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Вполне работает такой метод. Можно ещё свести задачу лишь к удалению N первых символов. Например, можно заменить процедуру на
Код:
Код:
Код:
Код:
Последний раз редактировалось eoln; 07.06.2010 в 13:21. |
07.06.2010, 13:26 | #7 |
Новичок
Джуниор
Регистрация: 07.06.2010
Сообщений: 1
|
подкажите пожалуйста. В Листинге программы есть вот такая процедура, которая дальше используется соответственно практически везде.
procedure error(msg:string); begin raise exception.create(msg); end; препод мне задал вопрос что такое exception. Я ему отвелил что в данной ситуации я при помощи raise вызываю exception это вызов исключительной ситуации. он мне задает следующий вопрос:"а что делает exception" почему ты использовал в своей курсовой а я ее не делал. |
07.06.2010, 14:14 | #8 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
о теперь работает .. но был баг..
у файлов указанных через путь всегда оставался слеш в начале: Код:
Код:
|
07.06.2010, 14:16 | #9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
KPEKEPok
по видимому запостил в первую попавшуюся тему. создай свою тему и там пости.. правило "1 вопрос - 1 тема." |
07.06.2010, 14:54 | #10 | ||
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Цитата:
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
C# ошибка:"Индекс находился вне границ массива" | potap88 | Помощь студентам | 16 | 18.04.2010 15:50 |
CR-Team ищет программистов для проeкта "Дальний Свет" | Ha3aP | Фриланс | 6 | 22.10.2009 19:28 |
настроить при открытии Excel 2003 в окошке "Тип файлов" вывод пункта "Все файлы (*.*)" по умолчанию? | Unior | Microsoft Office Excel | 2 | 01.03.2009 02:42 |
"Текстовые файлы" и "Графика и подпрограммы" | Nata!!!@ | Помощь студентам | 5 | 05.12.2007 18:17 |