![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление файла
DimOk © (2007-10-25 16:06:00)Добрый день всем. Возникла сложность с "программным" удалением файлов. Есть некая программа, которая читает данные из файла, после выполнения некоторых действий эта программа должна его перенести в другой каталог. (чтение данных проиходит из файла формата *.dbf)
TableDoc.SQL.Text := 'select * from ' + FileName;
try
TableDoc.Active := True;
except
ShowMessage('Файл ' + FileName + ' поврежден или имеет неизвестный формат!');
end;
if TableDoc.Active = True then begin
..........
end;
// Собственно та часть которая должна удалять файл
TableDoc.Active := False;
CopyFile(OldFile,NewFile,True);
if DeleteFile(OldFile) then begin
MessageDlg('Файла удален', mtInformation, [mbOk], 0);
end;
Файл копируется но не удаляется, пытался ставить на него разрешения типа: Всем-Всё но результат нулевой. Подскажите пожалуйсто как можно реализовать удаление файла.
DimOk (2007-10-26 10:31:00) [1]
> смысл в том, что при таком черновом наброске не знаешь что
> именно произошло. лучше вообще убрать такую обработку.
> И дефолтный обработчик приложения даст куда более информативное
> и полезное сообщение.
Пришлось так сделать потому, что весь дальнейший код вклячая эту обработку исключений находиться в секции try запуска приложения в качесве OLE сервера, и по этому дефолтный обработчик приложения не срабатывает, а срабатывает except относящийся к попытке запуска OLE приложения-сервера. Поэтому все эти обработки исключения я думаю убрать вообще эти обработки исключений и пользоваться лиш if ... then или case of..... :)
DimOk (2007-10-26 10:05:00) [2]
> в 36 примерно то же самое.
> CopyFile функция. Она возвращает результат. Тебе возвращает.
>
> А ты его игнорируешь.
Все понятно. Спасибо! Просто у меня сегодня выходит триальный срок использования CodeGear RAD Studio Delphi for Win32 и поэтому я торопился как можно больше реализовать или понять - почему не получается. Как говориться -" Поспешишь - людей насмешишь" :)
Dennis I. Komarov (2007-10-26 10:04:00) [3]> [34] Anatoly Podgoretsky © (25.10.07 19:19)
И все это время они логинились с одинаковым паролем? :)))))
Reindeer Moss Eater (2007-10-26 10:01:00) [4]в 36 примерно то же самое.
CopyFile функция. Она возвращает результат. Тебе возвращает.
А ты его игнорируешь.
DimOk (2007-10-26 09:59:00) [5]
> смысл в том, что при таком черновом наброске не знаешь что
> именно произошло. лучше вообще убрать такую обработку.
> И дефолтный обработчик приложения даст куда более информативное
> и полезное сообщение.
С этим я разбирусь. Меня интересует высказывание [36]
Reindeer Moss Eater (2007-10-26 09:55:00) [6]А это я поправлю, это же черновой набросок - можно так сказать..... :)
смысл в том, что при таком черновом наброске не знаешь что именно произошло. лучше вообще убрать такую обработку.
И дефолтный обработчик приложения даст куда более информативное и полезное сообщение.
DimOk (2007-10-26 09:51:00) [7]
> ShowMessage('Я как программист не знаю, и не хочу знать,
> что именно произошло и в чем причина ошибки, но это еще
> не все. Я еще и вам как пользователям не дам узнать истинную
> причину возникшего отказа.');
А это я поправлю, это же черновой набросок - можно так сказать..... :)
DimOk (2007-10-26 09:50:00) [8]а по поводу CopyFile(OldFile,NewFile,True); ...?
Reindeer Moss Eater (2007-10-26 09:46:00) [9]Буду благодарен за пояснение.... :)
except
> > ShowMessage('Файл ' + FileName + ' поврежден или
> имеет
> > неизвестный формат!');
> > end;
такая обработка исключений примерно эквивалентна такой:
except
ShowMessage('Я как программист не знаю, и не хочу знать, что именно произошло и в чем причина ошибки, но это еще не все. Я еще и вам как пользователям не дам узнать истинную причину возникшего отказа.');
end;
DimOk (2007-10-26 08:45:00) [10]
> > except
> > ShowMessage('Файл ' + FileName + ' поврежден или
> имеет
> > неизвестный формат!');
> > end;
>
> Возьми за правило - никогда так не делать.
> > CopyFile(OldFile,NewFile,True);
>
> И так тоже.
Буду благодарен за пояснение.... :)
А на счет удаления у меня получилось! :) Спасибо всем кто помогал и направил на путь истинный, в частности отдельная длягодарность sniknik - Большое спасибо!
Anatoly Podgoretsky (2007-10-25 19:21:00) [11]
> CopyFile(OldFile,NewFile,True);
И так тоже.
Anatoly Podgoretsky (2007-10-25 19:20:00) [12]
> except
> ShowMessage('Файл ' + FileName + ' поврежден или имеет
> неизвестный формат!');
> end;
Возьми за правило - никогда так не делать.
Anatoly Podgoretsky (2007-10-25 19:19:00) [13]> Dennis I. Komarov (25.10.2007 18:04:31) [31]
Ты слышал как китайцы ломали сайт Пентагона?
После 953178657 попытки сервер согласился, что пароль доступа Мао Дзе Дун
sniknik (2007-10-25 18:10:00) [14]ну, можно например не использовать...
а вообще откуда я знаю как выйти из "этого положения" если не знаю что ты делаешь, смысл, и собственно само положение...
вижу что ты захватываешь файл одним, и тут же пытаешься удалить его другим... это "положение"? или может так и надо, так и задумывалось. (не видно отсюда это глюк, ошибка логике или чтото другое...)
> А если серьезно.... ?:)
только в ответ. будет серьезный вопрос, будет такой же ответ. (попозже, а то рабочий день кончился)
DimOk (2007-10-25 18:06:00) [15]
> Удалять, пока не надоест :) Или провайдер в связи того,
> что устал соизволит оставить файл в покое :)
А если серьезно.... ?:)
Dennis I. Komarov (2007-10-25 18:04:00) [16]> [30] DimOk © (25.10.07 18:00)
Удалять, пока не надоест :) Или провайдер в связи того, что устал соизволит оставить файл в покое :)
DimOk (2007-10-25 18:00:00) [17]
> если ты используешь провайдер VFP конечно
Точно в цель, и как выйти из этого положения....
sniknik (2007-10-25 17:58:00) [18]нет, это провайдер данных... если ты используешь провайдер VFP конечно (а то боюсь до этого никогда не дойдешь, о исходной инфе по используемому, а людям может быть интересно)
Dennis I. Komarov (2007-10-25 17:57:00) [19]> [27] DimOk © (25.10.07 17:51)
Мимо!
DimOk (2007-10-25 17:51:00) [20]А может это SearchRec при поиске файла.......?