Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
ВнизНе возникает ошибка при удалении открытого документа (WORD) Найти похожие ветки
← →
Раиса © (2008-07-14 12:40) [0]Пишу так:
try
DeleteFile(S);
except
Application.MessageBox("Ошибка! Вероятно, открыт документ с именем разрешения!","Сообщение",mb_Ok+mb_ICONINFORMATION);
Exit;
end;
и мечтаю, что вывалится ошибка,если документ (вордовый) с таким именем уже открыт.
Но в try .... Except программа не заходит.
Вопрос: почему? и что нужно сделать, чтобы проверить, открыт или нет документ с таким именем?
← →
Palladin © (2008-07-14 12:41) [1]потому что DeleteFile - функция и никакого исключения она не возбуждает...
← →
Johnmen © (2008-07-14 12:44) [2]DeleteFile+F1, как обычно.
← →
Раиса © (2008-07-14 12:47) [3]Вот я и интересуюсь:
1. или чем заменить DeleteFile, чтобы было как в Винде получить сообщение о невозможности удаления ткрытого файла
2. или как проверить, что вордовый файл уже открыт.
← →
Поросенок Винни-Пух © (2008-07-14 12:49) [4]deletefile скажет тебе человеческим голосом что файл нельзя удалить
← →
Palladin © (2008-07-14 12:49) [5]1. Зачем его заменять?
2. Повторяю, DeleteFile - это функция. Ты знаешь что такое функция?
← →
Раиса © (2008-07-14 12:50) [6]Не хочу проверять на наличие файла и на False/True возвращает Deleeile.
← →
Поросенок Винни-Пух © (2008-07-14 12:51) [7]Раиса Захаровна, вас поуговаривать?
← →
Раиса © (2008-07-14 12:52) [8]deletefile возвращает False, если файл не удаляется (то ли нету его, то ли нельзя удалить)
← →
Поросенок Винни-Пух © (2008-07-14 12:52) [9]Удалено модератором
← →
Palladin © (2008-07-14 12:53) [10]мдя... :) бывает...
← →
Раиса © (2008-07-14 12:54) [11]Поросенок Винни-Пух © (14.07.08 12:51) [7]
Я не хочу:
1. проверять на Exists
2. на то, что возвращает DeleteFile
Хочу поприличнее написать. Вот и спрашиваю, как.
← →
Palladin © (2008-07-14 12:56) [12]
> Раиса © (14.07.08 12:54) [11]
используй Windows.DeleteFile, см. справку Windows SDK на предмет этой функции и все желания твои будут исполнены...
← →
Правильный$Вася (2008-07-14 12:57) [13]
> Я не хочу:1. проверять на Exists2. на то, что возвращает
> DeleteFile
религия запрещает?
это и есть "поприличнее"
← →
oldman © (2008-07-14 12:58) [14]
> Не возникает ошибка при удалении открытого документа (WORD)
А как себя ведет собственно WORD при данном казусе?
(извините уж, но сам проверять не хочу)
← →
Palladin © (2008-07-14 12:59) [15]
> oldman © (14.07.08 12:58) [14]
а как он должен себя вести?
← →
Раиса © (2008-07-14 12:59) [16]Поросенок Винни-Пух © (14.07.08 12:51) [7]
А попроще отчество нельзя было придумать?
Palladin © (14.07.08 12:56) [12]
Спасибо, посмотрю.
Это я пока еще хочу удалить файл, а завтра, может быть, не захочу, но проверять на открыт или нет вордовый файл все равно надо будет.
Вот и спрашиваю как...
← →
Поросенок Винни-Пух © (2008-07-14 13:01) [17]"Людк, а Людк! тьфу деревня"
← →
oldman © (2008-07-14 13:02) [18]
> Palladin © (14.07.08 12:59) [15]
> а как он должен себя вести?
Как минимум, возмутиться, что, мол, открытое мною испарилось без разрешения...
← →
Palladin © (2008-07-14 13:05) [19]ну ептыть... хочу не хочу... буду не буду...
программирование ничего общего с мужской особью не имеет и не надо эээ... <вырезано цензурой> мозги
проверять открыт или не открыт, нужно с какой то целью, обычно эта цель - совершение с ним некоторых действий и обычно хватает с головой совершить попытку этого некоторого действа и проанализировать результат...
← →
Поросенок Винни-Пух © (2008-07-14 13:06) [20]Пишу так:
try
DeleteFile(S);
except
Application.MessageBox("Ошибка! Вероятно, открыт документ с именем разрешения!","Сообщение",mb_Ok+mb_ICONINFORMATION);
Exit;
end;
Пиши так
if not DeleteFile then Raise Exception.CreateFmt("Ошибка! Вероятно, открыт документ с именем разрешения!",[GetLastError])
← →
Palladin © (2008-07-14 13:07) [21]
> oldman © (14.07.08 13:02) [18]
не возмутится, потому как открывает с флагом ShareDenyWrite
← →
Игорь Шевченко © (2008-07-14 13:07) [22]
> Это я пока еще хочу удалить файл, а завтра, может быть,
> не захочу
> Вот и спрашиваю как...
завтра и спроси :)
← →
дядя Митя (2008-07-14 13:19) [23]Удалено модератором
← →
дядя Митя (2008-07-14 13:21) [24]Удалено модератором
← →
Anatoly Podgoretsky © (2008-07-14 13:51) [25]
> Раиса © (14.07.08 12:59) [16]
Win32Check (DeleteFile(...));
← →
Раиса © (2008-07-14 14:11) [26]1.Ошибка возникает при сохранении вордового файла (saveAs).
2. Вопрос, как проверить, что файл с определенным именем открыт.
Ответов не было.
← →
Плохиш © (2008-07-14 14:18) [27]
> Ответов не было.
Свова экзамен мы не сдали, ах какая жаласть...
← →
имя (2008-07-14 14:20) [28]Удалено модератором
← →
Palladin © (2008-07-14 14:24) [29]
> Раиса © (14.07.08 14:11) [26]
читать [19] второй абзац до полного просветления...
← →
Раиса © (2008-07-14 14:31) [30]Palladin © (14.07.08 14:24) [29]
А Вы не заметили, что ответ был в
Раиса © (14.07.08 14:11) [26] ?
1.Ошибка возникает при сохранении вордового файла (saveAs).
Но для того, чтобы дойти до SaveAs, нужно сделать
CreateOleObject("Word.Application");
и при этом WinWord появится в Диспетчере задач. Quit почему-то не помогает для завершения процесса.
← →
Игорь Шевченко © (2008-07-14 14:34) [31]
> Quit почему-то не помогает для завершения процесса.
еще интерфейс бы обнулить...
← →
Palladin © (2008-07-14 14:38) [32]
> Раиса © (14.07.08 14:31) [30]
ах... это ответ был... хем...
> нужно сделать CreateOleObject("Word.Application");
ну да... нужно... а какое это отношение имеет к ошибке сохранения? пусть объект создается, создается документ и прочая мишура, а потом проходит попытка сохранения... но при чем тут тогда DeleteFile?
задача не ясна, что именно делается и что именно нужно сделать? начали с DeleteFile закончили вызовом SaveAs...
← →
Раиса © (2008-07-14 14:44) [33]Начнем сначала.
Проверить, открыт или нет вордовый документ. Если да, то выдать сообщение. Если документ есть, но не открыт, то после вопроса удалить его или нет.
← →
Kolan © (2008-07-14 14:47) [34]> [33] Раиса © (14.07.08 14:44)
Это похоже на задание, а не на вопрос. Что из этого непонятно?
← →
Поросенок Винни-Пух © (2008-07-14 14:47) [35]он может быть и не открыт, но при этом и удалить его не получится
← →
Поросенок Винни-Пух © (2008-07-14 14:50) [36]Если документ есть, но не открыт, то после вопроса удалить его или нет.
неправильно.
Если есть и не открыт, то снова проверить не открыт ли он сразу после первой проверки на неоткрытость.
← →
Kolan © (2008-07-14 14:50) [37]> он может быть и не открыт, но при этом и удалить его не
> получится
Пожалей автора :).
← →
Palladin © (2008-07-14 14:53) [38]
> Раиса © (14.07.08 14:44) [33]
либо это не с самого начала, либо все таки читать [19] второй абзац до полного просветления
задача так и не озвучена, что нужно от файла, просто его удалить или всетаки записать, что то с тем же именем
← →
Раиса © (2008-07-14 14:57) [39]Задача:все-таки записать, что-то с тем же именем. Но вордовый файл может быть открыт или нет (программно или вручную).
← →
Palladin © (2008-07-14 14:58) [40]
> Раиса © (14.07.08 14:57) [39]
"ну вот, а то мама мама..."
вот при попытке записи чего то с этим именем и нужно делать анализ результата этой попытки, и не нужно ничего удалять
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.08.17;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.04 c