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

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

Проблема с открытием таблици [D5, D6, dBase, FoxPro]


Страницы:   1 2

SZap ©   (2003-02-26 19:14:00) 

Есть некая dbf таблица, при открытии ее Delphi ругается "не могу найти индекс"...
На сколько я понимаю, гдето в нутрях dbf прописано, что для этой таблици сужествует индекс...
У меня этого индекса нет, да и ненужен он мне...
Подскажите пожалуйста:
- как мне открыть эту таблицу? (програмно)
- можно ли из этого dbf удалить информацию о индексах?


SZap   (2003-03-06 13:31:00) [1]

>Anatoly Podgoretsky
:) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
по поводу: "копировать и удалять файлы" это тоже вопрос, как скопировать файл из под Delphi (хотя это уже другой вопрос)...


Anatoly Podgoretsky   (2003-03-06 12:20:00) [2]

SZap (06.03.03 09:25)
Если воспользуешься хакерскими советами то жди неприятностей в порчей, надежный путь тебе указан, этим же путем пользуется и Database Desktop. Код примера не жди, это наглость просить скопировать код из хелпа, это твое домашнее задание научиться работать с Виндоус, копировать и вставлять тексты, копировать и удалять файлы, звапускать и закрывать программы и т.д.


SZap   (2003-03-06 11:15:00) [3]

>sniknik
Спасибо большое, извените идиота, в рот положили а не разжевали...

Спасибо всем кто отвечал...


sniknik   (2003-03-06 10:54:00) [4]

правильное решение (2 варианта) и неправильное тебе давно подсказали, но до сих пор ждеш. вот я решил код нужен. и вот этот пост SZap (05.03.03 16:36) добавил уверенности (Анатолий который для тебя функцию вспомнил спасиба не удостоился).

ладно это я так. продолжим. (хотя сейчас повторять буду см. Anatoly Podgoretsky © (03.03.03 16:45) но другими словами).
береш текст -> dbiRegisterCallback переносиш в редактор дельфей, ставиш курсор на этот текст, нажимаеш Ctrl (держиш) и нажимаеш F1 - открывается хелп по нему, видиш ->
Example 1: Create a callback that handles the condition of a missing .MDXfile for a dBASE file or a missing .CDXfile for a FoxPro file: { - Код вызова, пример - }
чего еще? или тебе сюда и код скопировать? Пара копирований и пара проб и все у тебя заработает (уверен, хотя сам этим никогда не пользовался, можеш считать это предубеждением)


SZap   (2003-03-06 09:25:00) [5]

>sniknik
ты немного неправ, нужно правильное решение, выраженное готовым кодом...
Если кто нибыдь поделится примером работы с dbiRegisterCallback, буду премного благодарен...


sniknik   (2003-03-05 16:46:00) [6]

???????? в итоге оказывается нужно было не правильное решение, а готовый код? ???????

кстати данный код чреват глюками (перекрываются зарезервированные байты, 29 точно знаю в фоксе используется)


SZap   (2003-03-05 16:36:00) [7]

>>Ditrix
Спасибо...


Ditrix   (2003-03-03 18:05:00) [8]

функция прописывает нули в заголовок dbf файла и он свободен для открытия

function OpenDBF(aFName: string): byte;
var ccode, cnt, smb: byte;
f: file of byte;
begin
ccode:= 1;
smb:= 0;
Assign(f, aFName);
{$I-}
Reset(f);
for cnt:= 15 to 31 do begin
seek(f,cnt); write(f,smb);
end;
Close(f);
if IOResult <> 0 then ccode:= 0;
{$I+}
OpenDBF:= ccode;
end; // OpenDBF


Anatoly Podgoretsky   (2003-03-03 16:45:00) [9]

Рассказываю, в хелпе нажимаешь левую кнопку и тянешь мышко до конца текста (не отпуская), затем Ctrl+C, открываешь редактор и в нем Ctrl+V (в нужном месте конечно).

Потренируйся и если не получится, то придешь и подробно опишесь свои шаги.

Но мне кажется, тебе еще рано с компьютером работать.


SZap   (2003-03-03 16:39:00) [10]

>>Anatoly Podgoretsky
может ты и прав...
а может я не такой умный как ты :(


Anatoly Podgoretsky   (2003-03-03 16:32:00) [11]

А ты ленивый Парамоша


SZap   (2003-03-03 16:28:00) [12]

Хорошо, убедили...
а может кто нибудь показать пример кода, как работать с dbiRegisterCallback ???


Anatoly Podgoretsky   (2003-02-27 13:41:00) [13]

SZap (27.02.03 09:33)
dbiRegisterCallback
остальные методы хакерские и опасные


sniknik   (2003-02-27 12:34:00) [14]

SZap (27.02.03 12:23)
ну тоды я тебя разочарую, других способов нет, может только замаскированные, а на самом деле способ единственный открываеш таблицу исправляеш байт, все. Кто это будет делать неважно.


SZap   (2003-02-27 12:33:00) [15]

gek> индексы не рушатся, их просто у меня нет, файл dbf лежит на сервере, а индексы у юзеров на компах...


gek   (2003-02-27 12:29:00) [16]


> (копировала в нужное место, удаляла информацию о индексе,
> ну и все остальное, что от нее требуется)

Ну а зачем индексы то удалять?
если каждый час рушатся индексы, тут что-то не так.


SZap   (2003-02-27 12:23:00) [17]

sniknik> нет, все предложенное меня неустраивает...
gek> это тоже, что и с помощью Database Desktop...

у меня программа использует чужую таблицу, обновляется она примерно раз в час, каждый раз использовать какието утилиты устать можно, хочу, чтобы программа сама все делала (копировала в нужное место, удаляла информацию о индексе, ну и все остальное, что от нее требуется)


gek   (2003-02-27 12:10:00) [18]

Есть на сайте Борланд"a специальная утилита для восстановления порушенных таблиц. Вот ее и надо искать


sniknik   (2003-02-27 12:10:00) [19]

Тебе трех недостаточно? хотябы одним сделай. Или компонент нужен который будет признак снимать? ;(


SZap   (2003-02-27 12:06:00) [20]

Есть какието еще варианты???


Страницы:   1 2

Наверх

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