Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Удаление файла


Страницы:   1 2 3

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 при поиске файла.......?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо