![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Просмотр и восстановление "удаленных" записей в DBF таблицах [D7, dBase, FoxPro]
АМБ © (2005-07-18 11:15:00)Как организовать просмотр помеченных на удаление записей в DBF таблице? Т.е. сначала, записи обрабатываются tblDBF1.Delete; и становятся невидимы в DBGrid-е. Как сделать их видимыми, да еще и другим цветом, или как-то еще их выделить, а затем, выбрав какую-нибудь запись - восстановить ее, т.е. снять пометку на удаление.
Val (2005-07-19 14:43:00) [61]>[18] АМБ (19.07.05 14:34)
Извините, но я не хочу лезть за вас в хелп и смотреть структуру типа этого самого Props, и в зависимости от нее проводить анализ результата.
АМБ (2005-07-19 14:34:00) [62]
> Val
Все верно. Именно с этими статьми я и познакомился. И также верно, что я не так "трактую" результат Props... Но как надо?
Это я и прошу подсказать.
Val (2005-07-19 14:14:00) [63]>[16] АМБ (19.07.05 13:29)
Как красить сетку в зависимости от разл.условий отлично написано в статьях на "Королевстве Делфи". Сделайте просто условие с использованием вашей функции (кстати, не очень уверен, что вы верно трактуете результат props...) - разница небольшая.
АМБ (2005-07-19 13:29:00) [64]
> Anatoly Podgoretsky
Мне нужно включать (и выключать) режим просмотра удаленных записей. Если нужно восстанавливать их, а какие уже совсем не нужны тех совсем удалять, физически.
Сейчас у меня уже получилось выводить удаленные записи в просмотр и "прятать" их снова. Если надо, удалять их физически (через DbiPackTable). Но никак не пойму, как сделать, чтобы при просмотре удаленных записей они выделялись другим цветом.
К своему сожалению, я еще не работал с функциями BDE.
Английский тоже перевожу... со словарем :о(.
Поэтому рад всякой помощи...
Anatoly Podgoretsky (2005-07-19 12:27:00) [65]Зачем же тогда спрашивал как определелить удаленая или нет?
АМБ (2005-07-19 11:52:00) [66]
> Anatoly Podgoretsky
Еще раз спасибо за подсказку. Но все равно мало, что понял.:о(((
Ваш пример:
function DELETED(Table:TTable);
var
Prop : RECProps;
begin
dbiGetRecord(Table.Handle, dbiNoLock, nil, @Prop);
Result := Prop.bDeleteFlag;
END;
При компиляции выдается ошибка: Function needs result type.
Поставил тип: function DELETED(Table:TTable): Boolean;
Ругаться перестал. Но что с этим делать - не пойму.
В BDE32.HLP написано:
DbiGetRecord retrieves the current record, if any, in the table associated with hCursor. Т.е. вроде бы выдает запись с необходимым для нас условием, в ващей функции - что удалена.
Но как это использовать? А если запись не одна?
Пробовал по разному. Последнее что пробовал, это написал в обработчике dbgDBFDrawColumnCell, следующее:
if DELETED(tblDBF) then
begin
dbgDBF.Canvas.Brush.Color := $00ff00;
dbgDBF.Canvas.Font.Color := $0000ff;
dbgDBF.Canvas.FillRect(Rect);
dbgDBF.Canvas.TextOut(Rect.Left,Rect.Top,Column.Field.Text);
end;
Раскрашивается весь DBGrid, да еще как-то тоже не понятно. Но удаленные записи все-равно не отличаются.
Если можно подскажите. Что не так? И как надо?
Anatoly Podgoretsky (2005-07-18 16:59:00) [67]Поиск вверху форума видишь, попробуй будешь приятно удивлен.
АМБ (2005-07-18 16:57:00) [68]К своему стыду, я так и не понял...:-((((((
Anatoly Podgoretsky (2005-07-18 15:34:00) [69]А DbiGetRecord на что тебе дан?
Val (2005-07-18 15:33:00) [70]обязательно в рамках данного метода? :)
определяем состояние соотв. BDE-API и красим в соотв. обработчике сетки.
АМБ (2005-07-18 15:28:00) [71]Всем спасибо! Все работае! Удаленные записи и показываются и прячуться. Единственная пока проблема: когда удаленные записи показываются, то их не отличишь от обычных. Подскажите, можно ли сделать как-нибудь такое отличие в рамках использования метода dbiSetPropа?
Johnmen (2005-07-18 12:17:00) [72]dbiSetProp + F1
evvcom (2005-07-18 12:13:00) [73]Тогда уж лучше добавить в таблицу поле с именем Deleted. По нему и запросы можно будет строить и физического удаления не будет. Всегда можно выяснить существовали ли такие данные, и кто "удалил". Имхо.
АМБ (2005-07-18 12:09:00) [74]
> Anatoly Podgoretsky
Спасибо за подсказку. А то я не понял где искать. По инерции думал, что это неизвестное мне свойство TTable или DBGrid-a
Еще раз спасибо.
Anatoly Podgoretsky (2005-07-18 11:52:00) [75]Можно и подробнее и с примером, который приведен в справке, но это будет верхом невежливости по отношению к другим, копировать примеры из справки.
Так что попробуй немного и сам поработать.
АМБ (2005-07-18 11:50:00) [76]
> Anatoly Podgoretsky
А нельзя ли немного поподробнее. А если можно, то и с примером.
А то, что-то не понятно...:-(
Anatoly Podgoretsky (2005-07-18 11:32:00) [77]АМБ (18.07.05 11:15)
dbiSetProp
Val (2005-07-18 11:32:00) [78]>АМБ (18.07.05 11:15)
компоненты доступа? если - БДЕ, то тут недавно был пример Подгорецкого с исп. БДЕ-API.
ЮЮ (2005-07-18 11:24:00) [79]А что будешь делать, когда на сервер перейдешь?
Умерла так умерла.
Если кто-то удалил нужные данные, пусть садится в выходные и вбивает заново :)