-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в community_coding

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 29.12.2004
Записей:
Комментариев:
Написано: 536


Никто не подскажет, в чем косяк?

Воскресенье, 18 Февраля 2007 г. 12:39 + в цитатник
_Враг_Народа_ все записи автора Пишу прогу по заданию. Надо сделать поиск файла по имени и по содержимому. За поиск по содержимому я еще не брался, а при создании поиска по имени наткнулся на проблему, которую сам разрешить не могу.
Процедура выглядит так:

procedure TLoadForm.LoadButtonClick(Sender: TObject);
var
SearchFile:TSearchRec;
LoadF:TStringList;
begin
if FindFirst('C:\birds\data\ '+edit4.Text+ '.txt', faAnyFile, SearchFile)=0 then
begin
LoadF := TStringList.Create;
LoadF.LoadFromFile ('c:\birds\data' +edit4.Text+ '.txt');
Edit1.Text := LoadF.Strings[1];
Edit2.Text := LoadF.Strings[2];
Edit3.Text := LoadF.Strings[6];

Компилирует нормально, но при работе, когда пытаюсь найти файл (существующий), тормозится и выдает следующее:
Source Breakpoint at $00455303: D:\!!УЧЕБА!!\Delphi\Birds\LoadData.pas line 67. Process Birds.exe (1704)

Ошибку выдает на выделенной мною строке.
менял значение FindFirst на 1, результат тот же.
Рубрики:  вопросы

Alxdm   обратиться по имени Воскресенье, 18 Февраля 2007 г. 12:53 (ссылка)
Очень похоже на включенную отладочную точку, попробуй ее снять.
Ответить С цитатой В цитатник
Lightpower   обратиться по имени Воскресенье, 18 Февраля 2007 г. 13:05 (ссылка)
Попробуй откомпилить в Release-mode. Эксепшн пропадет?

offtop: В Edit4 может быть только имя или допустима маска файла?
Ответить С цитатой В цитатник
ZardoZ   обратиться по имени Понедельник, 19 Февраля 2007 г. 01:18 (ссылка)
Ну проверку существования файла проще делать функцией
function FileExists(FileName: string): Boolean;

а так да включен брэйкпоинт. Так это или нет проверяется элементарно - попробуй запустить откомпиленный экзешник в папке программы, если всё работает, то сними брэйкпоинт :).
Ответить С цитатой В цитатник
Найк   обратиться по имени Понедельник, 19 Февраля 2007 г. 11:26 (ссылка)
Lightpower, допустима маска
Ответить С цитатой В цитатник
Lightpower   обратиться по имени Re: Ответ в community_coding; Никто не подскажет, в чем косяк? Понедельник, 19 Февраля 2007 г. 23:01 (ссылка)
Найк: Lightpower, допустима маска
Тогда в строке "LoadF.LoadFromFile ('c:\birds\data' +edit4.Text+ '.txt');" ошибка
Надо
LoadF.LoadFromFile ('c:\birds\data' + fInfo.cFileName);

В детстве написал на С++ функцию, которая возвращает список файлов по маске. Портировать под Дельфи проблемы не вызовет, надеюсь?

code:
AnsiString FilesByMask(AnsiString Mask)
// return список полных имен файлов, соотв-щих данной маске, с разделителем '\r\n'
{
WIN32_FIND_DATA fInfo;
AnsiString RetVal = "",
dir = ExtractFilePath(Mask);
HANDLE fCpy = FindFirstFile(Mask.c_str(), &fInfo);
do {
RetVal = RetVal + dir + fInfo.cFileName + "\r\n";
} while(FindNextFile(fCpy, &fInfo));
return RetVal;
}



В колонках играет: *** 107. CHIJ - SNOVA POEZD

LI 5.09.15
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку