DbfFile:=DBFOpen('C:\my_vip\to_galaxy.dbf',stOpenWrite);
if DbfFile <= 0 then
begin
message(''#3'Не могу открыть файл '+'C:\my_vip\to_galaxy.dbf',mfError+mfOkButton);
Exit;
end;
MESSAGE('Открыли файл '+'C:\my_vip\to_galaxy.dbf');
if(DBFGetFirst(DbfFile)=0)
then
begin
do
begin
Message(DBFGetFieldValue(DbfFile,'NODOK'));
DBFPutFieldValue(DBFFile,'NREC', 'mambo'); // Год
end
while DBFGetNext(DbfFile)=0;
end
else
begin
MESSAGE('В файле не найдено ни одной записи!');
end;
DBFClose (DbfFile);
Аналогичная проблема (перевожу свои отчеты в 8.1): есть каталог с dbf-файлами, нужно данные из этих файлов прочитать.
Выбираю каталог. Открываю в нем конретные файлы.
Ругается: ошбка в файле C:\2\KATCOMPL.DBF (процесс не может получить доступ к файлу, т.к. этот файл занят другим процессом).
С файлом все нормально, но Галактика его открывать не хочет почему-то? В чем может быть проблема? В 7.12 таких проблем нет.
doroga:=GetDirName('Выберете каталог с данными для загрузки');
hDBF1:=DBFOpen(doroga+'\KATCOMPL.DBF', stOpen);
IF hDBF1=0
Message('Не могу открыть файл '+doroga+'\katcompl.dbf. Проверьте правильность выгрузки');
не видимо а совершенно верно вопрос в другом - нешто сложно сделать уже в 2008 году нормальные функции работы с файлами без наложения блокировок полностью на файл