imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 24.07.2004, 02:18     # 1
Vitus.L
Newbie
 
Регистрация: 20.05.2003
Сообщения: 34

Vitus.L МолодецVitus.L МолодецVitus.L Молодец
Работа с Dbf

Приветствую участников форума !!!
Прошу оказать мне помощь. Ситуация следующая:
Я работаю на 1С, частенько приходится дописывать конфигурации под свои нужды. Недавно столкнулся со следующей проблемой: нужно было в открытой базе 1С (в разделенном режиме) сжать файл ???.dbf, то бишь очистить dbf`ник от записей помеченных на удаление. Отсюда вопрос - есть ли какие-нибудь решения, позволяющие сжать dbf`ник, в тот момент, когда он уже открыт на чтение/запись.
И в догонку: какие классы (объекты) в Дельфях позволяют работать с файлами ???.dbf (dBase III)
Vitus.L вне форума  
Старый 24.07.2004, 13:48     # 2
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Vitus.L
TDataBase, TTable, TQuery... в общем все что есть в закладке BDE :-)
если я тебя правильно понял, то нужно примерно следующее
Код:
Table1.Close;
Table1.Exclusive:= true;
Table1.Open;
DbiPackTable(Table1.DBHandle, Table1.Handle, nil, nil, TRUE);
Но для этого нужен "эксклюзивный" доступ к табличке...
__________________
Nunc est bibendum
is_absent вне форума  
Старый 24.07.2004, 14:35     # 3
CEO
Full Member
 
Аватар для CEO
 
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998

CEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собойCEO Имеются все основания чтобы гордиться собой
Вот еще здесь посмотри:
http://www.torry.net/quicksearchd.ph...=DBF&Title=Yes
__________________
Старые игры раздают здесь
CEO вне форума  
Старый 25.07.2004, 19:13     # 4
Vitus.L
Newbie
 
Регистрация: 20.05.2003
Сообщения: 34

Vitus.L МолодецVitus.L МолодецVitus.L Молодец
To ~is absent~.
Этот фрагмент мне знаком, но для него нужен как ты правильно выразился эксклюзивный доступ, чего у меня нет.
В моем случае я работаю с таблицами самой 1С и в момент удаления этих записей сама таблица уже открыта на чтение и запись.
Vitus.L вне форума  
Старый 25.07.2004, 22:19     # 5
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
Vitus.L,
это конечно на любителя, но не боишься нужные данные удалить? Парковать таблицу (имхо) можно только если есть один ее открытый экземпляр...
Как парковать открытую таблицу, не знаю, но сильно подозреваю, что так делать вообще нельзя.
__________________
Nunc est bibendum
is_absent вне форума  
Старый 25.07.2004, 23:48     # 6
Isalex
::VIP::
 
Аватар для Isalex
 
Регистрация: 29.09.2002
Адрес: Очень далеко
Сообщения: 403

Isalex Известность не заставит себя ждать
Цитата:
Vitus.L:
как ты правильно выразился эксклюзивный доступ, чего у меня нет
А на нет и суда нет, только с эксклюзивным доступом к файлу и никак не иначе. Хотя можно скопировать неудаленные записи во внешний файл, а потом переиндексировав его подставить на место предыдущего.
__________________
Меняю проигрыватель на выигрыватель.
Isalex вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 17:22.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.