![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с открытием таблици [D5, D6, dBase, FoxPro]
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]Есть какието еще варианты???