PDA

Просмотр полной версии : Файл не закрывается :(



Валенок
21.01.2009, 00:21
...............

Филоненко Владислав
21.01.2009, 08:37
fclose Возвращает 0, если всё удачно.

Партизан
21.01.2009, 11:59
Проблемы возникают, когда вы открываете файл 2 раза. Чтобы этого избежать, пользуйтесь такой конструкцией:

SysFileClose(hFile);(*закрываем для надежности*)
hFile:=SysFileOpen(file_name, 'w');(*и создаем его*)

И поменяйте расширение файла на .log.
Переименовать в .csv можно потом на компьютере.
Удачи!

Партизан
21.01.2009, 12:05
Фрагмент кода:

file_size:=SysFileGetSize(file_name); (*Проверяем размер файла*)
pos:=SysFileGetPos(hFile); (*и положение курсора*)


(*ОТКРЫТИЕ/СОЗДАНИЕ ФАЙЛА*)
IF file_size=0 THEN (*Если файл еще не создан*)
SysFileClose(hFile); (*закрываем для надежности*)
hFile:=SysFileOpen(file_name, 'w'); (*и создаем его*)
SysFileWrite(hFile, ADR(Header1), LEN(Header1)); (*затем записываем заголовок*)
file_opened:=TRUE;

ELSIF NOT file_opened THEN (*если файл существует, но не открыт*)
SysFileClose(hFile); (*закрываем для надежности*)
hFile:=SysFileOpen(file_name, 'w'); (*открываем его*)
set:=SysFileSetPos(hFile, file_size); (*и ставим курсор в конец файла*)
file_opened:=TRUE;
END_IF

IF file_opened=TRUE THEN
SysFileClose(hFile);
file_opened:=FALSE;
END_IF