Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
ВнизДоступ к файлам. Найти похожие ветки
← →
Лана Розанова (2003-04-19 11:36) [0]Всем привет. С праздником большого субботника.
Как определить программно открыт ли файл MSOffice пользователем или нет?
СПАСИБО!!!
← →
Palladin (2003-04-19 11:49) [1]попытатся его открыть
← →
Лана Розанова (2003-04-19 11:53) [2]Мне надо заранее знать, что пользователь открыл нужный мне файл.
Т.к. мне надо будет обновить данные.
← →
Palladin (2003-04-19 12:17) [3]попытаться открыть его, в режиме записи
если открылся успешно то не занят
← →
Лана Розанова (2003-04-19 13:41) [4]>Palladin
Не поняла...в режиме записи
← →
Snap (2003-04-19 14:00) [5]В Дельфи FileMode отвечает за режимы открытия файлов.
← →
Snap (2003-04-19 14:02) [6]И вот какие значение может принимать
fmOpenRead = $0000;
fmOpenWrite = $0001;
fmOpenReadWrite = $0002;
fmShareCompat = $0000;
fmShareExclusive = $0010;
fmShareDenyWrite = $0020;
fmShareDenyRead = $0030;
fmShareDenyNone = $0040;
← →
Лана Розанова (2003-04-19 14:03) [7]А попонятней напишите пожалуйста. Или примером. Не пойму.
← →
Snap (2003-04-19 14:25) [8]var
f:file;
begin
assignfile(f,...);
filemode:=fmOpenRead;
{I-}
reset(f);
{$I+}
if ioresult=0 then
begin
closefile(f);
filemode:=fmOpenReadWrite;
{$I-}
reset(f);
{$I+}
if ioresult<>0 then (* значит файл открыт другим приложением *) else closefile(f);
end;
end;
← →
Snap (2003-04-19 14:28) [9]в шестой строке надо написать
{$I-}
:)))
← →
Лана Розанова (2003-04-21 12:29) [10]Набираю код:
procedure TForm1.FormActivate(Sender: TObject);
var
f:file;
vvv:boolean;
begin
vvv:=false;
assignfile(f,"c:\111.xls");
filemode:=fmOpenRead;
{I-}
reset(f);
{$I+}
if ioresult=0 then
begin
closefile(f);
filemode:=fmOpenReadWrite;
{$I-}
reset(f);
{$I+}
if ioresult<>0 then
vvv:=true //типа файл должен быть занят
else
closefile(f);
end;
end;
и ничего не получается когда я открываю файл или не открываю. Помогите плиз.
СПАСИБО!!!
← →
Лана Розанова (2003-04-21 13:03) [11]Люди, помогите.....
← →
Palladin (2003-04-21 13:04) [12]ioresult проверяют в рамках {$I-} {$I+}
← →
Palladin (2003-04-21 13:07) [13]
function _IsFileOpened(p_strFileName:string):Boolean;
var
f:file;
IORes:integer;
begin
assignfile(f,p_strFileName);
FileMode:=fmOpenWrite;
{$I-}
reset(f,1);
IORes:=IOResult;
{$I+}
result:=IORes<>0;
if not result then closefile(f);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c