Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Просмотр и восстановление "удаленных" записей в DBF таблицах [D7, dBase, FoxPro]


Страницы:   1 2 3 4

АМБ ©   (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]

А что будешь делать, когда на сервер перейдешь?
Умерла так умерла.
Если кто-то удалил нужные данные, пусть садится в выходные и вбивает заново :)


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо