Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Поиск файла по всему диску
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Поиск файла по всему диску (Прочитано 6785 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
Shouldercannon
Помогающий
Offline
Поиск файла по всему диску
«
:
01-09-2012 10:50 »
Нашёл способ, но он не работает в Delphi 2010 если данные подставлять из TEdit или из чего-либо другого. В чём может заключаться проблема?
Код: (Delphi)
uses
Imagehlp
...
procedure
TForm1
.
Button1Click
(
Sender
:
TObject
)
;
var
FilePath
:
PAnsiChar
;
begin
Button1
.
Enabled
:
=
False
;
GetMem
(
FilePath
,
MAX_PATH
)
;
if
SearchTreeForFile
(
'D:\'
{PAnsiChar(Edit1.Text)}
,
'test.txt'
{PAnsiChar(Edit2.Text)}
,
FilePath
)
then
ShowMessage
(
'Найден файл: '
+
FilePath
)
;
FreeMem
(
FilePath
)
;
Button1
.
Enabled
:
=
True
;
end
;
Записан
zubr
Гость
Re: Поиск файла по всему диску
«
Ответ #1 :
01-09-2012 11:32 »
Скорее всего из за того, что Delphi2010 использует unicod-ный вариант функции (легко проверить, если навести курсор на имя функции, вызвать контекстное меню - команду Find Declaration), а у тебя в коде идет преобразование параметров к типу PAnsiChar.
Записан
Shouldercannon
Помогающий
Offline
Re: Поиск файла по всему диску
«
Ответ #2 :
01-09-2012 15:11 »
Вот, что имею
Решение:
Код: (Delphi)
if
SearchTreeForFile
(
PAnsiChar
(
AnsiString
(
Edit1
.
Text
)
)
,
PAnsiChar
(
AnsiString
(
Edit2
.
Text
)
)
,
FilePath
)
then
Untitled-1.gif
(7.24 Кб - загружено 1027 раз.)
«
Последнее редактирование: 01-09-2012 15:17 от Shouldercannon
»
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Delphi
(Модератор:
x77
) > Тема:
Поиск файла по всему диску
Загружается...